Class CpaWithBamOperators<ContentT extends AbstractState<ContentT>>

  • Type Parameters:
    ContentT - The content of the jvm states. For example, this can be a SetAbstractState of taints for taint analysis or a ValueAbstractState for value analysis.
    All Implemented Interfaces:
    ConfigurableProgramAnalysis<JvmAbstractState<ContentT>>

    public class CpaWithBamOperators<ContentT extends AbstractState<ContentT>>
    extends SimpleCpa<JvmAbstractState<ContentT>>
    A domain dependent analysis that can be wrapped with a BamCpa to be extended inter-procedurally.

    Compared to a standard ConfigurableProgramAnalysis, this is extended with three operators:

    - The reduce operator discards from the entry abstract state of a procedure the unnecessary information (e.g. local variables of the caller).

    - The expand operator restores the removed information.

    - The rebuild operator avoids collision of program identifiers while returning from a procedure call (e.g. renaming variables).