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
SemanticDomains (i.e., no exchange of information between the
abstract domains), assigning the same Identifiers and handling
instances of the same SymbolicExpressions.
|
| 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 Types, 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
NonRelationalValueDomains (i.e., no exchange of information between
the abstract domains), assigning the same Identifiers and handling
instances of the same SymbolicExpressions.
|
| 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 Types, 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 ValueDomains (i.e.,
no exchange of information between the abstract domains) assigning
Identifiers and handling ValueExpressions.
|