| Interface | Description |
|---|---|
| BamCache<ContentT extends AbstractState<ContentT>> |
Generic interface for the BAM cache, where the blocks represent a function identified with a
SignatureT. |
| BamLocationDependent<ContentT extends AbstractState<ContentT>> |
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<ContentT extends AbstractState<ContentT>> |
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<ContentT extends AbstractState<ContentT>> |
This operator is used to discard unnecessary information when entering a procedure block
depending on the domain-specific analysis (e.g.
|
| Class | Description |
|---|---|
| BamCacheImpl<ContentT extends AbstractState<ContentT>> |
A simple implementation of
BamCache where the cache is implemented as a HashMap. |
| BamCpa<ContentT extends AbstractState<ContentT>> |
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<ContentT extends AbstractState<ContentT>> |
This
TransferRelation extends an analysis inter-procedurally. |
| BlockAbstraction<ContentT extends AbstractState<ContentT>> |
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<ContentT extends AbstractState<ContentT>> |
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<ContentT extends AbstractState<ContentT>> |
This
ReduceOperator returns the original AbstractState without performing any
reduction. |