Interface | Description |
---|---|
BamCache<SignatureT extends Signature> |
Generic interface for the BAM cache, where the blocks represent a function identified with a
SignatureT . |
BamLocationDependent<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,AbstractStateT extends AbstractState & ProgramLocationDependent<CfaNodeT,CfaEdgeT,SignatureT>,SignatureT extends Signature> |
If the usage of an
AbstractState depends on the specific BAM cache entry it belongs to, it should implement
BamLocationDependent to link it to its source reached set. |
ExpandOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
This operator is used to recover the information discarded when entering a procedure block depending on the domain-specific analysis.
|
RebuildOperator |
This operator is used to avoid collision of program identifiers when returning from a procedure call.
|
ReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
This operator is used to discard unnecessary information when entering a procedure block depending on the domain-specific analysis (e.g.
|
Class | Description |
---|---|
BamCacheImpl<SignatureT extends Signature> |
A simple implementation of
BamCache where the cache is implemented as a HashMap . |
BamCpa<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
A
ConfigurableProgramAnalysis for inter-procedural analysis using block abstraction memoization as described in https://dl.acm.org/doi/pdf/10.1145/3368089.3409718 , which is defined
by a domain-dependent CpaWithBamOperators that adds three operators: reduce, expand, and rebuild. |
BamTransferRelation<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
This
TransferRelation extends an analysis inter-procedurally. |
BlockAbstraction |
A block abstraction is a summary of the analysis of a procedure call, represented by the set of reached abstract states and a waitlist of states that still need to be analyzed.
|
CpaWithBamOperators<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
A domain dependent analysis that can be wrapped with a
BamCpa to be extended inter-procedurally. |
NoOpRebuildOperator |
This
RebuildOperator returns the original AbstractState without performing any rebuilding. |
NoOpReduceOperator<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature> |
This
ReduceOperator returns the original AbstractState without performing any reduction. |