Uses of Class
qilin.core.pag.AllocNode
Packages that use AllocNode
Package
Description
Points-to analysis graph (PAG) data structures, based on Soot/jimple/spark/pag with significant
modifications.
Points-to set data structures reused from Spark in Soot, with plans for more memory-efficient
replacements in the future.
-
Uses of AllocNode in qilin.core
Fields in qilin.core declared as AllocNodeMethods in qilin.core that return AllocNodeMethods in qilin.core with parameters of type AllocNodeModifier and TypeMethodDescriptionCorePTA.createCalleeContext(ContextMethod caller, AllocNode receiverNode, CallSite callSite, SootMethod target) abstract ContextPTA.createCalleeContext(ContextMethod caller, AllocNode receiverNode, CallSite callSite, SootMethod target) CorePTA.parameterize(AllocNode node, Context context) PTA.reachingObjectsInternal(AllocNode heap, SparkField f) -
Uses of AllocNode in qilin.core.builder
Methods in qilin.core.builder with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidCallGraphBuilder.dispatch(AllocNode receiverNode, VirtualCallSite site) voidExceptionHandler.dispatch(AllocNode throwObj, ExceptionThrowSite site) -
Uses of AllocNode in qilin.core.context
Methods in qilin.core.context with parameters of type AllocNodeModifier and TypeMethodDescriptionstatic TypeContextElementTypeContextElement.getTypeContextElement(AllocNode a) -
Uses of AllocNode in qilin.core.pag
Subclasses of AllocNode in qilin.core.pagModifier and TypeClassDescriptionclassRepresents an allocation site node the represents a known java.lang.Class object.classclassclassAn allocation site standing in for the object aLambdaMetafactory-bootstrapped invokedynamic call site produces (a lambda or method reference).classRepresents an allocation site node the represents a constant string.Fields in qilin.core.pag with type parameters of type AllocNodeModifier and TypeFieldDescriptionPAG.allocPAG.allocInvprotected ArrayNumberer<AllocNode>protected final Map<AllocNode,Map<Context, ContextAllocNode>> PAG.valToAllocNodeMethods in qilin.core.pag that return AllocNodeModifier and TypeMethodDescriptionAllocNode.base()ContextAllocNode.base()PAG.findAllocNode(Object obj) PAG.getAllocNode(Object val) ContextField.getBase()PAG.makeAllocNode(Object newExpr, Type type, SootMethod m) PAG.makeClassConstantNode(ClassConstant cc) PAG.makeStringConstantNode(StringConstant sc) Methods in qilin.core.pag that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionPAG.allocInvLookup(VarNode key) PAG.getAlloc()PAG.getAllocNodeNumberer()PAG.getAllocNodes()PAG.getContextAllocNodeMap()Methods in qilin.core.pag with parameters of type AllocNodeModifier and TypeMethodDescriptionPAG.allocLookup(AllocNode key) PAG.makeContextAllocNode(AllocNode allocNode, Context context) Finds or creates the ContextAllocNode for base alloc site and context.Parameterizer.parameterize(AllocNode node, Context context) Constructors in qilin.core.pag with parameters of type AllocNode -
Uses of AllocNode in qilin.core.solver
Methods in qilin.core.solver with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidSolver.propagatePTS(ValNode pointer, AllocNode heap) -
Uses of AllocNode in qilin.parm.heapabstraction
Methods in qilin.parm.heapabstraction that return AllocNodeModifier and TypeMethodDescriptionAllocSiteAbstractor.abstractHeap(AllocNode heap) HeapAbstractor.abstractHeap(AllocNode heap) HeuristicAbstractor.abstractHeap(AllocNode heap) MahjongAbstractor.abstractHeap(AllocNode heap) Methods in qilin.parm.heapabstraction with parameters of type AllocNodeModifier and TypeMethodDescriptionAllocSiteAbstractor.abstractHeap(AllocNode heap) HeapAbstractor.abstractHeap(AllocNode heap) HeuristicAbstractor.abstractHeap(AllocNode heap) MahjongAbstractor.abstractHeap(AllocNode heap) -
Uses of AllocNode in qilin.parm.select
Methods in qilin.parm.select with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.bean
Fields in qilin.pta.toolkits.bean with type parameters of type AllocNodeModifier and TypeFieldDescriptionprotected Map<Pair<ContextElements,AllocNode>, Set<Pair<ContextElements, AllocNode>>> ContextSelector.allocationprotected Map<Pair<ContextElements,AllocNode>, Set<Pair<ContextElements, AllocNode>>> ContextSelector.allocationprotected Map<AllocNode,Set<ContextElements>> ContextSelector.contextMapMethods in qilin.pta.toolkits.bean that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionContextSelector.allocatedBy(ContextElements ctx, AllocNode heap) Methods in qilin.pta.toolkits.bean with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidContextSelector.addAllocation(ContextElements ctx, AllocNode heap, ContextElements newContext, AllocNode succ) ContextSelector.allocatedBy(ContextElements ctx, AllocNode heap) ContextSelector.contextsOf(AllocNode heap) -
Uses of AllocNode in qilin.pta.toolkits.common
Fields in qilin.pta.toolkits.common with type parameters of type AllocNodeModifier and TypeFieldDescriptionOAG.nodesOAG.predecessorsOAG.predecessorsprotected Collection<AllocNode>OAG.rootNodesOAG.successorsOAG.successorsprotected Collection<AllocNode>OAG.tailNodesMethods in qilin.pta.toolkits.common that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionOAG.allNodes()FieldPointstoGraph.getAllObjs()OAG.getPredsOf(AllocNode n) OAG.getSuccsOf(AllocNode n) FieldPointstoGraph.pointedBy(AllocNode obj, SparkField field) FieldPointstoGraph.pointsTo(AllocNode baseObj, SparkField field) OAG.rootNodes()OAG.tailNodes()Methods in qilin.pta.toolkits.common with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidprotected voidAdd a directed object allocation edge to the OAG.intOAG.getInDegreeOf(AllocNode n) OAG.getPredsOf(AllocNode n) OAG.getSuccsOf(AllocNode n) booleanFieldPointstoGraph.hasFieldPointer(AllocNode obj, SparkField field) FieldPointstoGraph.inFieldsOf(AllocNode obj) FieldPointstoGraph.outFieldsOf(AllocNode baseObj) FieldPointstoGraph.pointedBy(AllocNode obj, SparkField field) FieldPointstoGraph.pointsTo(AllocNode baseObj, SparkField field) booleanConstructor parameters in qilin.pta.toolkits.common with type arguments of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.conch
Fields in qilin.pta.toolkits.conch with type parameters of type AllocNodeModifier and TypeFieldDescriptionprotected final Map<AllocNode,Set<SootMethod>> AbstractConch.invokedMethodsMaps each allocation node to the set of methods invoked on it.protected final Map<AllocNode,Set<SparkField>> AbstractConch.o2fsMaps each allocation node to the set of fields accessed on it.AbstractConch.o2nonThisFLoadsMaps each allocation node to non-this field loads: field → load_base nodes.AbstractConch.o2nonThisFStoresMaps each allocation node to non-this field stores: field → (store_base, source).protected final Map<SootMethod,Map<Stmt, AllocNode>> AbstractPAG.symbolicHeapsMethods in qilin.pta.toolkits.conch that return AllocNodeModifier and TypeMethodDescriptionprotected AllocNodeAbstractPAG.getSymbolicHeapOf(SootMethod method, Stmt invokeStmt) Methods in qilin.pta.toolkits.conch that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionConch.ctxDependentHeaps2()Conch.ctxIndenpendentHeaps()CSDG.noOutDegreeNodes()Methods in qilin.pta.toolkits.conch with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidAbstractPAG.addNewEdge(AllocNode from, LocalVarNode to) protected voidDepOnParamAnalysis.addNewEdge(AllocNode from, LocalVarNode to) protected voidLeakAnalysis.addNewEdge(AllocNode from, LocalVarNode to) protected booleanAbstractConch.emptyFieldPts(AllocNode heap, SparkField field) Returns true if the points-to set for the given field on the given heap node is empty.protected booleanAbstractConch.hasLoadOn(AllocNode heap, SparkField field) Returns true if the given field of the given heap node has at least one load operation.protected booleanAbstractConch.hasStoreOn(AllocNode heap, SparkField field) Returns true if the given field of the given heap node has at least one store operation.booleanLeakAnalysis.isLeakObject(AllocNode heap) voidCSDG.removeNode(AllocNode to) -
Uses of AllocNode in qilin.pta.toolkits.dd
Methods in qilin.pta.toolkits.dd with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.debloaterx
Fields in qilin.pta.toolkits.debloaterx with type parameters of type AllocNodeModifier and TypeFieldDescriptionDebloaterX.containerFactoryDebloaterX.containerWrapperCollectionHeuristic.ctxDepHeapsDebloaterX.ctxDepHeapsDebloaterX.innerContainerprotected final Map<SootMethod,Set<AllocNode>> XUtility.m2receiverObjectsprotected final Map<AllocNode,Set<SparkField>> XUtility.o2Fieldsprotected final Map<AllocNode,HeapContainerQuery> XUtility.o2HCQprotected final Map<AllocNode,Set<SootMethod>> XUtility.o2InvokedMethodsXUtility.o2nonThisFLoadsXUtility.o2nonThisFStoresMethods in qilin.pta.toolkits.debloaterx that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionCollectionHeuristic.getContextDepHeaps()DebloaterX.getContextDepHeaps()XUtility.getReceiverObjects(SootMethod method) Methods in qilin.pta.toolkits.debloaterx with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidXPAG.addNewEdge(AllocNode from, LocalVarNode to) XUtility.getInvokedMethods(AllocNode heap) booleanXUtility.hasNonThisLoadFromField(AllocNode heap, SparkField field) booleanXUtility.hasNonThisStoreOnField(AllocNode heap, SparkField field) booleanContainerFinder.isAContainer(AllocNode heap) booleanIntraFlowAnalysis.isContentFromParam(AllocNode heap) booleanIntraFlowAnalysis.isDirectlyReturnedHeap(AllocNode heap) IntraFlowAnalysis.retrieveStoreFields(AllocNode heap) Constructors in qilin.pta.toolkits.debloaterx with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.eagle
Methods in qilin.pta.toolkits.eagle with parameters of type AllocNodeModifier and TypeMethodDescriptionvoidEagle.addHloadEdge(AllocNode baseObj, Object to) voidEagle.addHstoreEdge(Object from, AllocNode baseObj) voidEagle.addNewEdge(AllocNode from, LocalVarNode to) protected voidEagle.addParamEdges(AllocNode o, LocalVarNode thisRef, LocalVarNode[] parms, LocalVarNode mret, LocalVarNode mThrow) -
Uses of AllocNode in qilin.pta.toolkits.mahjong
Methods in qilin.pta.toolkits.mahjong that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionHeapAbstraction.computeMergedObjectMap()HeapAbstraction.computeMergedObjectMap()Method parameters in qilin.pta.toolkits.mahjong with type arguments of type AllocNodeModifier and TypeMethodDescriptionstatic voidMahjong.outputStatistics(FieldPointstoGraph fpg, Map<AllocNode, AllocNode> mom) static voidMahjong.outputStatistics(FieldPointstoGraph fpg, Map<AllocNode, AllocNode> mom) -
Uses of AllocNode in qilin.pta.toolkits.mahjong.automata
Methods in qilin.pta.toolkits.mahjong.automata that return AllocNodeMethods in qilin.pta.toolkits.mahjong.automata that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionDFAState.getObjects()NFA.getStates()This method on-the-fly computes set of states.NFA.nextStates(AllocNode obj, SparkField f) Methods in qilin.pta.toolkits.mahjong.automata with parameters of type AllocNodeModifier and TypeMethodDescriptionbooleanNFA.isDeadState(AllocNode obj) NFA.nextStates(AllocNode obj, SparkField f) NFA.outEdgesOf(AllocNode obj) Constructors in qilin.pta.toolkits.mahjong.automata with parameters of type AllocNodeConstructor parameters in qilin.pta.toolkits.mahjong.automata with type arguments of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.moon
Methods in qilin.pta.toolkits.moon that return types with arguments of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.moon.graph
Methods in qilin.pta.toolkits.moon.graph that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionFieldPointsToGraph.getFieldPointsFrom(AllocNode obj) FieldPointsToGraph.getFieldPointsTo(AllocNode baseObj) FieldPointsToGraph.getFieldPointsTo(AllocNode baseObj, SparkField field) Methods in qilin.pta.toolkits.moon.graph with parameters of type AllocNodeModifier and TypeMethodDescriptionvoidFieldPointsToGraph.addFieldPointsToGraph(AllocNode baseObj, SparkField field, AllocNode obj) FieldPointsToGraph.getAllFieldsOf(AllocNode baseObj) FieldPointsToGraph.getFieldPointsFrom(AllocNode obj) FieldPointsToGraph.getFieldPointsTo(AllocNode baseObj) FieldPointsToGraph.getFieldPointsTo(AllocNode baseObj, SparkField field) booleanFieldPointsToGraph.hasFieldPointsTo(AllocNode baseObj, AllocNode obj) -
Uses of AllocNode in qilin.pta.toolkits.moon.objcollection
Methods in qilin.pta.toolkits.moon.objcollection that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionObjCollector.analyze(List<com.google.common.collect.SetMultimap<AllocNode, TraversalResult>> traversalResults) Methods in qilin.pta.toolkits.moon.objcollection with parameters of type AllocNodeMethod parameters in qilin.pta.toolkits.moon.objcollection with type arguments of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.moon.support
Fields in qilin.pta.toolkits.moon.support with type parameters of type AllocNodeModifier and TypeFieldDescriptionprotected final com.google.common.collect.SetMultimap<AllocNode,SparkField> ContainerCollector.containerToFieldsprotected final com.google.common.collect.SetMultimap<SparkField,AllocNode> FieldRecorder.fieldToBaseObjsprotected final com.google.common.collect.SetMultimap<AllocNode,LocalVarNode> FieldFlowRecorder.objToArgOfInvokeMethodsprotected final com.google.common.collect.SetMultimap<AllocNode,SparkField> FieldRecorder.objToFieldsprotected final ConcurrentTwoKeyMultiMap<AllocNode,SparkField, VarNode> FieldFlowRecorder.objToNonThisFieldLoadprotected final ConcurrentTwoKeyMultiMap<AllocNode,SparkField, VarNode> FieldFlowRecorder.objToNonThisFieldStoreMethods in qilin.pta.toolkits.moon.support that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionMoonDataConstructor.MoonDataStructure.containers()Returns the value of thecontainersrecord component.com.google.common.collect.SetMultimap<SootMethod,AllocNode> MoonDataConstructor.MoonDataStructure.mthToRecvObj()Returns the value of themthToRecvObjrecord component.com.google.common.collect.SetMultimap<AllocNode,SootMethod> MoonDataConstructor.MoonDataStructure.objToIvkMtds()Returns the value of theobjToIvkMtdsrecord component.Methods in qilin.pta.toolkits.moon.support with parameters of type AllocNodeModifier and TypeMethodDescriptionbooleanFieldRecorder.hasLoad(LocalVarNode var, AllocNode obj) booleanFieldRecorder.hasStore(LocalVarNode var, AllocNode obj) booleanFieldFlowRecorder.isConnceredField(AllocNode heap, SparkField field) voidFieldRecorder.recordObjToField(AllocNode obj, SparkField field) Method parameters in qilin.pta.toolkits.moon.support with type arguments of type AllocNodeConstructor parameters in qilin.pta.toolkits.moon.support with type arguments of type AllocNodeModifierConstructorDescriptionFieldFlowRecorder(PTA pta, FieldRecorder fieldRecorder, VFG vfgForHeap, com.google.common.collect.SetMultimap<AllocNode, SootMethod> objToInvokeMethods) MoonDataStructure(OAG oag, VFG vfgForField, VFG vfgForObj, FieldRecorder fieldRecorder, FieldFlowRecorder fieldFlowRecorder, com.google.common.collect.SetMultimap<SootMethod, AllocNode> mthToRecvObj, KeyTypeCollector keyTypeCollector, com.google.common.collect.SetMultimap<AllocNode, SootMethod> objToIvkMtds, Set<LocalVarNode> allocVars, Set<AllocNode> containers, PtrSetCache ptrSetCache, FieldPointsToGraph fieldPointsToGraph, PAG pag) Creates an instance of aMoonDataStructurerecord class. -
Uses of AllocNode in qilin.pta.toolkits.moon.traversal
Methods in qilin.pta.toolkits.moon.traversal that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionTraversalResult.getAllNewlyAllocObjs()TraversalResult.getMatchedContextObjsOfParam(int index) TraversalResult.getMatchedContextObjsOfThis(int index) TraversalResult.getNewlyAllocObjs(int index) com.google.common.collect.SetMultimap<AllocNode,LocalVarNode> TraversalInitializer.initializeObjToVarMap()List<com.google.common.collect.SetMultimap<AllocNode,TraversalResult>> VFGTraversal.traverse(com.google.common.collect.SetMultimap<AllocNode, LocalVarNode> objToBaseVar) Methods in qilin.pta.toolkits.moon.traversal with parameters of type AllocNodeModifier and TypeMethodDescriptionvoidTraversalResult.addNewlyAllocObj(AllocNode newlyAllocObj, int index) StoredVarTraverser.findSourceOfVarStoredIn(AllocNode obj, LocalVarNode varStored, int maxAllocLayerToTrace, SparkField storedField) booleanTraversalInitializer.hasMultiContext(AllocNode obj) booleanTraversalResult.hasSpecificContextObj(AllocNode ctxObj) booleanTraversalResult.hasSpecificNewlyAllocObj(AllocNode newlyAllocObj) Method parameters in qilin.pta.toolkits.moon.traversal with type arguments of type AllocNodeModifier and TypeMethodDescriptionvoidTraversalResult.addMatchedContextObjsByThisAsParam(Set<AllocNode> matchedContextObjsOfThis, int index) voidTraversalResult.addMatchedContextObjsOfParam(Set<AllocNode> matchedContextObjsOfParam, int index) booleanTraversalResult.hasAnyOfNewlyAllocObjs(Set<AllocNode> newlyAllocObjs) List<com.google.common.collect.SetMultimap<AllocNode,TraversalResult>> VFGTraversal.traverse(com.google.common.collect.SetMultimap<AllocNode, LocalVarNode> objToBaseVar) -
Uses of AllocNode in qilin.pta.toolkits.selectx
Fields in qilin.pta.toolkits.selectx with type parameters of type AllocNodeMethods in qilin.pta.toolkits.selectx with parameters of type AllocNodeModifier and TypeMethodDescriptionvoidSelectx.addNewEdge(AllocNode from, LocalVarNode to) static OConstructors in qilin.pta.toolkits.selectx with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.turner
Fields in qilin.pta.toolkits.turner declared as AllocNodeFields in qilin.pta.toolkits.turner with type parameters of type AllocNodeModifier and TypeFieldDescriptionOCG.nodesprotected final Map<LocalVarNode,Set<AllocNode>> OCG.ptsMethods in qilin.pta.toolkits.turner with parameters of type AllocNodeModifier and TypeMethodDescriptionprotected voidAbstractMVFG.addCSLikelyEdge(AllocNode heap) protected voidAbstractMVFG.addNewEdge(AllocNode from, LocalVarNode to) booleanbooleanOCG.isCSLikely(AllocNode allocNode) booleanConstructors in qilin.pta.toolkits.turner with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.zipper.analysis
Methods in qilin.pta.toolkits.zipper.analysis with parameters of type AllocNode -
Uses of AllocNode in qilin.pta.toolkits.zipper.flowgraph
Methods in qilin.pta.toolkits.zipper.flowgraph that return types with arguments of type AllocNode -
Uses of AllocNode in qilin.pta.tools
Methods in qilin.pta.tools that return AllocNodeMethods in qilin.pta.tools with parameters of type AllocNodeModifier and TypeMethodDescriptionDebloatedPTA.createCalleeContext(ContextMethod caller, AllocNode receiverNode, CallSite callSite, SootMethod target) -
Uses of AllocNode in qilin.util
Methods in qilin.util that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionstatic Map<LocalVarNode,Set<AllocNode>> StaticThisPointsTo.calcStaticThisPTS(PTA pta) Methods in qilin.util with parameters of type AllocNodeModifier and TypeMethodDescriptionstatic ContextPagQueries.plusplusOp(AllocNode heap) Extends heap's context by one more element (heap itself), for object-sensitive analyses. -
Uses of AllocNode in qilin.util.sets
Methods in qilin.util.sets that return types with arguments of type AllocNodeModifier and TypeMethodDescriptionPointsToSet.iterator()UnmodifiablePointsToSet.iterator()PointsToSet.toCollection()UnmodifiablePointsToSet.toCollection()Methods in qilin.util.sets with parameters of type AllocNode