Package it.unive.lisa.interprocedural
Class BackwardModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>>
- java.lang.Object
-
- it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis<A>
-
- Type Parameters:
A- theAbstractStateof the analysis
- All Implemented Interfaces:
it.unive.lisa.interprocedural.InterproceduralAnalysis<A>
public class BackwardModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>> extends java.lang.Object implements it.unive.lisa.interprocedural.InterproceduralAnalysis<A>A worst case modular analysis were all cfg calls are treated as open calls.
-
-
Constructor Summary
Constructors Constructor Description BackwardModularWorstCaseAnalysis()Builds the interprocedural analysis.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfixpoint(it.unive.lisa.analysis.AnalysisState<A> entryState, java.lang.Class<? extends it.unive.lisa.util.collections.workset.WorkingSet<it.unive.lisa.program.cfg.statement.Statement>> fixpointWorkingSet, it.unive.lisa.conf.FixpointConfiguration conf)it.unive.lisa.analysis.AnalysisState<A>getAbstractResultOf(it.unive.lisa.program.cfg.statement.call.CFGCall call, it.unive.lisa.analysis.AnalysisState<A> entryState, it.unive.lisa.analysis.lattices.ExpressionSet[] parameters, it.unive.lisa.analysis.StatementStore<A> expressions)it.unive.lisa.analysis.AnalysisState<A>getAbstractResultOf(it.unive.lisa.program.cfg.statement.call.OpenCall call, it.unive.lisa.analysis.AnalysisState<A> entryState, it.unive.lisa.analysis.lattices.ExpressionSet[] parameters, it.unive.lisa.analysis.StatementStore<A> expressions)java.util.Collection<it.unive.lisa.analysis.AnalyzedCFG<A>>getAnalysisResultsOf(it.unive.lisa.program.cfg.CFG cfg)it.unive.lisa.interprocedural.FixpointResults<A>getFixpointResults()voidinit(it.unive.lisa.program.Application app, it.unive.lisa.interprocedural.callgraph.CallGraph callgraph, it.unive.lisa.interprocedural.OpenCallPolicy policy)booleanneedsCallGraph()it.unive.lisa.program.cfg.statement.call.Callresolve(it.unive.lisa.program.cfg.statement.call.UnresolvedCall call, java.util.Set<it.unive.lisa.type.Type>[] types, it.unive.lisa.analysis.symbols.SymbolAliasing aliasing)
-
-
-
Method Detail
-
needsCallGraph
public boolean needsCallGraph()
-
fixpoint
public void fixpoint(it.unive.lisa.analysis.AnalysisState<A> entryState, java.lang.Class<? extends it.unive.lisa.util.collections.workset.WorkingSet<it.unive.lisa.program.cfg.statement.Statement>> fixpointWorkingSet, it.unive.lisa.conf.FixpointConfiguration conf) throws it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
getAnalysisResultsOf
public java.util.Collection<it.unive.lisa.analysis.AnalyzedCFG<A>> getAnalysisResultsOf(it.unive.lisa.program.cfg.CFG cfg)
-
getAbstractResultOf
public it.unive.lisa.analysis.AnalysisState<A> getAbstractResultOf(it.unive.lisa.program.cfg.statement.call.CFGCall call, it.unive.lisa.analysis.AnalysisState<A> entryState, it.unive.lisa.analysis.lattices.ExpressionSet[] parameters, it.unive.lisa.analysis.StatementStore<A> expressions) throws it.unive.lisa.analysis.SemanticException
-
getAbstractResultOf
public it.unive.lisa.analysis.AnalysisState<A> getAbstractResultOf(it.unive.lisa.program.cfg.statement.call.OpenCall call, it.unive.lisa.analysis.AnalysisState<A> entryState, it.unive.lisa.analysis.lattices.ExpressionSet[] parameters, it.unive.lisa.analysis.StatementStore<A> expressions) throws it.unive.lisa.analysis.SemanticException
-
init
public void init(it.unive.lisa.program.Application app, it.unive.lisa.interprocedural.callgraph.CallGraph callgraph, it.unive.lisa.interprocedural.OpenCallPolicy policy) throws it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
resolve
public it.unive.lisa.program.cfg.statement.call.Call resolve(it.unive.lisa.program.cfg.statement.call.UnresolvedCall call, java.util.Set<it.unive.lisa.type.Type>[] types, it.unive.lisa.analysis.symbols.SymbolAliasing aliasing) throws it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
-