Class JvmTaintMemoryLocationBamCpaRun

    • Constructor Detail

      • JvmTaintMemoryLocationBamCpaRun

        protected JvmTaintMemoryLocationBamCpaRun​(JvmTaintBamCpaRun jvmTaintCpaRun,
                                                  SetAbstractState<JvmTaintSource> threshold,
                                                  java.util.Collection<? extends JvmTaintSink> taintSinks,
                                                  AbortOperator memoryLocationAbortOperator,
                                                  java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        Create a traced taint CPA run.
        Parameters:
        jvmTaintCpaRun - an intraprocedural taint CPA run
        threshold - a cut-off threshold
        taintSinks - a collection of taint sinks
        memoryLocationAbortOperator - an abort operator for trace reconstruction
      • JvmTaintMemoryLocationBamCpaRun

        protected JvmTaintMemoryLocationBamCpaRun​(JvmCfa cfa,
                                                  java.util.Set<? extends JvmTaintSource> taintSources,
                                                  MethodSignature mainSignature,
                                                  int maxCallStackDepth,
                                                  HeapModel heapModel,
                                                  SetAbstractState<JvmTaintSource> threshold,
                                                  java.util.Collection<? extends JvmTaintSink> taintSinks,
                                                  AbortOperator abortOperator,
                                                  AbortOperator memoryLocationAbortOperator,
                                                  boolean reduceHeap,
                                                  MapAbstractStateFactory<java.lang.String,​SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory,
                                                  MapAbstractStateFactory<java.lang.String,​SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory,
                                                  MapAbstractStateFactory<java.lang.String,​SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory,
                                                  java.util.Map<MethodSignature,​JvmTaintTransformer> taintTransformers,
                                                  java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        Create a traced taint CPA run.
        Parameters:
        cfa - a CFA
        taintSources - a set of taint sources
        mainSignature - the main signature of the main method
        maxCallStackDepth - the maximum depth of the call stack analyzed interprocedurally. 0 means intraprocedural analysis. < 0 means no maximum depth.
        threshold - a cut-off threshold
        taintSinks - a collection of taint sinks
        abortOperator - an abort operator
        memoryLocationAbortOperator - an abort operator for trace reconstruction
        reduceHeap - whether reduction/expansion of the heap state is performed at call/return sites
        principalHeapMapAbstractStateFactory - a map abstract state factory used for constructing the mapping from references to objects in the principal heap model
        principalHeapNodeMapAbstractStateFactory - a map abstract state factory used for constructing the mapping from fields to values in the principal heap model
        followerHeapMapAbstractStateFactory - a map abstract state factory used for constructing the mapping from references to objects in the follower heap model
        followerHeapNodeMapAbstractStateFactory - a map abstract state factory used for constructing the mapping from fields to values in the follower heap model
        extraTaintPropagationLocations - maps calls to jvm memory locations which needs to get tainted after the call