Package proguard.analysis.cpa.bam
Class BlockAbstraction<ContentT extends AbstractState<ContentT>>
- java.lang.Object
-
- proguard.analysis.cpa.bam.BlockAbstraction<ContentT>
-
- Type Parameters:
ContentT
- The content of the jvm states. For example, this can be aSetAbstractState
of taints for taint analysis or aValueAbstractState
for value analysis.
public class BlockAbstraction<ContentT extends AbstractState<ContentT>> extends java.lang.Object
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. The BAM CPA can save these abstractions in a cache and retrieve them when the same procedure is called with the same entryAbstractState
.
-
-
Constructor Summary
Constructors Constructor Description BlockAbstraction(ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> reachedSet, Waitlist<JvmAbstractState<ContentT>> waitlist)
Create a new block abstraction.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>>
getReachedSet()
Returns theReachedSet
of the block abstraction.Waitlist<JvmAbstractState<ContentT>>
getWaitlist()
Returns theWaitlist
of the block abstraction.
-
-
-
Constructor Detail
-
BlockAbstraction
public BlockAbstraction(ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> reachedSet, Waitlist<JvmAbstractState<ContentT>> waitlist)
Create a new block abstraction.- Parameters:
reachedSet
- a collection of discovered stateswaitlist
- a collection of states of the block that need to be analyzed
-
-
Method Detail
-
getReachedSet
public ProgramLocationDependentReachedSet<JvmAbstractState<ContentT>> getReachedSet()
Returns theReachedSet
of the block abstraction.
-
getWaitlist
public Waitlist<JvmAbstractState<ContentT>> getWaitlist()
Returns theWaitlist
of the block abstraction.
-
-