Class TaintAnalyzer.Builder

  • Enclosing class:
    TaintAnalyzer

    public static class TaintAnalyzer.Builder
    extends java.lang.Object
    Class to configure and build a TaintAnalyzer.

    Each separate built TaintAnalyzer uses its own BamCache, so different analyzers won't share results.

    • Method Detail

      • setMaxCallStackDepth

        public TaintAnalyzer.Builder setMaxCallStackDepth​(int maxCallStackDepth)
        Set the max depth call depth of the inter-procedural analysis. After the max depth has been reached, the analysis will provide a default result for the method (i.e., in the same way LibraryMethods are usually not analyzed).

        The default value is 10.

        Parameters:
        maxCallStackDepth - maximum depth of the call stack analyzed inter-procedurally. 0 means intra-procedural analysis. < 0 means no maximum depth.
        Returns:
        this ValueAnalyzer builder.
      • setMemoryLocationAbortOperator

        public TaintAnalyzer.Builder setMemoryLocationAbortOperator​(AbortOperator memoryLocationAbortOperator)
        Sets the abort operator for premature trace reconstruction termination.
      • setExtraTaintPropagationLocations

        public TaintAnalyzer.Builder setExtraTaintPropagationLocations​(java.util.Map<Call,​java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
        Set a mapping from a call to the set of locations which should get tainted after the call invocation.