All Classes Interface Summary Class Summary Enum Summary Exception Summary
| Class |
Description |
| AbstractState<H extends HeapDomain<H>,V extends ValueDomain<V>> |
An abstract state of the analysis, composed by a heap state modeling the
memory layout and a value state modeling values of program variables and
memory locations.
|
| AccessChild |
An expression that accesses a memory location that is a child of
another one, that is, the former is reachable from the latter.
|
| AdjacencyMatrix |
An adjacency matrix for a graph that has Statements as nodes and
Edges as edges.
|
| AnalysisException |
A generic Exception that indicates that something has gone wrong
during the analysis.
|
| AnalysisExecutionException |
A generic RuntimeException that indicates that something has gone
wrong during the analysis.
|
| AnalysisState<H extends HeapDomain<H>,V extends ValueDomain<V>> |
The abstract analysis state at a given program point.
|
| ArrayType |
Array type interface.
|
| Assignment |
A statement assigning the result of an expression to an assignable
expression.
|
| BaseHeapDomain<H extends BaseHeapDomain<H>> |
|
| BaseLattice<L extends BaseLattice<L>> |
A base implementation of the Lattice interface, handling base cases
of the methods exposed by that interface.
|
| BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> |
|
| BinaryExpression |
A binary expression.
|
| BinaryExpression |
|
| BinaryNativeCall |
|
| BinaryOperator |
|
| BooleanType |
Boolean type interface.
|
| BoolType |
An internal implementation of the BooleanType interface that can be
used by domains that need a concrete instance of that interface.
|
| Caches |
|
| Call |
A call to another procedure.
|
| CallGraph |
A callgraph of the program to analyze, that knows how to resolve dynamic
targets of UnresolvedCalls.
|
| CFG |
A control flow graph, that has Statements as nodes and Edges
as edges.
|
| CFG.SemanticFunction<H extends HeapDomain<H>,V extends ValueDomain<V>> |
|
| CFGCall |
A call to one or more of the CFGs under analysis.
|
| CFGDesccriptorWarning |
A warning reported by LiSA on the descriptor of one of the CFGs under
analysis.
|
| CFGDescriptor |
A descriptor of a CFG, containing the debug informations (source file, line,
column) as well as metadata.
|
| CFGWarning |
A warning reported by LiSA on one of the CFGs under analysis.
|
| CFGWithAnalysisResults<H extends HeapDomain<H>,V extends ValueDomain<V>> |
A control flow graph, that has Statements as nodes and Edges
as edges.
|
| CheckTool |
An auxiliary tool that can be used by checks during their execution.
|
| CollectionsDiffBuilder<T> |
An utility class that can compute the difference between two collections
containing the same object types.
|
| ConcurrentFIFOWorkingSet<E> |
A first-in, first-out working set.
|
| ConcurrentLIFOWorkingSet<E> |
A last-in, first-out working set.
|
| Constant |
A constant value.
|
| Counter |
A counter that logs to a given logger while progressing during the count.
|
| DotGraph |
A graph build from a CFG that can be dumped in dot format, together
with a legend.
|
| Edge |
An edge of a control flow graph, connecting two statements.
|
| Expression |
An expression that is part of a statement of the program.
|
| ExpressionStore<V extends Lattice<V>> |
A functional lattice that stores instances of Lattice computed on
intermediate expressions inside root statements.
|
| ExpressionWarning |
A warning reported by LiSA on an expression.
|
| ExternalSet<T> |
A set of elements that are stored externally from this set.
|
| ExternalSetCache<T> |
A cache for creating ExternalSets of the elements contained in this
cache.
|
| FalseEdge |
A sequential edge connecting two statements.
|
| FIFOWorkingSet<E> |
A first-in, first-out working set.
|
| FileManager |
A file manager that provides standard functionalities for communicating with
the file system.
|
| FixpointException |
An exception raised during the fixpoint computation.
|
| FunctionalLattice<F extends FunctionalLattice<F,K,V>,K,V extends Lattice<V>> |
A generic functional abstract domain that performs the functional lifting of
the lattice on the elements of the co-domain.
|
| HeapAllocation |
An allocation of a memory location.
|
| HeapDomain<D extends HeapDomain<D>> |
A semantic domain that can evaluate the semantic of statements that operate
on heap locations, and not on concrete values.
|
| HeapEnvironment<T extends NonRelationalHeapDomain<T>> |
|
| HeapExpression |
A symbolic expression that identifies a location in the program's heap.
|
| HeapIdentifier |
An identifier of a synthetic program variable that represents a resolved
memory location.
|
| HeapReference |
A reference to a memory location, identified by its name.
|
| HeapSemanticOperation |
A semantic operation on the heap state of the program, that rewrites
expressions and provides a substitution of the available identifiers.
|
| HeapSemanticOperation.HeapReplacement |
A replacement between Identifiers caused by a change in the heap
abstraction.
|
| Identifier |
An identifier of a program variable, representing either a program variable
(as an instance of ValueIdentifier), or a resolved memory location
(as an instance of HeapIdentifier).
|
| InferredTypes |
|
| IntraproceduralCallGraph |
An instance of CallGraph that does not handle interprocedurality.
|
| IntType |
An internal implementation of the NumericType interface that can be
used by domains that need a concrete instance for integer values.
|
| InverseSetLattice<S extends InverseSetLattice<S,E>,E> |
A generic inverse set lattice containing a set of elements.
|
| IterationLogger |
An utility class that allows automatic logging while iterating over elements
of a collection, stream or array.
|
| JsonReport |
A report of an executed analysis that can be dumped in json format, and that
can be read from a json file.
|
| JsonReport.JsonWarning |
A warning that is ready to dump into a JsonReport.
|
| JsonReportComparer |
A class providing capabilities for finding differences between two
JsonReports.
|
| JsonReportComparer.DiffReporter |
An object that provides callbacks for reporting differences when
comparing JsonReports.
|
| JsonReportComparer.REPORT_TYPE |
An enumeration defining the different type of reports that can be issued.
|
| JsonReportComparer.REPORTED_COMPONENT |
An enumeration defining the different components of a JsonReport,
in order to distinguish which one of them caused a difference being
reported.
|
| Lattice<L extends Lattice<L>> |
An interface for elements that follow a lattice structure.
|
| LIFOWorkingSet<E> |
A last-in, first-out working set.
|
| LiSA |
This is the central class of the LiSA library.
|
| Literal |
A literal, representing a constant value.
|
| MetaVariableCreator |
Objects implementing this interface will produce a meta-variable to represent
the value that they produce on the stack during the computation of their
semantic.
|
| MonolithicHeap |
A monolithic heap implementation that abstracts all heap locations to a
unique identifier.
|
| NativeCall |
A native call, modeling the usage of one of the native constructs of the
language.
|
| NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>> |
A non-relational domain, that is able to compute the value of a
SymbolicExpressions of type E by knowing the values of all
program variables.
|
| NonRelationalHeapDomain<T extends NonRelationalHeapDomain<T>> |
A non-relational heap domain, that is able to compute the value of a
SymbolicExpression by knowing the values of all program variables.
|
| NonRelationalValueDomain<T extends NonRelationalValueDomain<T>> |
A non-relational value domain, that is able to compute the value of a
ValueExpression by knowing the values of all program variables.
|
| NoOp |
A statement that does nothing.
|
| NullConstant |
A Constant that represent the null value.
|
| NullLiteral |
A literal representing the null constant.
|
| NullType |
The Null type, that is the type of {#link NullLiteral}.
|
| NumericType |
Numeric type interface.
|
| OpenCall |
A call to a CFG that is not under analysis.
|
| Operator |
|
| Parameter |
A reference to a CFG parameter identified by its name and its type,
containing the information about the source file, line and column where a
parameter appears.
|
| PointerType |
Pointer type interface.
|
| Ret |
Terminates the execution of the CFG where this statement lies, without
returning anything to the caller.
|
| Return |
Returns an expression to the caller CFG, terminating the execution of the CFG
where this statement lies.
|
| SemanticDomain<D extends SemanticDomain<D,E,I>,E extends SymbolicExpression,I extends Identifier> |
A domain able to determine how abstract information evolves thanks to the
semantics of statements and expressions.
|
| SemanticDomain.Satisfiability |
The satisfiability of an expression.
|
| SemanticException |
An exception that occurred during semantic computation.
|
| SequentialEdge |
A sequential edge connecting two statement.
|
| SetLattice<S extends SetLattice<S,E>,E> |
A generic set lattice containing a set of elements.
|
| Skip |
An expression that does nothing.
|
| Statement |
A statement of the program to analyze.
|
| StatementWarning |
A warning reported by LiSA on a statement.
|
| StringType |
String type interface.
|
| StringType |
An internal implementation of the StringType
interface that can be used by domains that need a concrete instance of that
interface.
|
| SymbolicExpression |
|
| SyntacticCheck |
A check that inspects the syntactic structure of the program to report
warnings about its structure.
|
| SyntacticChecksExecutor |
|
| TernaryExpression |
|
| TernaryOperator |
|
| Throw |
A statement that raises an error, stopping the execution of the current CFG
and propagating the error to among the call chain.
|
| TimeFormat |
Time formatting utility.
|
| TimerLogger |
An utility class that allows automatic logging of the execution time of a
method.
|
| TimerLogger.LoggableAction |
A Runnable executing a function with no arguments a no return
value.
|
| TimerLogger.LoggableBiConsumer<T0,T1> |
A Consumer consuming two arguments.
|
| TimerLogger.LoggableBiFunction<R,T0,T1> |
A Function consuming two arguments and producing one value.
|
| TimerLogger.LoggableConsumer<T0> |
A Consumer consuming one argument.
|
| TimerLogger.LoggableFunction<R,T0> |
A Function consuming one argument and producing one value.
|
| TimerLogger.LoggableMultiConsumer |
A Consumer consuming multiple arguments.
|
| TimerLogger.LoggableMultiFunction<R> |
A Function consuming multiple arguments and producing one value.
|
| TimerLogger.LoggablePentaConsumer<T0,T1,T2,T3,T4> |
A Consumer consuming five arguments.
|
| TimerLogger.LoggablePentaFunction<R,T0,T1,T2,T3,T4> |
A Function consuming five arguments and producing one value.
|
| TimerLogger.LoggableQuadConsumer<T0,T1,T2,T3> |
A Consumer consuming four arguments.
|
| TimerLogger.LoggableQuadFunction<R,T0,T1,T2,T3> |
A Function consuming four arguments and producing one value.
|
| TimerLogger.LoggableSupplier<R> |
A Supplier producing one element.
|
| TimerLogger.LoggableTriConsumer<T0,T1,T2> |
A Consumer consuming three arguments.
|
| TimerLogger.LoggableTriFunction<R,T0,T1,T2> |
A Function consuming three arguments and producing one value.
|
| TrueEdge |
A sequential edge connecting two statements.
|
| Type |
Type interface.
|
| TypeConversion |
|
| TypeEnvironment |
|
| UnaryExpression |
|
| UnaryNativeCall |
|
| UnaryOperator |
|
| UnresolvedCall |
A call that happens inside the program to analyze.
|
| Untyped |
The untyped type, corresponding to an unknown/untyped type.
|
| ValueDomain<D extends ValueDomain<D>> |
A semantic domain that can evaluate the semantic of statements that operate
on values, and not on memory locations.
|
| ValueEnvironment<T extends NonRelationalValueDomain<T>> |
|
| ValueExpression |
A symbolic expression that represents an operation on the program's state.
|
| ValueIdentifier |
An identifier of a real program variable.
|
| Variable |
A reference to a variable of the current CFG, identified by its name.
|
| VoidType |
The void type.
|
| Warning |
A warning reported by LiSA on the program under analysis.
|
| WarningWithLocation |
A warning reported by LiSA on the program under analysis.
|
| WorkingSet<E> |
A working set, containing items to be processed.
|