All Classes Interface Summary Class Summary Enum Summary
Class |
Description |
AllocationSite |
A heap identifier that track also the source location where it has been
allocated and a field (optional).
|
AllocationSites |
|
AvailableExpressions |
An implementation of the available expressions dataflow analysis, that
focuses only on the expressions that are stored into some variable.
|
CallGraphBasedAnalysis<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
An interprocedural analysis based on a call graph.
|
CartesianProduct<C extends CartesianProduct<C,T1,T2,E,I>,T1 extends it.unive.lisa.analysis.SemanticDomain<T1,E,I> & it.unive.lisa.analysis.Lattice<T1>,T2 extends it.unive.lisa.analysis.SemanticDomain<T2,E,I> & it.unive.lisa.analysis.Lattice<T2>,E extends it.unive.lisa.symbolic.SymbolicExpression,I extends it.unive.lisa.symbolic.value.Identifier> |
A generic Cartesian product abstract domain between two non-communicating
SemanticDomain s (i.e., no exchange of information between the
abstract domains), assigning the same Identifier s and handling
instances of the same SymbolicExpression s.
|
CFGResults<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
|
CHACallGraph |
A call graph constructed following the Class Hierarchy Analysis as defined
in: Frank Tip and Jens Palsberg.
|
ConstantPropagation |
An implementation of the overflow-insensitive constant propagation dataflow
analysis, that focuses only on integers.
|
ContextBasedAnalysis<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
A context sensitive interprocedural analysis.
|
ContextInsensitiveToken |
A context sensitive token that is always the same (aka, do not track any
information about the call stack).
|
ContextSensitivityToken |
A token for interprocedural analysis that tunes the level of context
sensitivity.
|
FieldSensitivePointBasedHeap |
A field-sensitive point-based heap implementation that abstracts heap
locations depending on their allocation sites, namely the position of the
code where heap locations are generated.
|
FixpointResults<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
|
InferredTypes |
An InferredValue holding a set of Type s, representing the
inferred runtime types of an Expression .
|
IntegerConstantPropagation |
The overflow-insensitive basic integer constant propagation abstract domain,
tracking if a certain integer value has constant value or not, implemented as
a BaseNonRelationalValueDomain , handling top and bottom values for
the expression evaluation and bottom values for the expression
satisfiability.
|
Interval |
The overflow-insensitive interval abstract domain, approximating integer
values as the minimum integer interval containing them.
|
LiSA |
This is the central class of the LiSA library.
|
LiSAConfiguration |
A holder for the configuration of a LiSA analysis.
|
LiSAConfiguration.GraphType |
The type of graphs that can be dumped by LiSA.
|
LiSAFactory |
An utility class for instantiating analysis components, that is, modular
pieces of the analysis that have several implementations.
|
LiSAFactory.ConfigurableComponent<T> |
An analysis component that can be configured, that is, it has more than
one implementation that can be modularly integrated into the analysis.
|
LiSARunner<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
An auxiliary analysis runner for executing LiSA analysis.
|
ModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A,H,V,T>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.value.TypeDomain<T>> |
A worst case modular analysis were all cfg calls are treated as open calls.
|
MonolithicHeap |
A monolithic heap implementation that abstracts all heap locations to a
unique identifier.
|
MonolithicHeap.Rewriter |
|
NonInterference |
The type-system based implementation of the non interference analysis.
|
NonRelationalValueCartesianProduct<C extends NonRelationalValueCartesianProduct<C,T1,T2>,T1 extends it.unive.lisa.analysis.nonrelational.value.NonRelationalValueDomain<T1>,T2 extends it.unive.lisa.analysis.nonrelational.value.NonRelationalValueDomain<T2>> |
A generic Cartesian product abstract domain between two non-communicating
NonRelationalValueDomain s (i.e., no exchange of information between
the abstract domains), assigning the same Identifier s and handling
instances of the same SymbolicExpression s.
|
Parity |
The overflow-insensitive Parity abstract domain, tracking if a numeric value
is even or odd, implemented as a BaseNonRelationalValueDomain ,
handling top and bottom values for the expression evaluation and bottom
values for the expression satisfiability.
|
PointBasedHeap |
A field-insensitive point-based heap implementation that abstracts heap
locations depending on their allocation sites, namely the position of the
code where heap locations are generated.
|
ReachingDefinitions |
An implementation of the reaching definition dataflow analysis.
|
RecursionFreeToken |
A context sensitive token representing an entire call chain up until a
recursion.
|
RTACallGraph |
A call graph constructed following the Rapid Type Analysis as defined in:
Frank Tip and Jens Palsberg.
|
Sign |
The basic overflow-insensitive Sign abstract domain, tracking zero, strictly
positive and strictly negative integer values, implemented as a
BaseNonRelationalValueDomain , handling top and bottom values for the
expression evaluation and bottom values for the expression satisfiability.
|
SingleScopeToken |
A context sensitive token representing a single ScopeToken .
|
StaticTypes |
An InferredValue holding a set of Type s, representing the
inferred runtime types of an Expression .
|
TypeBasedHeap |
A type-based heap implementation that abstracts heap locations depending on
their types, i.e., all the heap locations with the same type are abstracted
into a single unique identifier.
|
TypeBasedHeap.Rewriter |
|
ValueCartesianProduct<T1 extends it.unive.lisa.analysis.value.ValueDomain<T1>,T2 extends it.unive.lisa.analysis.value.ValueDomain<T2>> |
A Cartesian product between two non-communicating ValueDomain s (i.e.,
no exchange of information between the abstract domains) assigning
Identifier s and handling ValueExpression s.
|