A B C D E F G H I J L M N O P R S T U V W
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- AbstractState<H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
-
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.
- AbstractState(H, V) - Constructor for class it.unive.lisa.analysis.AbstractState
-
Builds a new abstract state.
- AccessChild - Class in it.unive.lisa.symbolic.heap
-
An expression that accesses a memory location that is a child of another one, that is, the former is reachable from the latter.
- AccessChild(ExternalSet<Type>, SymbolicExpression, SymbolicExpression) - Constructor for class it.unive.lisa.symbolic.heap.AccessChild
-
Builds the child access.
- add(T) - Method in class it.unive.lisa.util.collections.ExternalSet
- addAll(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Adds to this set all elements contained into
other
. - addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.ExternalSet
- addCFG(CFG) - Method in interface it.unive.lisa.callgraph.CallGraph
-
Adds a new cfg to this call graph.
- addCFG(CFG) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- addCFG(CFG) - Method in class it.unive.lisa.LiSA
-
Adds the given cfg to the ones under analysis.
- addCFGs(Collection<CFG>) - Method in class it.unive.lisa.LiSA
-
Adds the given cfgs to the ones under analysis.
- addEdge(Edge) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Adds an edge to this matrix.
- addEdge(Edge) - Method in class it.unive.lisa.cfg.CFG
-
Adds an edge to this control flow graph.
- addHeapDomain(T) - Method in class it.unive.lisa.LiSA
-
Adds a new
HeapDomain
to execute during the analysis. - addNode(Statement) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Adds the given node to the set of nodes.
- addNode(Statement) - Method in class it.unive.lisa.cfg.CFG
-
Adds the given node to the set of nodes, optionally setting that as root.
- addNode(Statement, boolean) - Method in class it.unive.lisa.cfg.CFG
-
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, reachable executable from other cfgs).
- addNonRelationalHeapDomain(T) - Method in class it.unive.lisa.LiSA
-
Adds a new
NonRelationalHeapDomain
to execute during the analysis. - addNonRelationalValueDomain(T) - Method in class it.unive.lisa.LiSA
-
Adds a new
NonRelationalValueDomain
to execute during the analysis. - addSource(Identifier) - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifier
to the set of identifiers that are the sources of this replacement. - addSyntacticCheck(SyntacticCheck) - Method in class it.unive.lisa.LiSA
-
Adds the given syntactic check to the ones that will be executed.
- addSyntacticChecks(Collection<SyntacticCheck>) - Method in class it.unive.lisa.LiSA
-
Adds the given syntactic checks to the ones that will be executed.
- addTarget(Identifier) - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifier
to the set of identifiers that are the targets of this replacement. - addValueDomain(T) - Method in class it.unive.lisa.LiSA
-
Adds a new
ValueDomain
to execute during the analysis. - AdjacencyMatrix - Class in it.unive.lisa.cfg
- AdjacencyMatrix() - Constructor for class it.unive.lisa.cfg.AdjacencyMatrix
-
Builds a new matrix.
- AdjacencyMatrix(AdjacencyMatrix) - Constructor for class it.unive.lisa.cfg.AdjacencyMatrix
-
Copies the given matrix by keeping the same edge
ExternalSetCache
, shallow-copying theStatement
s and deep-copying the values. - afterExecution(CheckTool) - Method in interface it.unive.lisa.checks.syntactic.SyntacticCheck
-
Callback invoked only once after the end of the inspection of the program.
- allMatch(Predicate<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields
true
iff all the elements contained in this set satisfy the given predicate. - AnalysisException - Exception in it.unive.lisa
-
A generic
Exception
that indicates that something has gone wrong during the analysis. - AnalysisException() - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(String) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(Throwable) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisExecutionException - Exception in it.unive.lisa
-
A generic
RuntimeException
that indicates that something has gone wrong during the analysis. - AnalysisExecutionException() - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisState<H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
-
The abstract analysis state at a given program point.
- AnalysisState(AbstractState<H, V>, SymbolicExpression) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(AbstractState<H, V>, Collection<SymbolicExpression>) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- and(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical and between this satisfiability and the given one.
- anyMatch(Predicate<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields
true
iff at least one element contained in this set satisfies the given predicate. - applySubstitution(List<HeapSemanticOperation.HeapReplacement>) - Method in interface it.unive.lisa.analysis.ValueDomain
-
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in the
HeapDomain
of the analysis. - ArrayType - Interface in it.unive.lisa.cfg.type
-
Array type interface.
- asArrayType() - Method in interface it.unive.lisa.cfg.type.Type
- asBooleanType() - Method in interface it.unive.lisa.cfg.type.Type
- asNullType() - Method in interface it.unive.lisa.cfg.type.Type
- asNumericType() - Method in interface it.unive.lisa.cfg.type.Type
- asPointerType() - Method in interface it.unive.lisa.cfg.type.Type
- assign(I, E) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, where
id
has been assigned tovalue
. - assign(Identifier, SymbolicExpression) - Method in class it.unive.lisa.analysis.AbstractState
- assign(Identifier, SymbolicExpression) - Method in class it.unive.lisa.analysis.AnalysisState
- assign(Identifier, SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assign(Identifier, SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- assign(Identifier, ValueExpression) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- assign(Identifier, ValueExpression) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- Assignment - Class in it.unive.lisa.cfg.statement
-
A statement assigning the result of an expression to an assignable expression.
- Assignment(CFG, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.Assignment
-
Builds the assignment, assigning
expression
totarget
. - Assignment(CFG, String, int, int, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.Assignment
-
Builds the assignment, assigning
expression
totarget
, happening at the given location in the program. - asStringType() - Method in interface it.unive.lisa.cfg.type.Type
- assume(E) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, modified by assuming that the given expression holds.
- assume(SymbolicExpression) - Method in class it.unive.lisa.analysis.AbstractState
- assume(SymbolicExpression) - Method in class it.unive.lisa.analysis.AnalysisState
- assume(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assume(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- assume(ValueExpression) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- assume(ValueExpression) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- asUntyped() - Method in interface it.unive.lisa.cfg.type.Type
- asVoidType() - Method in interface it.unive.lisa.cfg.type.Type
B
- BaseHeapDomain<H extends BaseHeapDomain<H>> - Class in it.unive.lisa.analysis
-
A base implementation of the
HeapDomain
interface, handling base cases ofBaseHeapDomain.smallStepSemantics(SymbolicExpression)
. - BaseHeapDomain() - Constructor for class it.unive.lisa.analysis.BaseHeapDomain
- BaseLattice<L extends BaseLattice<L>> - Class in it.unive.lisa.analysis
-
A base implementation of the
Lattice
interface, handling base cases of the methods exposed by that interface. - BaseLattice() - Constructor for class it.unive.lisa.analysis.BaseLattice
- BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational
-
Base implementation for
NonRelationalValueDomain
s. - BaseNonRelationalValueDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
- beforeExecution(CheckTool) - Method in interface it.unive.lisa.checks.syntactic.SyntacticCheck
-
Callback invoked only once before the beginning of the inspection of the program.
- BinaryExpression - Class in it.unive.lisa.cfg.statement
-
A binary expression.
- BinaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
BinaryOperator
to twoSymbolicExpression
s. - BinaryExpression(CFG, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryExpression
-
Builds the binary expression.
- BinaryExpression(CFG, String, int, int, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryExpression
-
Builds the binary expression, happening at the given location in the program.
- BinaryExpression(ExternalSet<Type>, SymbolicExpression, SymbolicExpression, BinaryOperator) - Constructor for class it.unive.lisa.symbolic.value.BinaryExpression
-
Builds the binary expression.
- BinaryNativeCall - Class in it.unive.lisa.cfg.statement
-
A
NativeCall
with a exactly two arguments. - BinaryNativeCall(CFG, String, int, int, String, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryNativeCall
-
Builds the untyped native call, happening at the given location in the program.
- BinaryNativeCall(CFG, String, int, int, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryNativeCall
-
Builds the native call, happening at the given location in the program.
- BinaryNativeCall(CFG, String, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryNativeCall
-
Builds the untyped native call.
- BinaryNativeCall(CFG, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.cfg.statement.BinaryNativeCall
-
Builds the native call.
- BinaryOperator - Enum in it.unive.lisa.symbolic.value
-
A binary operator that can be applied to a pair of
SymbolicExpression
s. - binarySemantics(AnalysisState<H, V>, CallGraph, SymbolicExpression, SymbolicExpression) - Method in class it.unive.lisa.cfg.statement.BinaryNativeCall
-
Computes the semantics of the call, after the semantics of the parameters have been computed.
- BooleanType - Interface in it.unive.lisa.cfg.type
-
Boolean type interface.
- BoolType - Class in it.unive.lisa.symbolic.types
-
An internal implementation of the
BooleanType
interface that can be used by domains that need a concrete instance of that interface. - bottom() - Method in class it.unive.lisa.analysis.AbstractState
- bottom() - Method in class it.unive.lisa.analysis.AnalysisState
- bottom() - Method in class it.unive.lisa.analysis.ExpressionStore
- bottom() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- bottom() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
- bottom() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- bottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the bottom element of this lattice.
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- bottom() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- BOTTOM - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that the satisfiability evaluation resulted in an error.
C
- Caches - Class in it.unive.lisa.caches
-
A holder of
ExternalSetCache
s, to ensure that allExternalSet
s built to hold a given element type will share the same unique cache. - Caches() - Constructor for class it.unive.lisa.caches.Caches
- Call - Class in it.unive.lisa.cfg.statement
-
A call to another procedure.
- Call(CFG, String, int, int, Type, Expression...) - Constructor for class it.unive.lisa.cfg.statement.Call
-
Builds a call happening at the given source location.
- CallGraph - Interface in it.unive.lisa.callgraph
-
A callgraph of the program to analyze, that knows how to resolve dynamic targets of
UnresolvedCall
s. - callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.BinaryNativeCall
- callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.Call
-
Computes the semantics of the call, after the semantics of all parameters have been computed.
- callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.CFGCall
- callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.OpenCall
- callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.UnaryNativeCall
- callSemantics(AnalysisState<H, V>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.BinaryNativeCall
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.Call
-
Infer the types of the call, after the types of all parameters have been inferred.
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.CFGCall
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.OpenCall
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.UnaryNativeCall
- callTypeInference(AnalysisState<H, TypeEnvironment>, CallGraph, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
- canBeAssignedTo(Type) - Method in class it.unive.lisa.cfg.type.NullType
- canBeAssignedTo(Type) - Method in interface it.unive.lisa.cfg.type.Type
-
Determines if the type represented by this
Type
object is either the same as, or is a subtype of, the type represented byother
. - canBeAssignedTo(Type) - Method in class it.unive.lisa.cfg.type.Untyped
- canBeAssignedTo(Type) - Method in class it.unive.lisa.cfg.type.VoidType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.BoolType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.IntType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.StringType
- CFG - Class in it.unive.lisa.cfg
- CFG(CFG) - Constructor for class it.unive.lisa.cfg.CFG
-
Clones the given control flow graph.
- CFG(CFGDescriptor) - Constructor for class it.unive.lisa.cfg.CFG
-
Builds the control flow graph.
- CFG(CFGDescriptor, Collection<Statement>, AdjacencyMatrix) - Constructor for class it.unive.lisa.cfg.CFG
-
Builds the control flow graph.
- CFG.SemanticFunction<H extends HeapDomain<H>,V extends ValueDomain<V>> - Interface in it.unive.lisa.cfg
-
A functional interface that can be used for compute the semantics of
Statement
s, producingAnalysisState
s. - CFGCall - Class in it.unive.lisa.cfg.statement
-
A call to one or more of the CFGs under analysis.
- CFGCall(CFG, String, int, int, String, CFG, Expression...) - Constructor for class it.unive.lisa.cfg.statement.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(CFG, String, int, int, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.cfg.statement.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(CFG, String, CFG, Expression...) - Constructor for class it.unive.lisa.cfg.statement.CFGCall
-
Builds the CFG call.
- CFGCall(CFG, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.cfg.statement.CFGCall
-
Builds the CFG call.
- CFGDesccriptorWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
- CFGDesccriptorWarning(CFGDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
-
Builds the warning.
- CFGDescriptor - Class in it.unive.lisa.cfg
-
A descriptor of a CFG, containing the debug informations (source file, line, column) as well as metadata.
- CFGDescriptor(String, int, int, String, Parameter...) - Constructor for class it.unive.lisa.cfg.CFGDescriptor
-
Builds the descriptor with
Untyped
return type. - CFGDescriptor(String, int, int, String, Type, Parameter...) - Constructor for class it.unive.lisa.cfg.CFGDescriptor
-
Builds the descriptor.
- CFGDescriptor(String, Parameter...) - Constructor for class it.unive.lisa.cfg.CFGDescriptor
-
Builds the descriptor for a method that is defined at an unknown location (i.e.
- CFGDescriptor(String, Type, Parameter...) - Constructor for class it.unive.lisa.cfg.CFGDescriptor
-
Builds the descriptor for a method that is defined at an unknown location (i.e.
- CFGWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the CFGs under analysis.
- CFGWarning(CFG, String) - Constructor for class it.unive.lisa.checks.warnings.CFGWarning
-
Builds the warning.
- CFGWithAnalysisResults<H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
- CFGWithAnalysisResults(CFG, Map<Statement, AnalysisState<H, V>>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CheckTool - Class in it.unive.lisa.checks
-
An auxiliary tool that can be used by checks during their execution.
- CheckTool() - Constructor for class it.unive.lisa.checks.CheckTool
-
Build the tool.
- clear() - Method in interface it.unive.lisa.callgraph.CallGraph
-
Clears all the data from the last fixpoint computation, effectively re-initializing the call graph.
- clear() - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- clear() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Removes all elements from this set.
- clearCreatedFiles() - Static method in class it.unive.lisa.util.file.FileManager
-
Clears the list of names of created files.
- collect() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields a concrete list containing all the elements corresponding to the bits in this set.
- CollectionsDiffBuilder<T> - Class in it.unive.lisa.util.collections
-
An utility class that can compute the difference between two collections containing the same object types.
- CollectionsDiffBuilder(Class<T>, Collection<T>, Collection<T>) - Constructor for class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Builds the diff builder.
- COMMON - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present in both reports.
- commonSupertype(Type) - Method in class it.unive.lisa.cfg.type.NullType
- commonSupertype(Type) - Method in interface it.unive.lisa.cfg.type.Type
-
Yields the most specific common supertype between this
Type
and the given one. - commonSupertype(Type) - Method in class it.unive.lisa.cfg.type.Untyped
- commonSupertype(Type) - Method in class it.unive.lisa.cfg.type.VoidType
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.BoolType
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.IntType
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.StringType
- compare(JsonReport, JsonReport, File, File) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compare(JsonReport, JsonReport, File, File, JsonReportComparer.DiffReporter) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compareTo(Statement) - Method in class it.unive.lisa.cfg.statement.Statement
-
Compares two statements in terms of order of appearance in the program, comparing source files first, followed by lines and columns at last.
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.Warning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- compareTo(JsonReport.JsonWarning) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- COMPARISON_EQ - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two values, check whether they have same values and same type.
- COMPARISON_GE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1
andn2
of typeNumericType
, this operator checks ifn1
is in relation through the "greater or equal than" relation withn2
. - COMPARISON_GT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1
andn2
, this operator checks ifn1
is in relation through the "greater than" relation withn2
. - COMPARISON_LE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1
andn2
, this operator checks ifn1
is in relation through the "less or equal than" relation withn2
. - COMPARISON_LT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1
andn2
, this operator checks ifn1
is in relation through the "less than" relation withn2
. - COMPARISON_NE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two values, check whether they have different values or different type.
- compute(Statement, AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in interface it.unive.lisa.cfg.CFG.SemanticFunction
- compute(Comparator<T>) - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Computes the diff between the collections used to create this object.
- ConcurrentFIFOWorkingSet<E> - Class in it.unive.lisa.util.workset
-
A first-in, first-out working set.
- ConcurrentLIFOWorkingSet<E> - Class in it.unive.lisa.util.workset
-
A last-in, first-out working set.
- Constant - Class in it.unive.lisa.symbolic.value
-
A constant value.
- Constant(Type, Object) - Constructor for class it.unive.lisa.symbolic.value.Constant
-
Builds the constant.
- contains(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Determines if this set contains all elements of another if they share the same cache.
- contains(Object) - Method in class it.unive.lisa.util.collections.ExternalSet
- containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.ExternalSet
- copy() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields a fresh copy of this set, defined over the same cache and containing the same elements.
- count() - Method in class it.unive.lisa.logging.Counter
-
Progresses the count by one.
- Counter - Class in it.unive.lisa.logging
-
A counter that logs to a given logger while progressing during the count.
- Counter(Logger, Level, String, String, int, double) - Constructor for class it.unive.lisa.logging.Counter
-
Builds the counter.
- createdFiles() - Static method in class it.unive.lisa.util.file.FileManager
-
Yields the collection of file names that have been created by this manager from the last call to
FileManager.clearCreatedFiles()
.
D
- DEFAULT_WIDENING_THRESHOLD - Static variable in class it.unive.lisa.cfg.CFG
-
The default number of fixpoint iteration on a given statement after which calls to
Lattice.lub(Lattice)
gets replaced withLattice.widening(Lattice)
. - difference(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields a new set obtained from this by removing the given elements.
- DotGraph - Class in it.unive.lisa.outputs
-
A graph build from a
CFG
that can be dumped in dot format, together with a legend. - dump(Writer) - Method in class it.unive.lisa.outputs.JsonReport
-
Dumps this report to the given
Writer
instance, serializing it as a json object. - dump(Writer, String) - Method in class it.unive.lisa.cfg.CFG
-
Dumps the content of this control flow graph in the given writer, formatted as a dot file.
- dump(Writer, String, Function<Statement, String>) - Method in class it.unive.lisa.cfg.CFG
-
Dumps the content of this control flow graph in the given writer, formatted as a dot file.
- dumpDot(Writer) - Method in class it.unive.lisa.outputs.DotGraph
-
Dumps this graph through the given
Writer
.
E
- Edge - Class in it.unive.lisa.cfg.edge
-
An edge of a control flow graph, connecting two statements.
- Edge(Statement, Statement) - Constructor for class it.unive.lisa.cfg.edge.Edge
-
Builds the edge.
- elements - Variable in class it.unive.lisa.analysis.InverseSetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.SetLattice
-
The set of elements contained in the lattice.
- equals(Object) - Method in class it.unive.lisa.analysis.AbstractState
- equals(Object) - Method in class it.unive.lisa.analysis.AnalysisState
- equals(Object) - Method in class it.unive.lisa.analysis.BaseLattice
- equals(Object) - Method in class it.unive.lisa.analysis.FunctionalLattice
- equals(Object) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- equals(Object) - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
- equals(Object) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.InverseSetLattice
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.SetLattice
- equals(Object) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
- equals(Object) - Method in class it.unive.lisa.cfg.CFG
-
CFG instances use reference equality for equality checks, under the assumption that every cfg is unique.
- equals(Object) - Method in class it.unive.lisa.cfg.CFGDescriptor
- equals(Object) - Method in class it.unive.lisa.cfg.edge.Edge
- equals(Object) - Method in class it.unive.lisa.cfg.Parameter
- equals(Object) - Method in class it.unive.lisa.cfg.statement.Statement
-
All statements use reference equality for equality checks, to allow different statement with the same content but placed in different part of the cfg to being not equal if there are no debug information available.
- equals(Object) - Method in class it.unive.lisa.cfg.type.NullType
- equals(Object) - Method in class it.unive.lisa.cfg.type.Untyped
- equals(Object) - Method in class it.unive.lisa.cfg.type.VoidType
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.Warning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- equals(Object) - Method in class it.unive.lisa.outputs.DotGraph
- equals(Object) - Method in class it.unive.lisa.outputs.JsonReport
- equals(Object) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- equals(Object) - Method in class it.unive.lisa.symbolic.SymbolicExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.types.BoolType
- equals(Object) - Method in class it.unive.lisa.symbolic.types.IntType
- equals(Object) - Method in class it.unive.lisa.symbolic.types.StringType
- equals(Object) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Constant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Identifier
- equals(Object) - Method in class it.unive.lisa.symbolic.value.NullConstant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Skip
- equals(Object) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.TypeConversion
- equals(Object) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- equals(Object) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Determines if this set is equal to the given one, that is, if they share the cache (checked through reference equality) and contains the same elements.
- eval(E, F) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
-
Evaluates a
ValueExpression
, assuming that the values of program variables are the ones stored inenvironment
. - eval(ValueExpression, ValueEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
- evalBinaryExpression(BinaryOperator, T, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of a
BinaryExpression
applyingoperator
to two expressions whose abstract value areleft
andright
, respectively. - evalNonNullConstant(Constant) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of the given non-null constant.
- evalNullConstant() - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of the null constant
NullConstant
. - evalTernaryExpression(TernaryOperator, T, T, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of a
TernaryExpression
applyingoperator
to two expressions whose abstract value areleft
,middle
andright
, respectively. - evalTypeConversion(Type, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of a
TypeConversion
converting an expression whose abstract value isarg
to the givenType
. - evalUnaryExpression(UnaryOperator, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the evaluation of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
. - execAction(Logger, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, TimeFormat, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggableBiConsumer<T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggableConsumer<T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggableMultiConsumer, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggablePentaConsumer<T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggableQuadConsumer<T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, String, TimerLogger.LoggableTriConsumer<T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggableBiConsumer<T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggableConsumer<T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggableMultiConsumer, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggablePentaConsumer<T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggableQuadConsumer<T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, TimeFormat, String, TimerLogger.LoggableTriConsumer<T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggableBiConsumer<T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggableConsumer<T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggableMultiConsumer, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggablePentaConsumer<T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggableQuadConsumer<T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execConsumer(Logger, Level, String, TimerLogger.LoggableTriConsumer<T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given consumer, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggableBiFunction<R, T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggableFunction<R, T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggableMultiFunction<R>, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggablePentaFunction<R, T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggableQuadFunction<R, T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, String, TimerLogger.LoggableTriFunction<R, T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggableBiFunction<R, T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggableFunction<R, T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggableMultiFunction<R>, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggablePentaFunction<R, T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggableQuadFunction<R, T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, TimeFormat, String, TimerLogger.LoggableTriFunction<R, T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggableBiFunction<R, T0, T1>, T0, T1) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggableFunction<R, T0>, T0) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggableMultiFunction<R>, Object...) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggablePentaFunction<R, T0, T1, T2, T3, T4>, T0, T1, T2, T3, T4) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggableQuadFunction<R, T0, T1, T2, T3>, T0, T1, T2, T3) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execFunction(Logger, Level, String, TimerLogger.LoggableTriFunction<R, T0, T1, T2>, T0, T1, T2) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given function, while logging the time need for it to complete.
- execSupplier(Logger, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, TimeFormat, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- executeAll(CheckTool, Collection<CFG>, Collection<SyntacticCheck>) - Static method in class it.unive.lisa.checks.syntactic.SyntacticChecksExecutor
-
Executes all the given checks on the given inputs cfgs.
- Expression - Class in it.unive.lisa.cfg.statement
-
An expression that is part of a statement of the program.
- Expression(CFG, String, int, int) - Constructor for class it.unive.lisa.cfg.statement.Expression
-
Builds an untyped expression happening at the given source location, that is its type is
Untyped.INSTANCE
. - Expression(CFG, String, int, int, Type) - Constructor for class it.unive.lisa.cfg.statement.Expression
-
Builds a typed expression happening at the given source location.
- ExpressionStore<V extends Lattice<V>> - Class in it.unive.lisa.analysis
-
A functional lattice that stores instances of
Lattice
computed on intermediate expressions inside root statements. - ExpressionStore(V) - Constructor for class it.unive.lisa.analysis.ExpressionStore
-
Builds the store.
- ExpressionWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on an expression.
- ExpressionWarning(Expression, String) - Constructor for class it.unive.lisa.checks.warnings.ExpressionWarning
-
Builds the warning.
- ExternalSet<T> - Class in it.unive.lisa.util.collections
-
A set of elements that are stored externally from this set.
- ExternalSet(long[], ExternalSetCache<T>) - Constructor for class it.unive.lisa.util.collections.ExternalSet
-
Builds a set with the given bits and cache.
- ExternalSet(ExternalSet<T>) - Constructor for class it.unive.lisa.util.collections.ExternalSet
-
Builds a clone of another set, connected to the same cache.
- ExternalSet(ExternalSetCache<T>) - Constructor for class it.unive.lisa.util.collections.ExternalSet
-
Builds an empty set connected to the given cache.
- ExternalSet(ExternalSetCache<T>, Iterable<T>) - Constructor for class it.unive.lisa.util.collections.ExternalSet
-
Builds a set containing all the elements of the given iterable and connected to the given cache.
- ExternalSet(ExternalSetCache<T>, T) - Constructor for class it.unive.lisa.util.collections.ExternalSet
-
Builds a set containing exactly one element and connected to the given cache.
- ExternalSetCache<T> - Class in it.unive.lisa.util.collections
-
A cache for creating
ExternalSet
s of the elements contained in this cache. - ExternalSetCache() - Constructor for class it.unive.lisa.util.collections.ExternalSetCache
F
- FalseEdge - Class in it.unive.lisa.cfg.edge
-
A sequential edge connecting two statements.
- FalseEdge(Statement, Statement) - Constructor for class it.unive.lisa.cfg.edge.FalseEdge
-
Builds the edge.
- FIFOWorkingSet<E> - Class in it.unive.lisa.util.workset
-
A first-in, first-out working set.
- fileDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Callback invoked by a
JsonReportComparer
whenever files from different reports but with matching names have different content. - FileManager - Class in it.unive.lisa.util.file
-
A file manager that provides standard functionalities for communicating with the file system.
- FileManager() - Constructor for class it.unive.lisa.util.file.FileManager
- FILES - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated files.
- filter(Predicate<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields a new external set containing only the elements of this set that satisfy the given predicate.
- first() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields the first element inside this set.
- fixpoint(AnalysisState<H, V>, CallGraph, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<H, V>, CallGraph, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<H, V>, CallGraph, WorkingSet<Statement>, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<H, V>, CallGraph, WorkingSet<Statement>, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<H, V>, CFG.SemanticFunction<H, V>) - Method in interface it.unive.lisa.callgraph.CallGraph
-
Computes a fixpoint over the whole control flow graph, producing a
CFGWithAnalysisResults
for eachCFG
contained in this callgraph. - fixpoint(AnalysisState<H, V>, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- fixpoint(Collection<Statement>, AnalysisState<H, V>, CallGraph, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<H, V>, CallGraph, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<H, V>, CallGraph, WorkingSet<Statement>, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<H, V>, CallGraph, WorkingSet<Statement>, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<Statement, AnalysisState<H, V>>, CallGraph, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<Statement, AnalysisState<H, V>>, CallGraph, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<Statement, AnalysisState<H, V>>, CallGraph, WorkingSet<Statement>, int, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<Statement, AnalysisState<H, V>>, CallGraph, WorkingSet<Statement>, CFG.SemanticFunction<H, V>) - Method in class it.unive.lisa.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- FixpointException - Exception in it.unive.lisa.cfg
-
An exception raised during the fixpoint computation.
- FixpointException() - Constructor for exception it.unive.lisa.cfg.FixpointException
-
Builds the exception.
- FixpointException(String) - Constructor for exception it.unive.lisa.cfg.FixpointException
-
Builds the exception.
- FixpointException(String, Throwable) - Constructor for exception it.unive.lisa.cfg.FixpointException
-
Builds the exception.
- FixpointException(Throwable) - Constructor for exception it.unive.lisa.cfg.FixpointException
-
Builds the exception.
- followersOf(Statement) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this matrix going from the given node to such node.
- followersOf(Statement) - Method in class it.unive.lisa.cfg.CFG
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this control flow graph going from the given node to such node.
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AbstractState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets an
Identifier
. - forgetIdentifiers(Collection<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all the given
Identifier
s. - format(long) - Method in enum it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos into a string with time units.
- fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Transforms a boolean value to a
SemanticDomain.Satisfiability
instance. - fromCFG(CFG, Function<Statement, String>) - Static method in class it.unive.lisa.outputs.DotGraph
- function - Variable in class it.unive.lisa.analysis.FunctionalLattice
-
The function implemented by this lattice.
- FunctionalLattice<F extends FunctionalLattice<F,K,V>,K,V extends Lattice<V>> - Class in it.unive.lisa.analysis
-
A generic functional abstract domain that performs the functional lifting of the lattice on the elements of the co-domain.
- FunctionalLattice(V) - Constructor for class it.unive.lisa.analysis.FunctionalLattice
-
Builds the lattice.
- FunctionalLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.FunctionalLattice
-
Builds the lattice by cloning the given function.
G
- get(int) - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Yields the
pos
-th element of this cache. - getAbstractResultOf(CFGCall, AnalysisState<H, V>, Collection<SymbolicExpression>[]) - Method in interface it.unive.lisa.callgraph.CallGraph
-
Resolves the given call to all of its possible runtime targets, and then computes an analysis state that abstracts the execution of the possible targets considering that they were given
parameters
as actual parameters. - getAbstractResultOf(CFGCall, AnalysisState<H, V>, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- getAnalysisResultsOf(CFG) - Method in interface it.unive.lisa.callgraph.CallGraph
-
Yields the results of the given analysis, identified by its class, on the given
CFG
. - getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- getAnalysisStateAt(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result at a given statement.
- getArgs() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the array containing the arguments of the CFG associated with this descriptor.
- getBaseType() - Method in interface it.unive.lisa.cfg.type.ArrayType
-
Yields the base type of this array type.
- getCache() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields the cache that this set is connected to.
- getCFG() - Method in class it.unive.lisa.cfg.statement.Statement
-
Yields the CFG that this statement belongs to.
- getCFG() - Method in class it.unive.lisa.checks.warnings.CFGWarning
-
Yields the cfg where this warning was reported on.
- getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the child memory location.
- getCol() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the column where the CFG associated with this descriptor is defined in the source file.
- getCol() - Method in class it.unive.lisa.cfg.Parameter
-
Yields the column where this parameter happens in the source file.
- getCol() - Method in class it.unive.lisa.cfg.statement.Statement
-
Yields the column where this statement happens in the source file.
- getCol() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the column where this warning is reported in the source file.
- getCommons() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the pair of elements (deemed to be equal) that are contained in both collections used to create this builder.
- getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the last computed expression.
- getConstructName() - Method in class it.unive.lisa.cfg.statement.NativeCall
-
Yields the CFG that is targeted by this CFG call.
- getContainer() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the parent memory location.
- getCurrentCount() - Method in class it.unive.lisa.logging.Counter
-
Yields the current count of this counter.
- getDescriptor() - Method in class it.unive.lisa.cfg.CFG
-
Yields the name of this control flow graph.
- getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
-
Yields the cfg where this warning was reported on.
- getDestination() - Method in class it.unive.lisa.cfg.edge.Edge
-
Yields the statement where this edge ends.
- getDynamicType() - Method in class it.unive.lisa.cfg.statement.Expression
-
Yields the dynamic type of this expression, that is, the most specific common supertype of all its runtime types (available through
Expression.getRuntimeTypes()
. - getDynamicType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the dynamic type of this expression, that is, the most specific common supertype of all its runtime types (available through
SymbolicExpression.getTypes()
. - getEdgeConnecting(Statement, Statement) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Yields the edge connecting the two given statements, if any.
- getEdgeConnecting(Statement, Statement) - Method in class it.unive.lisa.cfg.CFG
-
Yields the edge connecting the two given statements, if any.
- getEdges() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Yields the set of edges of this matrix.
- getEdges() - Method in class it.unive.lisa.cfg.CFG
-
Yields the set of edges of this control flow graph.
- getEdgesCount() - Method in class it.unive.lisa.cfg.CFG
-
Yields the total number of edges of this control flow graph.
- getEntrypoints() - Method in class it.unive.lisa.cfg.CFG
-
Yields the statements of this control flow graph that are entrypoints, that is, that can be executed from other cfgs.
- getExpression() - Method in class it.unive.lisa.cfg.statement.Return
-
Yields the expression that is being returned.
- getExpression() - Method in class it.unive.lisa.cfg.statement.Throw
-
Yields the expression that is being raised as error.
- getExpression() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
-
Yields the expression where this warning was reported on.
- getExpression() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the inner expression, that is transformed by this expression by applying
UnaryExpression.getOperator()
. - getFiles() - Method in class it.unive.lisa.outputs.JsonReport
-
Yields the collection of file names contained into this report.
- getFullName() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the full name of the CFG associated with this descriptor.
- getFullSignature() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the full signature of this cfg.
- getHeapState() - Method in class it.unive.lisa.analysis.AbstractState
-
Yields the instance of
HeapDomain
that contains the information on heap structures contained in this abstract state. - getIdsToForget() - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Yields the collection of identifiers that must be removed after the application of this replacement, that is, the identifiers that are in
HeapSemanticOperation.HeapReplacement.getSources()
but not inHeapSemanticOperation.HeapReplacement.getTargets()
. - getInnerType() - Method in interface it.unive.lisa.cfg.type.ArrayType
-
Yields the type of the inner dimension of this array type.
- getKeys() - Method in class it.unive.lisa.analysis.FunctionalLattice
-
Yields the set of keys currently in this lattice.
- getLastComputedTypes() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
-
Yields the
InferredTypes
instance that has been computed during the creation of this instance ofTypeEnvironment
. - getLeft() - Method in class it.unive.lisa.cfg.statement.BinaryExpression
-
Yields the left hand-side of the expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the left-hand side operand of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the left-hand side operand of this expression.
- getLine() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the line number where the CFG associated with this descriptor is defined in the source file.
- getLine() - Method in class it.unive.lisa.cfg.Parameter
-
Yields the line number where this parameter happens in the source file.
- getLine() - Method in class it.unive.lisa.cfg.statement.Statement
-
Yields the line number where this statement happens in the source file.
- getLine() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the line number where this warning is reported in the source file.
- getLocation() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported.
- getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported, surrounded by square brackets.
- getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning.
- getMessage() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Yields the message of this warning.
- getMetaVariable() - Method in class it.unive.lisa.cfg.statement.CFGCall
- getMetaVariable() - Method in interface it.unive.lisa.cfg.statement.MetaVariableCreator
-
Yields the meta variable that is introduced during the evaluation of the semantics of this object to store information about the value produced by this object.
- getMetaVariable() - Method in class it.unive.lisa.cfg.statement.OpenCall
- getMetaVariable() - Method in class it.unive.lisa.cfg.statement.Return
- getMetaVariables() - Method in class it.unive.lisa.cfg.statement.Expression
-
Yields the meta variables that are generated by the evaluation of this expression.
- getMiddle() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the middle operand of this expression.
- getName() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the name of the CFG associated with this descriptor.
- getName() - Method in class it.unive.lisa.cfg.Parameter
-
Yields the name of this parameter.
- getName() - Method in class it.unive.lisa.cfg.statement.Variable
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.symbolic.heap.HeapReference
-
Yields the name that identifies the memory location.
- getName() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the name of this identifier.
- getNodes() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Yields the collection of nodes of this matrix.
- getNodes() - Method in class it.unive.lisa.cfg.CFG
-
Yields the set of nodes of this control flow graph.
- getNodesCount() - Method in class it.unive.lisa.cfg.CFG
-
Yields the total number of nodes of this control flow graph.
- getNormalExitpoints() - Method in class it.unive.lisa.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller.
- getOffset() - Method in class it.unive.lisa.cfg.statement.Statement
-
Yields the offset of this statement relative to its containing cfg.
- getOnlyFirst() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the first collection used to create this builder.
- getOnlySecond() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the second collection used to create this builder.
- getOperand() - Method in class it.unive.lisa.symbolic.value.TypeConversion
-
Yields the expression being casted.
- getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the operator that is applied to
BinaryExpression.getLeft()
andBinaryExpression.getRight()
. - getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the operator that is applied to
TernaryExpression.getLeft()
,TernaryExpression.getMiddle()
andTernaryExpression.getRight()
. - getOperator() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the operator that is applied to
UnaryExpression.getExpression()
. - getParameters() - Method in class it.unive.lisa.cfg.statement.Call
-
Yields the parameters of this call.
- getQualifiedName() - Method in class it.unive.lisa.cfg.statement.CFGCall
-
Yields the qualified name of the static target of this call.
- getQualifiedName() - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
-
Yields the qualified name of the target of this call.
- getReturnType() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the return type of the CFG associated with this descriptor.
- getRewrittenExpressions() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- getRewrittenExpressions() - Method in interface it.unive.lisa.analysis.HeapSemanticOperation
-
Yields the expressions that were computed during the generation of this heap domain.
- getRewrittenExpressions() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- getRight() - Method in class it.unive.lisa.cfg.statement.BinaryExpression
-
Yields the right hand-side of the expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the right-hand side operand of this expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the right-hand side operand of this expression.
- getRuntimeTypes() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
-
Yields the
ExternalSet
containing the types held by this instance. - getRuntimeTypes() - Method in class it.unive.lisa.cfg.statement.Expression
-
The concrete types that this expression can have at runtime.
- getSource() - Method in class it.unive.lisa.cfg.edge.Edge
-
Yields the statement where this edge originates.
- getSourceFile() - Method in class it.unive.lisa.cfg.CFGDescriptor
-
Yields the source file name where the CFG associated with this descriptor is defined.
- getSourceFile() - Method in class it.unive.lisa.cfg.statement.Statement
-
Yields the source file name where this statement happens.
- getSourceFile() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the source file name where this warning is reported.
- getSources() - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that this replacement originates from, that is, the ones whose value will be assigned to the targets.
- getState() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the
AbstractState
embedded into this analysis state, containing abstract values for program variables and memory locations. - getState(K) - Method in class it.unive.lisa.analysis.FunctionalLattice
-
Yields the state associated to the given key.
- getStatement() - Method in class it.unive.lisa.checks.warnings.StatementWarning
-
Yields the statement where this warning was reported on.
- getStaticType() - Method in class it.unive.lisa.cfg.Parameter
-
Yields the static type of this parameter.
- getStaticType() - Method in class it.unive.lisa.cfg.statement.Expression
-
Yields the static type of this expression.
- getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.BinaryOperator
- getStringRepresentation() - Method in interface it.unive.lisa.symbolic.value.Operator
-
Yields the string representation of the operator.
- getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.TernaryOperator
- getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.UnaryOperator
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- getSubstitution() - Method in interface it.unive.lisa.analysis.HeapSemanticOperation
-
Yields the substitution, in the form of a list of
HeapSemanticOperation.HeapReplacement
s that must be processed in their order of appearance, that the creation of this heap domain caused. - getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- getTag() - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the tag of this warning.
- getTaggedMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning, preceeded by the tag under square brackets.
- getTargetName() - Method in class it.unive.lisa.cfg.statement.OpenCall
-
Yields the name of the target of this open call.
- getTargets() - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that are targeted by this replacement, that is, the ones that will be assigned.
- getTargets() - Method in class it.unive.lisa.cfg.statement.CFGCall
-
Yields the CFGs that are targeted by this CFG call.
- getToType() - Method in class it.unive.lisa.symbolic.value.TypeConversion
-
Yields the type that
TypeConversion.getOperand()
is being casted to. - getTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the runtime types of this expression.
- getValue() - Method in class it.unive.lisa.cfg.statement.Literal
-
Yields the value of this literal.
- getValue() - Method in class it.unive.lisa.symbolic.value.Constant
-
Yields the constant value.
- getValueState() - Method in class it.unive.lisa.analysis.AbstractState
-
Yields the instance of
ValueDomain
that contains the information on values of program variables and concretized memory locations. - getWarnings() - Method in class it.unive.lisa.checks.CheckTool
-
Returns an unmodifiable view of the warnings that have been generated up to now using this tool.
- getWarnings() - Method in class it.unive.lisa.LiSA
-
Yields an unmodifiable view of the warnings that have been generated during the analysis.
- getWarnings() - Method in class it.unive.lisa.outputs.JsonReport
-
Yields the collection of
JsonReport.JsonWarning
s contained into this report. - glb(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs the greatest lower bound operation between this satisfiability and the given one.
H
- hashCode() - Method in class it.unive.lisa.analysis.AbstractState
- hashCode() - Method in class it.unive.lisa.analysis.AnalysisState
- hashCode() - Method in class it.unive.lisa.analysis.BaseLattice
- hashCode() - Method in class it.unive.lisa.analysis.FunctionalLattice
- hashCode() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- hashCode() - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
- hashCode() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.InverseSetLattice
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.SetLattice
- hashCode() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
- hashCode() - Method in class it.unive.lisa.cfg.CFG
- hashCode() - Method in class it.unive.lisa.cfg.CFGDescriptor
- hashCode() - Method in class it.unive.lisa.cfg.edge.Edge
- hashCode() - Method in class it.unive.lisa.cfg.Parameter
- hashCode() - Method in class it.unive.lisa.cfg.statement.BinaryExpression
- hashCode() - Method in class it.unive.lisa.cfg.statement.Call
- hashCode() - Method in class it.unive.lisa.cfg.statement.CFGCall
- hashCode() - Method in class it.unive.lisa.cfg.statement.Expression
- hashCode() - Method in class it.unive.lisa.cfg.statement.Literal
- hashCode() - Method in class it.unive.lisa.cfg.statement.NativeCall
- hashCode() - Method in class it.unive.lisa.cfg.statement.NoOp
- hashCode() - Method in class it.unive.lisa.cfg.statement.OpenCall
- hashCode() - Method in class it.unive.lisa.cfg.statement.Ret
- hashCode() - Method in class it.unive.lisa.cfg.statement.Return
- hashCode() - Method in class it.unive.lisa.cfg.statement.Statement
- hashCode() - Method in class it.unive.lisa.cfg.statement.Throw
- hashCode() - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
- hashCode() - Method in class it.unive.lisa.cfg.statement.Variable
- hashCode() - Method in class it.unive.lisa.cfg.type.NullType
- hashCode() - Method in class it.unive.lisa.cfg.type.Untyped
- hashCode() - Method in class it.unive.lisa.cfg.type.VoidType
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.Warning
- hashCode() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- hashCode() - Method in class it.unive.lisa.outputs.DotGraph
- hashCode() - Method in class it.unive.lisa.outputs.JsonReport
- hashCode() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- hashCode() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- hashCode() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- hashCode() - Method in class it.unive.lisa.symbolic.types.BoolType
- hashCode() - Method in class it.unive.lisa.symbolic.types.IntType
- hashCode() - Method in class it.unive.lisa.symbolic.types.StringType
- hashCode() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.Constant
- hashCode() - Method in class it.unive.lisa.symbolic.value.Identifier
- hashCode() - Method in class it.unive.lisa.symbolic.value.NullConstant
- hashCode() - Method in class it.unive.lisa.symbolic.value.Skip
- hashCode() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.TypeConversion
- hashCode() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- hashCode() - Method in class it.unive.lisa.util.collections.ExternalSet
- HeapAllocation - Class in it.unive.lisa.symbolic.heap
-
An allocation of a memory location.
- HeapAllocation(ExternalSet<Type>) - Constructor for class it.unive.lisa.symbolic.heap.HeapAllocation
-
Builds the heap allocation.
- HeapDomain<D extends HeapDomain<D>> - Interface in it.unive.lisa.analysis
-
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>> - Class in it.unive.lisa.analysis.nonrelational
-
An environment for a
NonRelationalHeapDomain
, that mapsIdentifier
s to instances of such domain. - HeapEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.HeapEnvironment
-
Builds an empty environment.
- HeapExpression - Class in it.unive.lisa.symbolic.heap
-
A symbolic expression that identifies a location in the program's heap.
- HeapExpression(ExternalSet<Type>) - Constructor for class it.unive.lisa.symbolic.heap.HeapExpression
-
Builds the heap expression.
- HeapIdentifier - Class in it.unive.lisa.symbolic.value
-
An identifier of a synthetic program variable that represents a resolved memory location.
- HeapIdentifier(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.symbolic.value.HeapIdentifier
-
Builds the identifier.
- HeapReference - Class in it.unive.lisa.symbolic.heap
-
A reference to a memory location, identified by its name.
- HeapReference(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.symbolic.heap.HeapReference
-
Builds the heap reference.
- HeapReplacement() - Constructor for class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
-
Builds the replacement.
- HeapSemanticOperation - Interface in it.unive.lisa.analysis
-
A semantic operation on the heap state of the program, that rewrites expressions and provides a substitution of the available identifiers.
- HeapSemanticOperation.HeapReplacement - Class in it.unive.lisa.analysis
-
A replacement between
Identifier
s caused by a change in the heap abstraction. - HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours.
I
- Identifier - Class in it.unive.lisa.symbolic.value
-
An identifier of a program variable, representing either a program variable (as an instance of
ValueIdentifier
), or a resolved memory location (as an instance ofHeapIdentifier
). - Identifier(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- indexOf(T) - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- InferredTypes - Class in it.unive.lisa.analysis.impl.types
- InferredTypes() - Constructor for class it.unive.lisa.analysis.impl.types.InferredTypes
-
Builds the inferred types.
- inheritRuntimeTypesFrom(Expression) - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
-
Updates this call's runtime types to match the ones of the given expression.
- INSTANCE - Static variable in class it.unive.lisa.cfg.type.NullType
-
Unique instance of
NullType
. - INSTANCE - Static variable in class it.unive.lisa.cfg.type.Untyped
-
Unique instance of Untyped type.
- INSTANCE - Static variable in class it.unive.lisa.cfg.type.VoidType
-
Unique instance of
VoidType
. - INSTANCE - Static variable in class it.unive.lisa.symbolic.types.BoolType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.types.IntType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.types.StringType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.NullConstant
-
The singleton instance of
NullConstant
. - intersection(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields the intersection of this set and another.
- intersects(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Determines if this set has at least an element in common with another if they share the same cache.
- IntraproceduralCallGraph - Class in it.unive.lisa.callgraph.impl.intraproc
-
An instance of
CallGraph
that does not handle interprocedurality. - IntraproceduralCallGraph() - Constructor for class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
-
Builds the call graph.
- IntType - Class in it.unive.lisa.symbolic.types
-
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> - Class in it.unive.lisa.analysis
-
A generic inverse set lattice containing a set of elements.
- InverseSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.InverseSetLattice
-
Builds the lattice.
- is16Bits() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type follows a 16-bits format representation. - is16Bits() - Method in class it.unive.lisa.symbolic.types.IntType
- is32Bits() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type follows a 32-bits format representation. - is32Bits() - Method in class it.unive.lisa.symbolic.types.IntType
- is64Bits() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type follows a 64-bits format representation. - is64Bits() - Method in class it.unive.lisa.symbolic.types.IntType
- is8Bits() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type follows a 8-bits format representation. - is8Bits() - Method in class it.unive.lisa.symbolic.types.IntType
- isArrayType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofArrayType
. - isBooleanType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofBooleanType
. - isBottom() - Method in class it.unive.lisa.analysis.AbstractState
- isBottom() - Method in class it.unive.lisa.analysis.AnalysisState
- isBottom() - Method in class it.unive.lisa.analysis.ExpressionStore
- isBottom() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
- isBottom() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- isBottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this object represents the bottom of the lattice. - isBottom() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- isEmpty() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Determines if this set is empty.
- isEmpty() - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- isEmpty() - Method in interface it.unive.lisa.util.workset.WorkingSet
-
Yields
true
if and only if this working set is empty. - isEqualTo(AdjacencyMatrix) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Checks if this matrix is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isEqualTo(CFG) - Method in class it.unive.lisa.cfg.CFG
-
Checks if this cfg is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isEqualTo(Edge) - Method in class it.unive.lisa.cfg.edge.Edge
-
Checks if this edge is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.BinaryExpression
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Call
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.CFGCall
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Expression
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Literal
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.NativeCall
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.NoOp
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.OpenCall
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Ret
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Return
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Statement
-
Checks if this statement is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Throw
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
- isEqualTo(Statement) - Method in class it.unive.lisa.cfg.statement.Variable
- isLogging() - Method in class it.unive.lisa.logging.Counter
-
Yields
true
if this counter is currently logging updates. - isNullType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofNullType
. - isNumericType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofNumericType
. - isPointerType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofPointerType
. - isSigned() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type is signed. - isStringType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofStringType
. - isTop() - Method in class it.unive.lisa.analysis.AbstractState
- isTop() - Method in class it.unive.lisa.analysis.AnalysisState
- isTop() - Method in class it.unive.lisa.analysis.ExpressionStore
- isTop() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
- isTop() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- isTop() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this object represents the top of the lattice. - isTop() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- isUnsigned() - Method in interface it.unive.lisa.cfg.type.NumericType
-
Returns
true
if this numeric type is unsigned. - isUnsigned() - Method in class it.unive.lisa.symbolic.types.IntType
- isUntyped() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofUntyped
. - isVoidType() - Method in interface it.unive.lisa.cfg.type.Type
-
Yields
true
if and only if this type is an instance ofVoidType
. - it.unive.lisa - package it.unive.lisa
- it.unive.lisa.analysis - package it.unive.lisa.analysis
- it.unive.lisa.analysis.heap - package it.unive.lisa.analysis.heap
- it.unive.lisa.analysis.impl.types - package it.unive.lisa.analysis.impl.types
- it.unive.lisa.analysis.nonrelational - package it.unive.lisa.analysis.nonrelational
- it.unive.lisa.caches - package it.unive.lisa.caches
- it.unive.lisa.callgraph - package it.unive.lisa.callgraph
- it.unive.lisa.callgraph.impl.intraproc - package it.unive.lisa.callgraph.impl.intraproc
- it.unive.lisa.cfg - package it.unive.lisa.cfg
- it.unive.lisa.cfg.edge - package it.unive.lisa.cfg.edge
- it.unive.lisa.cfg.statement - package it.unive.lisa.cfg.statement
- it.unive.lisa.cfg.type - package it.unive.lisa.cfg.type
- it.unive.lisa.checks - package it.unive.lisa.checks
- it.unive.lisa.checks.syntactic - package it.unive.lisa.checks.syntactic
- it.unive.lisa.checks.warnings - package it.unive.lisa.checks.warnings
- it.unive.lisa.logging - package it.unive.lisa.logging
- it.unive.lisa.outputs - package it.unive.lisa.outputs
- it.unive.lisa.outputs.compare - package it.unive.lisa.outputs.compare
- it.unive.lisa.symbolic - package it.unive.lisa.symbolic
- it.unive.lisa.symbolic.heap - package it.unive.lisa.symbolic.heap
- it.unive.lisa.symbolic.types - package it.unive.lisa.symbolic.types
- it.unive.lisa.symbolic.value - package it.unive.lisa.symbolic.value
- it.unive.lisa.util.collections - package it.unive.lisa.util.collections
- it.unive.lisa.util.file - package it.unive.lisa.util.file
- it.unive.lisa.util.workset - package it.unive.lisa.util.workset
- iterate(Logger, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the array. - iterate(Logger, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given iterable into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the array. - iterate(Logger, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given collection into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the collection. - iterate(Logger, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given stream into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing a collection created from the stream. - iterate(Logger, Level, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs while traversing the array. - iterate(Logger, Level, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given iterable into an
Iterable
instance that automatically logs while traversing the iterable. - iterate(Logger, Level, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given collection into an
Iterable
instance that automatically logs while traversing the collection. - iterate(Logger, Level, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs while traversing a collection created from the stream. - IterationLogger - Class in it.unive.lisa.logging
-
An utility class that allows automatic logging while iterating over elements of a collection, stream or array.
- IterationLogger() - Constructor for class it.unive.lisa.logging.IterationLogger
- iterator() - Method in class it.unive.lisa.analysis.FunctionalLattice
- iterator() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
- iterator() - Method in class it.unive.lisa.util.collections.ExternalSet
J
- JsonReport - Class in it.unive.lisa.outputs
-
A report of an executed analysis that can be dumped in json format, and that can be read from a json file.
- JsonReport() - Constructor for class it.unive.lisa.outputs.JsonReport
-
Builds an empty report.
- JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.JsonReport
-
Builds the report, containing the given warnings and files.
- JsonReport.JsonWarning - Class in it.unive.lisa.outputs
-
A warning that is ready to dump into a
JsonReport
. - JsonReportComparer - Class in it.unive.lisa.outputs.compare
-
A class providing capabilities for finding differences between two
JsonReport
s. - JsonReportComparer() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer
- JsonReportComparer.DiffReporter - Interface in it.unive.lisa.outputs.compare
-
An object that provides callbacks for reporting differences when comparing
JsonReport
s. - JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different type of reports that can be issued.
- JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different components of a
JsonReport
, in order to distinguish which one of them caused a difference being reported. - JsonWarning() - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Builds an empty warning with no message.
- JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Builds the warning, cloning the information from the given
Warning
.
L
- lattice - Variable in class it.unive.lisa.analysis.FunctionalLattice
-
The underlying lattice.
- Lattice<L extends Lattice<L>> - Interface in it.unive.lisa.analysis
-
An interface for elements that follow a lattice structure.
- lessOrEqual(AbstractState<H, V>) - Method in class it.unive.lisa.analysis.AbstractState
- lessOrEqual(AnalysisState<H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
- lessOrEqual(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lessOrEqual(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one. - lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.FunctionalLattice
- lessOrEqualAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- lessOrEqualAux(TypeEnvironment) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- lessOrEqualAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one, assuming that base cases have already been handled. - lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.InverseSetLattice
- lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.SetLattice
- LIFOWorkingSet<E> - Class in it.unive.lisa.util.workset
-
A last-in, first-out working set.
- LiSA - Class in it.unive.lisa
-
This is the central class of the LiSA library.
- LiSA() - Constructor for class it.unive.lisa.LiSA
-
Builds a new LiSA instance.
- Literal - Class in it.unive.lisa.cfg.statement
-
A literal, representing a constant value.
- Literal(CFG, Object, Type) - Constructor for class it.unive.lisa.cfg.statement.Literal
-
Builds a typed literal, consisting of a constant value.
- Literal(CFG, String, int, int, Object, Type) - Constructor for class it.unive.lisa.cfg.statement.Literal
-
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
- LOGICAL_AND - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two Boolean values
b1
andb2
of typeBooleanType
, this operator returns the logical and betweenb1
andb2
. - LOGICAL_NOT - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a Boolean value of type
BooleanType
, this operator returns the logical negation of the value: if the Boolean value represents true, it returns false, and vice versa. - LOGICAL_OR - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two Boolean values
b1
andb2
of typeBooleanType
, this operator returns the logical or betweenb1
andb2
. - lub(AbstractState<H, V>) - Method in class it.unive.lisa.analysis.AbstractState
- lub(AnalysisState<H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
- lub(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lub(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the least upper bound operation between this lattice element and the given one.
- lubAux(F) - Method in class it.unive.lisa.analysis.FunctionalLattice
- lubAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- lubAux(TypeEnvironment) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- lubAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the least upper bound operation between this lattice element and the given one, assuming that base cases have already been handled.
- lubAux(S) - Method in class it.unive.lisa.analysis.InverseSetLattice
- lubAux(S) - Method in class it.unive.lisa.analysis.SetLattice
M
- mergeWith(Statement, AdjacencyMatrix) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Merges this adjacency matrix with the given one.
- MetaVariableCreator - Interface in it.unive.lisa.cfg.statement
-
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.
- MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds.
- MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes.
- MINUTES_AND_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes and seconds.
- mk() - Static method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.workset.FIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.workset.LIFOWorkingSet
-
Yields a new, empty working set.
- mk(H, ValueExpression) - Method in class it.unive.lisa.analysis.BaseHeapDomain
-
Creates a new instance of this domain containing the same abstract information of reference, but setting as rewritten expression the given one.
- mk(MonolithicHeap, ValueExpression) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- mk(Set<E>) - Method in class it.unive.lisa.analysis.InverseSetLattice
-
Utility for creating a concrete instance of
InverseSetLattice
given a set. - mk(Set<E>) - Method in class it.unive.lisa.analysis.SetLattice
-
Utility for creating a concrete instance of
SetLattice
given a set. - mk(Set<Type>) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
- mkDotFile(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
dot
extension. - mkEmptySet() - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Builds an empty
ExternalSet
that uses this cache. - mkOutputFile(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkOutputFile(String, boolean) - Static method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkSet(Iterable<T>) - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains the elements of the given iterable. - mkSingletonSet(T) - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains only the given element. - MonolithicHeap - Class in it.unive.lisa.analysis.heap
-
A monolithic heap implementation that abstracts all heap locations to a unique identifier.
- MonolithicHeap() - Constructor for class it.unive.lisa.analysis.heap.MonolithicHeap
-
Builds a new instance.
N
- NANOS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as nanoseconds.
- NativeCall - Class in it.unive.lisa.cfg.statement
-
A native call, modeling the usage of one of the native constructs of the language.
- NativeCall(CFG, String, int, int, String, Expression...) - Constructor for class it.unive.lisa.cfg.statement.NativeCall
-
Builds the untyped native call, happening at the given location in the program.
- NativeCall(CFG, String, int, int, String, Type, Expression...) - Constructor for class it.unive.lisa.cfg.statement.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCall(CFG, String, Expression...) - Constructor for class it.unive.lisa.cfg.statement.NativeCall
-
Builds the untyped native call.
- NativeCall(CFG, String, Type, Expression...) - Constructor for class it.unive.lisa.cfg.statement.NativeCall
-
Builds the native call.
- negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Negates the current satisfiability, getting the opposite result.
- noneMatch(Predicate<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields
true
iff none of the elements contained in this set satisfy the given predicate. - NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>> - Interface in it.unive.lisa.analysis.nonrelational
-
A non-relational domain, that is able to compute the value of a
SymbolicExpression
s of typeE
by knowing the values of all program variables. - NonRelationalHeapDomain<T extends NonRelationalHeapDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational
-
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>> - Interface in it.unive.lisa.analysis.nonrelational
-
A non-relational value domain, that is able to compute the value of a
ValueExpression
by knowing the values of all program variables. - NoOp - Class in it.unive.lisa.cfg.statement
-
A statement that does nothing.
- NoOp(CFG) - Constructor for class it.unive.lisa.cfg.statement.NoOp
-
Builds the no-op.
- NoOp(CFG, String, int, int) - Constructor for class it.unive.lisa.cfg.statement.NoOp
-
Builds the no-op, happening at the given location in the program.
- NOT_SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is not satisfied.
- NullConstant - Class in it.unive.lisa.symbolic.value
-
A
Constant
that represent thenull
value. - NullLiteral - Class in it.unive.lisa.cfg.statement
-
A literal representing the
null
constant. - NullLiteral(CFG) - Constructor for class it.unive.lisa.cfg.statement.NullLiteral
-
Builds the null literal.
- NullLiteral(CFG, String, int, int) - Constructor for class it.unive.lisa.cfg.statement.NullLiteral
-
Builds the null literal, happening at the given location in the program.
- NullType - Class in it.unive.lisa.cfg.type
-
The Null type, that is the type of {#link NullLiteral}.
- NUMERIC_ADD - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1
andn2
of typeNumericType
, this operator returns the addition ofn1
withn2
. - NUMERIC_DIV - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1
andn2
, withn2
not equal to zero, of typeNumericType
, this operator returns the division ofi1
withn2
. - NUMERIC_MOD - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1
andn2
of typeNumericType
, this operator returns the modulo ofn1
withn2
. - NUMERIC_MUL - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1
andn2
of typeNumericType
, this operator returns the multiplication ofi1
withn2
. - NUMERIC_NEG - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a numeric value of type
NumericType
, this operator returns the negation of the numerical value. - NUMERIC_SUB - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1
andn2
of typeNumericType
, this operator returns the subtraction ofn1
withn2
. - NumericType - Interface in it.unive.lisa.cfg.type
-
Numeric type interface.
O
- off() - Method in class it.unive.lisa.logging.Counter
-
Turns off the counter, logging the event.
- offset - Variable in class it.unive.lisa.cfg.statement.Statement
-
The offset of the statement within the cfg.
- on() - Method in class it.unive.lisa.logging.Counter
-
Turns on the counter, logging the event.
- ONLY_FIRST - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present only in the first report.
- ONLY_SECOND - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present only in the second report.
- OpenCall - Class in it.unive.lisa.cfg.statement
-
A call to a CFG that is not under analysis.
- OpenCall(CFG, String, int, int, String, Type, Expression...) - Constructor for class it.unive.lisa.cfg.statement.OpenCall
-
Builds the open call, happening at the given location in the program.
- OpenCall(CFG, String, Expression...) - Constructor for class it.unive.lisa.cfg.statement.OpenCall
-
Builds the untyped open call.
- OpenCall(CFG, String, Type, Expression...) - Constructor for class it.unive.lisa.cfg.statement.OpenCall
-
Builds the open call.
- Operator - Interface in it.unive.lisa.symbolic.value
-
An operator that causes a transformation of one or more
SymbolicExpression
s. - or(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical or between this satisfiability and the given one.
P
- Parameter - Class in it.unive.lisa.cfg
-
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.
- Parameter(String) - Constructor for class it.unive.lisa.cfg.Parameter
-
Builds an untyped parameter reference, identified by its name.
- Parameter(String, int, int, String, Type) - Constructor for class it.unive.lisa.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- Parameter(String, Type) - Constructor for class it.unive.lisa.cfg.Parameter
-
Builds a typed parameter reference, identified by its name and its type.
- peek() - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- peek() - Method in interface it.unive.lisa.util.workset.WorkingSet
-
Returns the next element to be processed from this working set without removing it.
- PointerType - Interface in it.unive.lisa.cfg.type
-
Pointer type interface.
- pop() - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- pop() - Method in interface it.unive.lisa.util.workset.WorkingSet
-
Removes the next element to be processed from this working set and returns it.
- predecessorsOf(Statement) - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this matrix going from such node to the given one.
- predecessorsOf(Statement) - Method in class it.unive.lisa.cfg.CFG
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this control flow graph going from such node to the given one.
- push(E) - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- push(E) - Method in interface it.unive.lisa.util.workset.WorkingSet
-
Pushes a new element into this working set.
- put(Expression, V) - Method in class it.unive.lisa.analysis.ExpressionStore
-
Stores the given lattice element for the given expression.
R
- read(Reader) - Static method in class it.unive.lisa.outputs.JsonReport
-
Reads a
JsonReport
from aReader
instance, deserializing it as a json object. - readDot(Reader) - Static method in class it.unive.lisa.outputs.DotGraph
-
Reads a graph through the given
Reader
. - reduce(T, BiFunction<T, T, T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Reduces this set to a single element.
- remove(Object) - Method in class it.unive.lisa.util.collections.ExternalSet
- removeAll(Collection<?>) - Method in class it.unive.lisa.util.collections.ExternalSet
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Reports a difference in one of the components of the reports.
- representation() - Method in class it.unive.lisa.analysis.AbstractState
- representation() - Method in class it.unive.lisa.analysis.AnalysisState
- representation() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- representation() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- representation() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- representation() - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
-
Yields a textual representation of the content of this domain's instance.
- representation() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- representation() - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a textual representation of the content of this domain's instance.
- resolve(UnresolvedCall) - Method in interface it.unive.lisa.callgraph.CallGraph
-
Yields a
Call
implementation that corresponds to the resolution of the givenUnresolvedCall
. - resolve(UnresolvedCall) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
- Ret - Class in it.unive.lisa.cfg.statement
-
Terminates the execution of the CFG where this statement lies, without returning anything to the caller.
- Ret(CFG) - Constructor for class it.unive.lisa.cfg.statement.Ret
-
Builds the return.
- Ret(CFG, String, int, int) - Constructor for class it.unive.lisa.cfg.statement.Ret
-
Builds the return, happening at the given location in the program.
- retainAll(Collection<?>) - Method in class it.unive.lisa.util.collections.ExternalSet
- Return - Class in it.unive.lisa.cfg.statement
-
Returns an expression to the caller CFG, terminating the execution of the CFG where this statement lies.
- Return(CFG, Expression) - Constructor for class it.unive.lisa.cfg.statement.Return
-
Builds the return, returning
expression
to the caller CFG. - Return(CFG, String, int, int, Expression) - Constructor for class it.unive.lisa.cfg.statement.Return
-
Builds the return, returning
expression
to the caller CFG, happening at the given location in the program. - run() - Method in class it.unive.lisa.LiSA
-
Runs LiSA, executing all the checks that have been added.
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableAction
-
Runs the action.
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableSupplier
-
Runs the supplier.
- run(Object...) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableMultiConsumer
-
Runs this consumer.
- run(Object...) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableMultiFunction
-
Runs this function.
- run(T0) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableConsumer
-
Runs this consumer.
- run(T0) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableFunction
-
Runs this function.
- run(T0, T1) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableBiConsumer
-
Runs this consumer.
- run(T0, T1) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableBiFunction
-
Runs this function.
- run(T0, T1, T2) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableTriConsumer
-
Runs this consumer.
- run(T0, T1, T2) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableTriFunction
-
Runs this function.
- run(T0, T1, T2, T3) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableQuadConsumer
-
Runs this consumer.
- run(T0, T1, T2, T3) - Method in interface it.unive.lisa.logging.TimerLogger.LoggableQuadFunction
-
Runs this function.
- run(T0, T1, T2, T3, T4) - Method in interface it.unive.lisa.logging.TimerLogger.LoggablePentaConsumer
-
Runs this consumer.
- run(T0, T1, T2, T3, T4) - Method in interface it.unive.lisa.logging.TimerLogger.LoggablePentaFunction
-
Runs this function.
S
- sameContent() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields
true
if and only if the two collections used to create this builder contain the same elements, that is, if bothCollectionsDiffBuilder.getOnlyFirst()
andCollectionsDiffBuilder.getOnlySecond()
are empty. - SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is satisfied.
- satisfies(E) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Checks if the given expression is satisfied by the abstract values of this domain, returning an instance of
SemanticDomain.Satisfiability
. - satisfies(SymbolicExpression) - Method in class it.unive.lisa.analysis.AbstractState
- satisfies(SymbolicExpression) - Method in class it.unive.lisa.analysis.AnalysisState
- satisfies(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- satisfies(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- satisfies(SymbolicExpression, HeapEnvironment<T>) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalHeapDomain
-
Checks if the given expression is satisfied by a given heap environment tracking this abstract values, returning an instance of
SemanticDomain.Satisfiability
. - satisfies(SymbolicExpression, ValueEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
- satisfies(SymbolicExpression, ValueEnvironment<T>) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalValueDomain
-
Checks if the given expression is satisfied by a given value environment tracking this abstract values, returning an instance of
SemanticDomain.Satisfiability
. - satisfies(ValueExpression) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- satisfies(ValueExpression) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- satisfiesBinaryExpression(BinaryOperator, T, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
BinaryExpression
applyingoperator
to two expressions whose abstract values areleft
, andright
. - satisfiesIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of the identifier
identifier
on this abstract domain. - satisfiesNonNullConstant(Constant) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNullConstant() - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of the null constant
NullConstant
on this abstract domain. - satisfiesTernaryExpression(TernaryOperator, T, T, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
TernaryExpression
applyingoperator
to three expressions whose abstract values areleft
,middle
andright
. - satisfiesTypeConversion(Type, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
TypeConversion
converting an expression whose abstract value isarg
to the givenType
. - satisfiesUnaryExpression(UnaryOperator, T) - Method in class it.unive.lisa.analysis.nonrelational.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
, returning an instance ofSemanticDomain.Satisfiability
. - SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds.
- SECONDS_AND_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds and milliseconds.
- SemanticDomain<D extends SemanticDomain<D,E,I>,E extends SymbolicExpression,I extends Identifier> - Interface in it.unive.lisa.analysis
-
A domain able to determine how abstract information evolves thanks to the semantics of statements and expressions.
- SemanticDomain.Satisfiability - Enum in it.unive.lisa.analysis
-
The satisfiability of an expression.
- SemanticException - Exception in it.unive.lisa.analysis
-
An exception that occurred during semantic computation.
- SemanticException() - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String, Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Assignment
-
Semantics of an assignment (
left = right
) is evaluated as follows: the semantic of theright
is evaluated using the givenentryState
, returning a new analysis stateas_r = <state_r, expr_r>
the semantic of theleft
is evaluated usingas_r
, returning a new analysis stateas_l = <state_l, expr_l>
the final post-state is evaluated throughAnalysisState.assign(Identifier, SymbolicExpression)
, usingexpr_l
asid
andexpr_r
asvalue
This means that all side effects fromright
are evaluated before the ones fromleft
.
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement. - semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Call
-
Semantics of a call statement is evaluated by computing the semantics of its parameters, from left to right, using the analysis state from each parameter's computation as entry state for the next one.
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Literal
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.NoOp
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.NullLiteral
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Ret
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Return
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Statement
-
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Throw
- semantics(AnalysisState<H, V>, CallGraph, ExpressionStore<AnalysisState<H, V>>) - Method in class it.unive.lisa.cfg.statement.Variable
- semanticsOf(HeapExpression) - Method in class it.unive.lisa.analysis.BaseHeapDomain
-
Yields a new instance of this domain, built by evaluating the semantics of the given heap expression.
- semanticsOf(HeapExpression) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- SequentialEdge - Class in it.unive.lisa.cfg.edge
-
A sequential edge connecting two statement.
- SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.cfg.edge.SequentialEdge
-
Builds the edge.
- setCallGraph(T) - Method in class it.unive.lisa.LiSA
-
Sets the
CallGraph
to use for the analysis. - setDumpAnalysis(boolean) - Method in class it.unive.lisa.LiSA
-
Sets whether or not dot files, named
analysis__<cfg name>.dot
, should be created and dumped in the working directory at the end of the analysis. - setDumpCFGs(boolean) - Method in class it.unive.lisa.LiSA
-
Sets whether or not dot files, named
<cfg name>.dot
, should be created and dumped in the working directory at the start of the execution. - setDumpTypeInference(boolean) - Method in class it.unive.lisa.LiSA
-
Sets whether or not dot files, named
typing__<cfg name>.dot
, should be created and dumped in the working directory at the end of the type inference. - setInferTypes(boolean) - Method in class it.unive.lisa.LiSA
-
Sets whether or not runtime types should be inferred before executing the semantic analysis.
- setJsonOutput(boolean) - Method in class it.unive.lisa.LiSA
-
Sets whether or not a json report file, named
report.json
, should be created and dumped in the working directory at the end of the analysis. - SetLattice<S extends SetLattice<S,E>,E> - Class in it.unive.lisa.analysis
-
A generic set lattice containing a set of elements.
- SetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.SetLattice
-
Builds the lattice.
- setMessage(String) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Sets the message of this warning.
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.BinaryExpression
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Call
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Literal
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.NoOp
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Ret
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Return
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Statement
-
Sets the offset of this statement to the given value, and then proceeds by setting the one of its nested expressions to subsequent values.
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Throw
- setOffset(int) - Method in class it.unive.lisa.cfg.statement.Variable
- setRuntimeTypes(ExternalSet<Type>) - Method in class it.unive.lisa.cfg.statement.Expression
-
Sets the runtime types of this expression.
- setWorkdir(String) - Method in class it.unive.lisa.LiSA
-
Sets the working directory for this instance of LiSA, that is, the directory files will be created, if any.
- setWorkdir(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Sets the working directory that will be used as root folder for the creation of all files.
- simplify() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
-
Simplifies this matrix, removing all
NoOp
s and rewriting the edge set accordingly. - simplify() - Method in class it.unive.lisa.cfg.CFG
-
Simplifies this cfg, removing all
NoOp
s and rewriting the edge set accordingly. - size() - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields the number of elements in this set.
- size() - Method in class it.unive.lisa.util.collections.ExternalSetCache
-
Yields the total number of elements stored in this cache.
- size() - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- size() - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- size() - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- size() - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- size() - Method in interface it.unive.lisa.util.workset.WorkingSet
-
Yields the size of this working set, that is, the number of elements contained in it.
- Skip - Class in it.unive.lisa.symbolic.value
-
An expression that does nothing.
- Skip() - Constructor for class it.unive.lisa.symbolic.value.Skip
-
Builds the skip.
- smallStepSemantics(E) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, that has been modified accordingly to the semantics of the given
expression
. - smallStepSemantics(SymbolicExpression) - Method in class it.unive.lisa.analysis.AbstractState
- smallStepSemantics(SymbolicExpression) - Method in class it.unive.lisa.analysis.AnalysisState
- smallStepSemantics(SymbolicExpression) - Method in class it.unive.lisa.analysis.BaseHeapDomain
- smallStepSemantics(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- smallStepSemantics(ValueExpression) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- smallStepSemantics(ValueExpression) - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- Statement - Class in it.unive.lisa.cfg.statement
-
A statement of the program to analyze.
- Statement(CFG, String, int, int) - Constructor for class it.unive.lisa.cfg.statement.Statement
-
Builds a statement happening at the given source location.
- StatementWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on a statement.
- StatementWarning(Statement, String) - Constructor for class it.unive.lisa.checks.warnings.StatementWarning
-
Builds the warning.
- STRING_CONCAT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1
ands2
of typeStringType
, this operator return the concatenation ofs1
withs2
. - STRING_CONTAINS - it.unive.lisa.symbolic.value.BinaryOperator
- STRING_ENDS_WITH - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1
ands2
of typeStringType
, this operator checks whethers1
ends withs2
, namely ifs2
is the suffix ofs1
. - STRING_EQUALS - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1
ands2
of typeStringType
, this operator checks if the two strings are equals. - STRING_INDEX_OF - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1
ands2
of typeStringType
, this operator return the position of the first occurrence ofs1
ins2
. - STRING_LENGTH - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a string of type
StringType
returns the length of that string. - STRING_REPLACE - it.unive.lisa.symbolic.value.TernaryOperator
-
Given an input string, a search string, and a replace string, all of type
StringType
, this operator returns the input string where all the occurrences of the search string are replaced with the replace string. - STRING_STARTS_WITH - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1
ands2
of typeStringType
, this operator checks whethers1
starts withs2
, namely ifs2
is the prefix ofs1
. - STRING_SUBSTRING - it.unive.lisa.symbolic.value.TernaryOperator
-
Given a string
s
of typeStringType
and two unsigned integersi
andj
of typeNumericType
, returns the the substring betweeni
andj
(excluded) of the input string. - StringType - Class in it.unive.lisa.symbolic.types
-
An internal implementation of the
StringType
interface that can be used by domains that need a concrete instance of that interface. - StringType - Interface in it.unive.lisa.cfg.type
-
String type interface.
- SymbolicExpression - Class in it.unive.lisa.symbolic
-
A symbolic expression that can be evaluated by
SemanticDomain
s. - SymbolicExpression(ExternalSet<Type>) - Constructor for class it.unive.lisa.symbolic.SymbolicExpression
-
Builds the symbolic expression.
- SyntacticCheck - Interface in it.unive.lisa.checks.syntactic
-
A check that inspects the syntactic structure of the program to report warnings about its structure.
- SyntacticChecksExecutor - Class in it.unive.lisa.checks.syntactic
-
Utility class that handles the execution of
SyntacticCheck
s. - SyntacticChecksExecutor() - Constructor for class it.unive.lisa.checks.syntactic.SyntacticChecksExecutor
T
- TernaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
TernaryExpression
to threeSymbolicExpression
s. - TernaryExpression(ExternalSet<Type>, SymbolicExpression, SymbolicExpression, SymbolicExpression, TernaryOperator) - Constructor for class it.unive.lisa.symbolic.value.TernaryExpression
-
Builds the binary expression.
- TernaryOperator - Enum in it.unive.lisa.symbolic.value
-
A ternary operator that can be applied to a triple of
SymbolicExpression
s. - Throw - Class in it.unive.lisa.cfg.statement
-
A statement that raises an error, stopping the execution of the current CFG and propagating the error to among the call chain.
- Throw(CFG, Expression) - Constructor for class it.unive.lisa.cfg.statement.Throw
-
Builds the throw, raising
expression
as error. - Throw(CFG, String, int, int, Expression) - Constructor for class it.unive.lisa.cfg.statement.Throw
-
Builds the throw, raising
expression
as error, happening at the given location in the program. - TimeFormat - Enum in it.unive.lisa.logging
-
Time formatting utility.
- TimerLogger - Class in it.unive.lisa.logging
-
An utility class that allows automatic logging of the execution time of a method.
- TimerLogger() - Constructor for class it.unive.lisa.logging.TimerLogger
- TimerLogger.LoggableAction - Interface in it.unive.lisa.logging
-
A
Runnable
executing a function with no arguments a no return value. - TimerLogger.LoggableBiConsumer<T0,T1> - Interface in it.unive.lisa.logging
-
A
Consumer
consuming two arguments. - TimerLogger.LoggableBiFunction<R,T0,T1> - Interface in it.unive.lisa.logging
-
A
Function
consuming two arguments and producing one value. - TimerLogger.LoggableConsumer<T0> - Interface in it.unive.lisa.logging
-
A
Consumer
consuming one argument. - TimerLogger.LoggableFunction<R,T0> - Interface in it.unive.lisa.logging
-
A
Function
consuming one argument and producing one value. - TimerLogger.LoggableMultiConsumer - Interface in it.unive.lisa.logging
-
A
Consumer
consuming multiple arguments. - TimerLogger.LoggableMultiFunction<R> - Interface in it.unive.lisa.logging
-
A
Function
consuming multiple arguments and producing one value. - TimerLogger.LoggablePentaConsumer<T0,T1,T2,T3,T4> - Interface in it.unive.lisa.logging
-
A
Consumer
consuming five arguments. - TimerLogger.LoggablePentaFunction<R,T0,T1,T2,T3,T4> - Interface in it.unive.lisa.logging
-
A
Function
consuming five arguments and producing one value. - TimerLogger.LoggableQuadConsumer<T0,T1,T2,T3> - Interface in it.unive.lisa.logging
-
A
Consumer
consuming four arguments. - TimerLogger.LoggableQuadFunction<R,T0,T1,T2,T3> - Interface in it.unive.lisa.logging
-
A
Function
consuming four arguments and producing one value. - TimerLogger.LoggableSupplier<R> - Interface in it.unive.lisa.logging
-
A
Supplier
producing one element. - TimerLogger.LoggableTriConsumer<T0,T1,T2> - Interface in it.unive.lisa.logging
-
A
Consumer
consuming three arguments. - TimerLogger.LoggableTriFunction<R,T0,T1,T2> - Interface in it.unive.lisa.logging
-
A
Function
consuming three arguments and producing one value. - toArray() - Method in class it.unive.lisa.util.collections.ExternalSet
- toArray(E[]) - Method in class it.unive.lisa.util.collections.ExternalSet
- top() - Method in class it.unive.lisa.analysis.AbstractState
- top() - Method in class it.unive.lisa.analysis.AnalysisState
- top() - Method in class it.unive.lisa.analysis.ExpressionStore
- top() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- top() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
- top() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- top() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the top element of this lattice.
- top() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- top() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- top() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- toString() - Method in class it.unive.lisa.analysis.AbstractState
- toString() - Method in class it.unive.lisa.analysis.AnalysisState
- toString() - Method in class it.unive.lisa.analysis.BaseHeapDomain
- toString() - Method in class it.unive.lisa.analysis.FunctionalLattice
- toString() - Method in class it.unive.lisa.analysis.HeapSemanticOperation.HeapReplacement
- toString() - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- toString() - Method in class it.unive.lisa.analysis.InverseSetLattice
- toString() - Method in class it.unive.lisa.analysis.nonrelational.HeapEnvironment
- toString() - Method in class it.unive.lisa.analysis.nonrelational.ValueEnvironment
- toString() - Method in class it.unive.lisa.analysis.SetLattice
- toString() - Method in class it.unive.lisa.cfg.AdjacencyMatrix
- toString() - Method in class it.unive.lisa.cfg.CFG
- toString() - Method in class it.unive.lisa.cfg.CFGDescriptor
- toString() - Method in class it.unive.lisa.cfg.edge.Edge
- toString() - Method in class it.unive.lisa.cfg.edge.FalseEdge
- toString() - Method in class it.unive.lisa.cfg.edge.SequentialEdge
- toString() - Method in class it.unive.lisa.cfg.edge.TrueEdge
- toString() - Method in class it.unive.lisa.cfg.Parameter
- toString() - Method in class it.unive.lisa.cfg.statement.Assignment
- toString() - Method in class it.unive.lisa.cfg.statement.CFGCall
- toString() - Method in class it.unive.lisa.cfg.statement.Literal
- toString() - Method in class it.unive.lisa.cfg.statement.NativeCall
- toString() - Method in class it.unive.lisa.cfg.statement.NoOp
- toString() - Method in class it.unive.lisa.cfg.statement.NullLiteral
- toString() - Method in class it.unive.lisa.cfg.statement.OpenCall
- toString() - Method in class it.unive.lisa.cfg.statement.Ret
- toString() - Method in class it.unive.lisa.cfg.statement.Return
- toString() - Method in class it.unive.lisa.cfg.statement.Statement
- toString() - Method in class it.unive.lisa.cfg.statement.Throw
- toString() - Method in class it.unive.lisa.cfg.statement.UnresolvedCall
- toString() - Method in class it.unive.lisa.cfg.statement.Variable
- toString() - Method in class it.unive.lisa.cfg.type.NullType
- toString() - Method in class it.unive.lisa.cfg.type.Untyped
- toString() - Method in class it.unive.lisa.cfg.type.VoidType
- toString() - Method in class it.unive.lisa.checks.warnings.CFGDesccriptorWarning
- toString() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- toString() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- toString() - Method in class it.unive.lisa.checks.warnings.Warning
- toString() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- toString() - Method in class it.unive.lisa.outputs.DotGraph
- toString() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- toString() - Method in class it.unive.lisa.outputs.JsonReport
- toString() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- toString() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- toString() - Method in class it.unive.lisa.symbolic.types.BoolType
- toString() - Method in class it.unive.lisa.symbolic.types.IntType
- toString() - Method in class it.unive.lisa.symbolic.types.StringType
- toString() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- toString() - Method in enum it.unive.lisa.symbolic.value.BinaryOperator
- toString() - Method in class it.unive.lisa.symbolic.value.Constant
- toString() - Method in class it.unive.lisa.symbolic.value.HeapIdentifier
- toString() - Method in class it.unive.lisa.symbolic.value.NullConstant
- toString() - Method in class it.unive.lisa.symbolic.value.Skip
- toString() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- toString() - Method in enum it.unive.lisa.symbolic.value.TernaryOperator
- toString() - Method in class it.unive.lisa.symbolic.value.TypeConversion
- toString() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- toString() - Method in enum it.unive.lisa.symbolic.value.UnaryOperator
- toString() - Method in class it.unive.lisa.symbolic.value.ValueIdentifier
- toString() - Method in class it.unive.lisa.util.collections.ExternalSet
- toString() - Method in class it.unive.lisa.util.collections.ExternalSetCache
- toString() - Method in class it.unive.lisa.util.workset.ConcurrentFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.workset.ConcurrentLIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.workset.FIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.workset.LIFOWorkingSet
- traverse(AnalysisState<H, V>) - Method in class it.unive.lisa.cfg.edge.Edge
-
Traverses this edge, optionally modifying the given
sourceState
by applying semantic assumptions. - traverse(AnalysisState<H, V>) - Method in class it.unive.lisa.cfg.edge.FalseEdge
- traverse(AnalysisState<H, V>) - Method in class it.unive.lisa.cfg.edge.SequentialEdge
- traverse(AnalysisState<H, V>) - Method in class it.unive.lisa.cfg.edge.TrueEdge
- TrueEdge - Class in it.unive.lisa.cfg.edge
-
A sequential edge connecting two statements.
- TrueEdge(Statement, Statement) - Constructor for class it.unive.lisa.cfg.edge.TrueEdge
-
Builds the edge.
- Type - Interface in it.unive.lisa.cfg.type
-
Type interface.
- TypeConversion - Class in it.unive.lisa.symbolic.value
-
An expression converting the type of a
SymbolicExpression
to the given desiredType
. - TypeConversion(Type, SymbolicExpression) - Constructor for class it.unive.lisa.symbolic.value.TypeConversion
-
Builds the type conversion.
- TypeEnvironment - Class in it.unive.lisa.analysis.impl.types
-
A type environment, mapping
Identifier
s toInferredTypes
holding the runtime types of identifiers, that behave the similarly to aValueEnvironment
. - TypeEnvironment() - Constructor for class it.unive.lisa.analysis.impl.types.TypeEnvironment
-
Builds an empty type environment.
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Assignment
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Call
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Literal
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.NoOp
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.NullLiteral
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Ret
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Return
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Statement
-
Computes the runtime types for this statement, expressing how type information is transformed by the execution of this statement.
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Throw
- typeInference(AnalysisState<H, TypeEnvironment>, CallGraph, ExpressionStore<AnalysisState<H, TypeEnvironment>>) - Method in class it.unive.lisa.cfg.statement.Variable
- types() - Static method in class it.unive.lisa.caches.Caches
-
Yields the globally defined cache for
ExternalSet
s containingType
s.
U
- UnaryExpression - Class in it.unive.lisa.symbolic.value
-
A unary expression that applies a
UnaryOperator
to aSymbolicExpression
. - UnaryExpression(ExternalSet<Type>, SymbolicExpression, UnaryOperator) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
-
Builds the unary expression.
- UnaryNativeCall - Class in it.unive.lisa.cfg.statement
-
A
NativeCall
with a single argument. - UnaryNativeCall(CFG, String, int, int, String, Expression) - Constructor for class it.unive.lisa.cfg.statement.UnaryNativeCall
-
Builds the untyped native call, happening at the given location in the program.
- UnaryNativeCall(CFG, String, int, int, String, Type, Expression) - Constructor for class it.unive.lisa.cfg.statement.UnaryNativeCall
-
Builds the native call, happening at the given location in the program.
- UnaryNativeCall(CFG, String, Expression) - Constructor for class it.unive.lisa.cfg.statement.UnaryNativeCall
-
Builds the untyped native call.
- UnaryNativeCall(CFG, String, Type, Expression) - Constructor for class it.unive.lisa.cfg.statement.UnaryNativeCall
-
Builds the native call.
- UnaryOperator - Enum in it.unive.lisa.symbolic.value
-
A unary operator that can be applied to a single
SymbolicExpression
. - unarySemantics(AnalysisState<H, V>, CallGraph, SymbolicExpression) - Method in class it.unive.lisa.cfg.statement.UnaryNativeCall
-
Computes the semantics of the call, after the semantics of the parameter has been computed.
- union(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.ExternalSet
-
Yields the union of this set and another.
- UNKNOWN - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that it is not possible to determine whether or not an expression is satisfied.
- UnresolvedCall - Class in it.unive.lisa.cfg.statement
-
A call that happens inside the program to analyze.
- UnresolvedCall(CFG, String, int, int, String, Expression...) - Constructor for class it.unive.lisa.cfg.statement.UnresolvedCall
-
Builds the CFG call, happening at the given location in the program.
- UnresolvedCall(CFG, String, Expression...) - Constructor for class it.unive.lisa.cfg.statement.UnresolvedCall
-
Builds the call.
- Untyped - Class in it.unive.lisa.cfg.type
-
The untyped type, corresponding to an unknown/untyped type.
- UP_TO_HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours, minutes, seconds, milliseconds and nanoseconds.
- UP_TO_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds and nanoseconds.
- UP_TO_MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes, seconds, milliseconds and nanoseconds.
- UP_TO_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds, milliseconds and nanoseconds.
V
- ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis
-
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations.
- ValueEnvironment<T extends NonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational
-
An environment for a
NonRelationalValueDomain
, that mapsIdentifier
s to instances of such domain. - ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.ValueEnvironment
-
Builds an empty environment.
- ValueExpression - Class in it.unive.lisa.symbolic.value
-
A symbolic expression that represents an operation on the program's state.
- ValueExpression(ExternalSet<Type>) - Constructor for class it.unive.lisa.symbolic.value.ValueExpression
-
Builds the heap expression.
- ValueIdentifier - Class in it.unive.lisa.symbolic.value
-
An identifier of a real program variable.
- ValueIdentifier(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.symbolic.value.ValueIdentifier
-
Builds the identifier.
- valueOf(String) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.BinaryOperator
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.TernaryOperator
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.UnaryOperator
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.BinaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.TernaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.UnaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- Variable - Class in it.unive.lisa.cfg.statement
-
A reference to a variable of the current CFG, identified by its name.
- Variable(CFG, String) - Constructor for class it.unive.lisa.cfg.statement.Variable
-
Builds the untyped variable reference, identified by its name.
- Variable(CFG, String, int, int, String, Type) - Constructor for class it.unive.lisa.cfg.statement.Variable
-
Builds the variable reference, identified by its name, happening at the given location in the program.
- Variable(CFG, String, Type) - Constructor for class it.unive.lisa.cfg.statement.Variable
-
Builds a typed variable reference, identified by its name and its type.
- visitCFGDescriptor(CheckTool, CFGDescriptor) - Method in interface it.unive.lisa.checks.syntactic.SyntacticCheck
-
Callback invoked when inspecting the descriptor of a CFG.
- visitExpression(CheckTool, Expression) - Method in interface it.unive.lisa.checks.syntactic.SyntacticCheck
-
Callback invoked when inspecting an expression.
- visitStatement(CheckTool, Statement) - Method in interface it.unive.lisa.checks.syntactic.SyntacticCheck
-
Callback invoked when inspecting a statement.
- VoidType - Class in it.unive.lisa.cfg.type
-
The void type.
W
- warn(String) - Method in class it.unive.lisa.checks.CheckTool
-
Reports a new warning that is meant to be a generic warning on the program.
- Warning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- Warning(String) - Constructor for class it.unive.lisa.checks.warnings.Warning
-
Builds the warning.
- WARNINGS - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated warnings.
- WarningWithLocation - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- WarningWithLocation(String, int, int, String) - Constructor for class it.unive.lisa.checks.warnings.WarningWithLocation
-
Builds the warning.
- warnOn(CFGDescriptor, String) - Method in class it.unive.lisa.checks.CheckTool
-
Reports a new warning with the given message on the declaration of the cfg represented by the given descriptor.
- warnOn(CFG, String) - Method in class it.unive.lisa.checks.CheckTool
-
Reports a new warning with the given message on the declaration of the given cfg.
- warnOn(Expression, String) - Method in class it.unive.lisa.checks.CheckTool
-
Reports a new warning with the given message on the given expression.
- warnOn(Statement, String) - Method in class it.unive.lisa.checks.CheckTool
-
Reports a new warning with the given message on the given statement.
- widening(AbstractState<H, V>) - Method in class it.unive.lisa.analysis.AbstractState
- widening(AnalysisState<H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
- widening(L) - Method in class it.unive.lisa.analysis.BaseLattice
- widening(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the widening operation between this lattice element and the given one.
- wideningAux(F) - Method in class it.unive.lisa.analysis.FunctionalLattice
- wideningAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- wideningAux(TypeEnvironment) - Method in class it.unive.lisa.analysis.impl.types.TypeEnvironment
- wideningAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the widening operation between this lattice element and the given one, assuming that base cases have already been handled.
- wideningAux(S) - Method in class it.unive.lisa.analysis.InverseSetLattice
- wideningAux(S) - Method in class it.unive.lisa.analysis.SetLattice
- WorkingSet<E> - Interface in it.unive.lisa.util.workset
-
A working set, containing items to be processed.
All Classes All Packages