public interface BamCache<SignatureT extends Signature>
SignatureT. Along with the Cfa the signature
can be used to retrieve the block (i.e. the respective CFA subgraph) as described in the BAM paper.
A block abstraction is uniquely identified by a triple of an entry AbstractState (that may be call-context dependent, e.g. if the calling parameters or global variables are
different), the corresponding Precision, and the Signature of the function the block belongs to.
| Modifier and Type | Method and Description |
|---|---|
BlockAbstraction |
get(AbstractState stateKey,
Precision precisionKey,
SignatureT blockKey)
Gets the block abstraction identified by the provided keys from the cache.
|
void |
put(AbstractState stateKey,
Precision precisionKey,
SignatureT blockKey,
BlockAbstraction blockAbstraction)
Adds the block abstraction identified by the provided keys to the cache.
|
java.util.Collection<BlockAbstraction> |
values()
Returns block abstractions stored in the cache.
|
void put(AbstractState stateKey, Precision precisionKey, SignatureT blockKey, BlockAbstraction blockAbstraction)
BlockAbstraction get(AbstractState stateKey, Precision precisionKey, SignatureT blockKey)
java.util.Collection<BlockAbstraction> values()