A B C D E F G H I J K L M N O P R S T U V W 
All Classes All Packages

A

AbstractState<A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>> - Interface 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.
accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Accepts the given GraphVisitor.
accept(GraphVisitor<G, N, E, V>, V) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Accepts the given GraphVisitor.
accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Node
Accepts the given GraphVisitor.
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.edge.Edge
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Call
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Literal
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
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.
AccessGlobal - Class in it.unive.lisa.program.cfg.statement
An access to a Global of a Unit.
AccessGlobal(CFG, CodeLocation, Unit, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessGlobal
Builds the global access, happening at the given location in the program.
AccessGlobal(CFG, Unit, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessGlobal
Builds the global access.
AccessUnitGlobal - Class in it.unive.lisa.program.cfg.statement
An access to an instance Global of a CompilationUnit.
AccessUnitGlobal(CFG, CodeLocation, Expression, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
Builds the global access, happening at the given location in the program.
AccessUnitGlobal(CFG, Expression, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
Builds the global access.
add(T) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
add(T) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
addAll(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
addAll(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Adds to this set all elements contained into other.
addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
addCFG(CFG) - Method in class it.unive.lisa.program.Unit
Adds a new CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addCompilationUnit(CompilationUnit) - Method in class it.unive.lisa.program.Program
Adds a new CompilationUnit, identified by its name (Unit.getName()), to this program.
addConstruct(NativeCFG) - Method in class it.unive.lisa.program.Unit
Adds a new NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Adds an edge to this matrix.
addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Adds an edge to this graph.
addEdge(E, String, String) - Method in class it.unive.lisa.outputs.DotGraph
Adds an edge to the graph.
addGlobal(Global) - Method in class it.unive.lisa.program.Unit
Adds a new Global, identified by its name (Global.getName()), to this unit.
addInstanceCFG(CFG) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addInstanceConstruct(NativeCFG) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addInstanceGlobal(Global) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance Global, identified by its name (Global.getName()), to this unit.
addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Adds the given node to the set of nodes.
addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes, optionally setting that as root.
addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, reachable executable from other graphs).
addNode(N, boolean, boolean, Function<N, String>) - Method in class it.unive.lisa.outputs.DotGraph
Adds a node to the graph.
addSource(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Adds an Identifier to the set of identifiers that are the sources of this replacement.
addSuperUnit(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new CompilationUnit as superunit of this unit.
addSyntacticCheck(SyntacticCheck) - Method in class it.unive.lisa.LiSAConfiguration
Adds the given syntactic check to the ones that will be executed.
addSyntacticChecks(Collection<SyntacticCheck>) - Method in class it.unive.lisa.LiSAConfiguration
Adds the given syntactic checks to the ones that will be executed.
addTarget(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Adds an Identifier to the set of identifiers that are the targets of this replacement.
addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Adds a VariableTableEntry at the end of the variable table.
adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.Graph
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
AdjacencyMatrix<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
An adjacency matrix for a graph that has Nodes as nodes and Edges as edges.
AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Builds a new matrix.
AdjacencyMatrix(AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Copies the given matrix by keeping the same edge ExternalSetCache, shallow-copying the Nodes 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.
allInstances() - Method in class it.unive.lisa.symbolic.types.BoolType
 
allInstances() - Method in class it.unive.lisa.symbolic.types.IntType
 
allInstances() - Method in class it.unive.lisa.symbolic.types.StringType
 
allInstances() - Method in class it.unive.lisa.type.NullType
 
allInstances() - Method in interface it.unive.lisa.type.Type
Yields all possible instances of this type, including itself.
allInstances() - Method in class it.unive.lisa.type.TypeTokenType
 
allInstances() - Method in class it.unive.lisa.type.Untyped
 
allInstances() - Method in class it.unive.lisa.type.VoidType
 
allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields true iff all the elements contained in this set satisfy the given predicate.
AllocationSite - Class in it.unive.lisa.analysis.impl.heap.pointbased
A heap identifier that track also the source location where it has been allocated and a field (optional).
AllocationSite(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
Builds a strong allocation site from its source code location (without field).
AllocationSite(ExternalSet<Type>, String, boolean) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
Builds an allocation site from its source code location (without field) and specifying if it is weak.
AllocationSite(ExternalSet<Type>, String, SymbolicExpression) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
Builds a strong allocation site from its source code location and its field.
AllocationSite(ExternalSet<Type>, String, SymbolicExpression, boolean) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
Builds an allocation site from its source code location and its field and specifying if it is weak.
AllocationSites - Class in it.unive.lisa.analysis.impl.heap.pointbased
A heap domain tracking sets of AllocationSite.
AllocationSites() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
Builds an instance of HeapIdentiferSetLattice, corresponding to the top element.
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.
AnalysisSetupException - Exception in it.unive.lisa
An AnalysisException that happens during the setup of the analysis.
AnalysisSetupException() - Constructor for exception it.unive.lisa.AnalysisSetupException
Builds the exception.
AnalysisSetupException(String) - Constructor for exception it.unive.lisa.AnalysisSetupException
Builds the exception.
AnalysisSetupException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
Builds the exception.
AnalysisSetupException(Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
Builds the exception.
AnalysisState<A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
The abstract analysis state at a given program point.
AnalysisState(A, SymbolicExpression) - Constructor for class it.unive.lisa.analysis.AnalysisState
Builds a new state.
AnalysisState(A, 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 interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields true iff at least one element contained in this set satisfies the given predicate.
applySubstitution(List<HeapSemanticOperation.HeapReplacement>, ProgramPoint) - Method in interface it.unive.lisa.analysis.value.ValueDomain
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in the HeapDomain of the analysis.
applySubstitutions(HeapEnvironment<AllocationSites>, List<HeapSemanticOperation.HeapReplacement>) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
Applies a substitution of identifiers substitutions in a given heap environment.
ArrayType - Interface in it.unive.lisa.type
Array type interface.
asArrayType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a ArrayType, only if Type.isArrayType() yields true.
asBooleanType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a BooleanType, only if Type.isBooleanType() yields true.
asNullType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a NullType, only if Type.isNullType() yields true.
asNumericType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a NumericType, only if Type.isNumericType() yields true.
asPointerType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a PointerType, only if Type.isPointerType() yields true.
assign(I, E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
Yields a copy of this domain, where id has been assigned to value.
assign(Identifier, E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
assign(Identifier, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
assign(Identifier, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
assign(Identifier, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
assignAux(Identifier, E, Map<Identifier, T>, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Auxiliary function of Environment.assign(Identifier, SymbolicExpression, ProgramPoint) that is invoked after the evaluation of the expression.
assignAux(Identifier, SymbolicExpression, Map<Identifier, T>, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
Assignment - Class in it.unive.lisa.program.cfg.statement
A statement assigning the result of an expression to an assignable expression.
Assignment(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
Builds the assignment, assigning expression to target, happening at the given location in the program.
Assignment(CFG, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
Builds the assignment, assigning expression to target.
asStringType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a StringType, only if Type.isStringType() yields true.
assume(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
assume(E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
Yields a copy of this domain, modified by assuming that the given expression holds.
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
assumeAux(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Auxiliary version of Environment.assume(SymbolicExpression, ProgramPoint) where the cases where the expression is never satisfied (lattice.satisfies(expression, this) == Satisfiability.NOT_SATISFIED) and is always satisfied (lattice.satisfies(expression, this) == Satisfiability.SATISFIED) have already been handled.
asTypeTokenType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a TypeTokenType, only if Type.isTypeTokenType() yields true.
asUnitType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a UnitType, only if Type.isUnitType() yields true.
asUntyped() - Method in interface it.unive.lisa.type.Type
Returns this type casted as an Untyped, only if Type.isUntyped() yields true.
asVoidType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a VoidType, only if Type.isVoidType() yields true.
AvailableExpressions - Class in it.unive.lisa.analysis.dataflow.impl
An implementation of the available expressions dataflow analysis, that focuses only on the expressions that are stored into some variable.
AvailableExpressions() - Constructor for class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
Builds an empty available expressions object.

B

BaseHeapDomain<H extends BaseHeapDomain<H>> - Class in it.unive.lisa.analysis.heap
A base implementation of the HeapDomain interface, handling base cases of BaseHeapDomain.smallStepSemantics(SymbolicExpression, ProgramPoint).
BaseHeapDomain() - Constructor for class it.unive.lisa.analysis.heap.BaseHeapDomain
 
BaseInferredValue<T extends BaseInferredValue<T>> - Class in it.unive.lisa.analysis.inference
Base implementation for InferredValues.
BaseInferredValue() - Constructor for class it.unive.lisa.analysis.inference.BaseInferredValue
 
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.value
Base implementation for NonRelationalValueDomains.
BaseNonRelationalValueDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.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.program.cfg.statement
A binary expression.
BinaryExpression - Class in it.unive.lisa.symbolic.value
A bynary expression that applies a BinaryOperator to two SymbolicExpressions.
BinaryExpression(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the binary expression, happening at the given location in the program.
BinaryExpression(CFG, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the binary expression.
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.program.cfg.statement
A NativeCall with a exactly two arguments.
BinaryNativeCall(CFG, CodeLocation, String, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryNativeCall
Builds the untyped native call, happening at the given location in the program.
BinaryNativeCall(CFG, CodeLocation, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.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.program.cfg.statement.BinaryNativeCall
Builds the untyped native call.
BinaryNativeCall(CFG, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.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 SymbolicExpressions.
binarySemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.BinaryNativeCall
Computes the semantics of the call, after the semantics of the parameters have been computed.
BitExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
An ExternalSet where the indexes of the elements included in the set are stored through bit vectors, enabling better memory efficiency.
BooleanType - Interface in it.unive.lisa.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.AnalysisState
 
bottom() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
bottom() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
bottom() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
bottom() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
bottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
bottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
bottom() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
bottom() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
bottom() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
bottom() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
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.heap.HeapEnvironment
 
bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
bottom() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
 
bottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
bottom() - Method in class it.unive.lisa.analysis.StatementStore
 
BOTTOM - it.unive.lisa.analysis.SemanticDomain.Satisfiability
Represent the fact that the satisfiability evaluation resulted in an error.
BOTTOM_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
A string constant that can be used to represent bottom values.
build(Program) - Method in interface it.unive.lisa.callgraph.CallGraph
Builds the call graph of the given program.
build(Program) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
 

C

Caches - Class in it.unive.lisa.caches
A holder of ExternalSetCaches, to ensure that all ExternalSets 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.program.cfg.statement
A call to another procedure.
Call(CFG, CodeLocation, Type, Expression...) - Constructor for class it.unive.lisa.program.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 UnresolvedCalls.
CallGraphConstructionException - Exception in it.unive.lisa.callgraph
An exception that occurred while building the callgraph.
CallGraphConstructionException() - Constructor for exception it.unive.lisa.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(String) - Constructor for exception it.unive.lisa.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(String, Throwable) - Constructor for exception it.unive.lisa.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(Throwable) - Constructor for exception it.unive.lisa.callgraph.CallGraphConstructionException
Builds the exception.
CallResolutionException - Exception in it.unive.lisa.callgraph
An exception that occurred while resolving an UnresolvedCall.
CallResolutionException() - Constructor for exception it.unive.lisa.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(String) - Constructor for exception it.unive.lisa.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(String, Throwable) - Constructor for exception it.unive.lisa.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(Throwable) - Constructor for exception it.unive.lisa.callgraph.CallResolutionException
Builds the exception.
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.BinaryNativeCall
 
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.Call
Computes the semantics of the call, after the semantics of all parameters have been computed.
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.CFGCall
 
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.OpenCall
 
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.TernaryNativeCall
 
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.UnaryNativeCall
 
callSemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>[], Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
 
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
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.NullType
 
canBeAssignedTo(Type) - Method in interface it.unive.lisa.type.Type
Determines if the type represented by this Type object is either the same as, or is a subtype of, the type represented by other.
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.TypeTokenType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.Untyped
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.VoidType
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
canBeSimplified() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Yields true if and only if this edge could be simplified if one of the nodes connected to it is simplified (i.e., removed from the graph).
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
Yields true if the domain can process expression, false otherwise.
CartesianProduct<T1 extends SemanticDomain<T1,​E,​I>,​T2 extends SemanticDomain<T2,​E,​I>,​E extends SymbolicExpression,​I extends Identifier> - Class in it.unive.lisa.analysis.combination
A generic Cartesian product abstract domain between two non-communicating SemanticDomains (i.e., no exchange of information between the abstract domains), assigning the same Identifiers and handling instances of the same SymbolicExpressions.
CartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.CartesianProduct
Builds the Cartesian product abstract domain.
CFG - Class in it.unive.lisa.program.cfg
A control flow graph, that has Statements as nodes and Edges as edges.
CFG(CFG) - Constructor for class it.unive.lisa.program.cfg.CFG
Clones the given control flow graph.
CFG(CFGDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFG(CFGDescriptor, Collection<Statement>, AdjacencyMatrix<Statement, Edge, CFG>) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFGCall - Class in it.unive.lisa.program.cfg.statement
A call to one or more of the CFGs under analysis.
CFGCall(CFG, CodeLocation, String, CFG, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.CFGCall
Builds the CFG call, happening at the given location in the program.
CFGCall(CFG, CodeLocation, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.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.program.cfg.statement.CFGCall
Builds the CFG call.
CFGCall(CFG, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.CFGCall
Builds the CFG call.
CFGDescriptor - Class in it.unive.lisa.program.cfg
A descriptor of a CFG, containing the debug informations (source file, line, column) as well as metadata.
CFGDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor with Untyped return type.
CFGDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor.
CFGDescriptor(Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor for a method that is defined at an unknown location (i.e.
CFGDescriptor(Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor for a method that is defined at an unknown location (i.e.
CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
CFGDescriptorWarning(CFGDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Builds the warning.
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<A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
A control flow graph, that has Statements as nodes and Edges as edges.
CFGWithAnalysisResults(CFG, Map<Statement, AnalysisState<A, 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.
cleanUpPostState(Statement, AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.CFG
 
cleanUpPostState(N, AnalysisState<A, H, V>) - Method in class it.unive.lisa.util.datastructures.graph.FixpointGraph
Cleans up the exit state of a node.
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.BitExternalSet
 
clear() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Cleans the cache, removing all elements.
clear() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
CodeElement - Interface in it.unive.lisa.program
Interface for code elements that have to provide information about the location where they appear.
CodeLocation - Interface in it.unive.lisa.program.cfg
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
CodeMember - Interface in it.unive.lisa.program.cfg
A program member that has code within it.
collect() - Method in interface it.unive.lisa.util.collections.externalSet.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.
COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
The color attribute name.
COLOR_BLACK - Static variable in class it.unive.lisa.outputs.DotGraph
The black color.
COLOR_BLUE - Static variable in class it.unive.lisa.outputs.DotGraph
The blue color.
COLOR_GRAY - Static variable in class it.unive.lisa.outputs.DotGraph
The gray color.
COLOR_RED - Static variable in class it.unive.lisa.outputs.DotGraph
The red color.
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.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
 
commonSupertype(Type) - Method in class it.unive.lisa.type.NullType
 
commonSupertype(Type) - Method in interface it.unive.lisa.type.Type
Yields the most specific common supertype between this Type and the given one.
commonSupertype(Type) - Method in class it.unive.lisa.type.TypeTokenType
 
commonSupertype(Type) - Method in class it.unive.lisa.type.Untyped
 
commonSupertype(Type) - Method in class it.unive.lisa.type.VoidType
 
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(Warning) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
 
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
 
compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
 
compareTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
 
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 and n2 of type NumericType, this operator checks if n1 is in relation through the "greater or equal than" relation with n2.
COMPARISON_GT - it.unive.lisa.symbolic.value.BinaryOperator
Given two numeric values n1 and n2, this operator checks if n1 is in relation through the "greater than" relation with n2.
COMPARISON_LE - it.unive.lisa.symbolic.value.BinaryOperator
Given two numeric values n1 and n2, this operator checks if n1 is in relation through the "less or equal than" relation with n2.
COMPARISON_LT - it.unive.lisa.symbolic.value.BinaryOperator
Given two numeric values n1 and n2, this operator checks if n1 is in relation through the "less than" relation with n2.
COMPARISON_NE - it.unive.lisa.symbolic.value.BinaryOperator
Given two values, check whether they have different values or different type.
CompilationUnit - Class in it.unive.lisa.program
A compilation unit of the program to analyze.
CompilationUnit(CodeLocation, String, boolean) - Constructor for class it.unive.lisa.program.CompilationUnit
Builds a compilation unit, defined at the given program point.
compute(Comparator<T>) - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Computes the diff between the collections used to create this object.
compute(N, AnalysisState<A, H, V>, CallGraph, F) - Method in interface it.unive.lisa.util.datastructures.graph.FixpointGraph.SemanticFunction
Computes the semantics of the given Node node, assuming that the entry state is entryState.
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.
CONDITIONAL_EDGE_STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
The style of conditional edges.
configurableComponents() - Static method in class it.unive.lisa.LiSAFactory
Yields the collection of LiSAFactory.ConfigurableComponents that can be used to customize the analysis.
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.
ConstantPropagation - Class in it.unive.lisa.analysis.dataflow.impl
An implementation of the constant propagation dataflow analysis, that focuses only on integers.
ConstantPropagation() - Constructor for class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
Builds an empty constant propagation object.
contains(E) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Checks whether an element is contained in this set.
contains(E) - Method in class it.unive.lisa.analysis.lattices.SetLattice
Checks whether an element is contained in this set.
contains(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
contains(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.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.BitExternalSet
 
contains(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
copy() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
copy() - Method in class it.unive.lisa.analysis.nonrelational.Environment
Copies this environment.
copy() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
copy() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
copy() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
copy() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a fresh copy of this set, defined over the same cache and containing the same elements.
copy() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
Copying an UniversalExternalSet yields a BitExternalSet representing a snapshot of the actual state of the cache.

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() - Method in class it.unive.lisa.util.file.FileManager
Yields the collection of file names that have been created by this manager.
createReference(CFG) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Creates a VariableRef for the variable depicted by this entry, happening in the given CFG at the source file location of its descriptor.

D

DataflowDomain<D extends DataflowDomain<D,​E>,​E extends DataflowElement<D,​E>> - Interface in it.unive.lisa.analysis.dataflow
A dataflow domain that collects instances of DataflowElement.
DataflowElement<D extends DataflowDomain<D,​E>,​E extends DataflowElement<D,​E>> - Interface in it.unive.lisa.analysis.dataflow
An element of the dataflow domain, that is associated to an Identifier through DataflowElement.getIdentifier().
DEFAULT_WIDENING_THRESHOLD - Static variable in class it.unive.lisa.util.datastructures.graph.FixpointGraph
The default number of fixpoint iteration on a given node after which calls to Lattice.lub(Lattice) gets replaced with Lattice.widening(Lattice).
DefaultImplementation - Annotation Type in it.unive.lisa
An annotation defining the default implementation for an analysis component.
DefaultParameters - Annotation Type in it.unive.lisa
An annotation defining the default parameters to use when automatically creating an instance of the annotated type.
DefiniteForwardDataflowDomain<E extends DataflowElement<DefiniteForwardDataflowDomain<E>,​E>> - Class in it.unive.lisa.analysis.dataflow
A DataflowDomain for forward and definite dataflow analysis.
DefiniteForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
Builds an empty domain.
difference(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
difference(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a new set obtained from this by removing the given elements.
DotCFG - Class in it.unive.lisa.outputs
An DotGraph built from a CFG.
DotGraph<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Class in it.unive.lisa.outputs
An auxiliary graph built from a Graph that can be dumped in dot format, together with a legend.
DotGraph(Graph) - Constructor for class it.unive.lisa.outputs.DotGraph
Builds a graph.
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) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Dumps the content of this graph in the given writer, formatted as a dot file.
dump(Writer, Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Dumps the content of this 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.
DYNAMIC_TYPES - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
A strategy where the dynamic (runtime) types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if at least one of the runtime types of the actual parameter can be assigned to the type of the formal parameter, than UnresolvedCall.ResolutionStrategy.matches(Parameter[], Expression[]) return true.

E

Edge - Class in it.unive.lisa.program.cfg.edge
An edge of a control flow graph, connecting two statements.
Edge<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
An edge of a Graph.
Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
Builds the edge.
elements - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
The set of elements contained in the lattice.
elements - Variable in class it.unive.lisa.analysis.lattices.SetLattice
The set of elements contained in the lattice.
elements() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Yields the set of elements contained in this lattice element.
elements() - Method in class it.unive.lisa.analysis.lattices.SetLattice
Yields the set of elements contained in this lattice element.
entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.Graph
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
Environment<M extends Environment<M,​E,​T>,​E extends SymbolicExpression,​T extends NonRelationalDomain<T,​E,​M>> - Class in it.unive.lisa.analysis.nonrelational
An environment for a NonRelationalDomain, that maps Identifiers to instances of such domain.
Environment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
Builds an empty environment.
Environment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
Builds an environment containing the given mapping.
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.combination.CartesianProduct
 
equals(Object) - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
equals(Object) - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
equals(Object) - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
equals(Object) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
equals(Object) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
equals(Object) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
 
equals(Object) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
equals(Object) - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
 
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.LiSAConfiguration
 
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.program.cfg.CFGDescriptor
 
equals(Object) - Method in class it.unive.lisa.program.cfg.edge.Edge
 
equals(Object) - Method in class it.unive.lisa.program.cfg.Parameter
 
equals(Object) - Method in class it.unive.lisa.program.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.program.cfg.VariableTableEntry
 
equals(Object) - Method in class it.unive.lisa.program.Global
 
equals(Object) - Method in class it.unive.lisa.program.SourceCodeLocation
 
equals(Object) - Method in class it.unive.lisa.program.Unit
 
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.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.HeapLocation
 
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.PushAny
 
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.UnaryExpression
 
equals(Object) - Method in class it.unive.lisa.type.NullType
 
equals(Object) - Method in class it.unive.lisa.type.TypeTokenType
 
equals(Object) - Method in class it.unive.lisa.type.Untyped
 
equals(Object) - Method in class it.unive.lisa.type.VoidType
 
equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
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.
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Graph instances use reference equality for equality checks, under the assumption that every graph is unique.
eval(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
Evaluates a SymbolicExpression, assuming that the values of program variables are the ones stored in environment.
eval(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
eval(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
 
eval(ValueExpression, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
evalBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
evalBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
evalBinaryExpression(BinaryOperator, Parity, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
evalBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
evalBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of a BinaryExpression applying operator to two expressions whose abstract value are left and right, respectively.
evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a BinaryExpression applying operator to two expressions whose abstract value are left and right, respectively.
evalIdentifier(Identifier, InferenceSystem<InferredTypes>) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalIdentifier(Identifier, InferenceSystem<T>) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of an identifier in a given environment.
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of the given non-null constant.
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of the given non-null constant.
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of the null constant NullConstant.
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of the null constant NullConstant.
evalPushAny(PushAny) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalPushAny(PushAny) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of a push-any expression.
evalTernaryExpression(TernaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
evalTernaryExpression(TernaryOperator, Interval, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
evalTernaryExpression(TernaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of a TernaryExpression applying operator to two expressions whose abstract value are left, middle and right, respectively.
evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a TernaryExpression applying operator to two expressions whose abstract value are left, middle and right, respectively.
evalUnaryExpression(UnaryOperator, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
evalUnaryExpression(UnaryOperator, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
evalUnaryExpression(UnaryOperator, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
evalUnaryExpression(UnaryOperator, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
evalUnaryExpression(UnaryOperator, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the evaluation of a UnaryExpression applying operator to an expression whose abstract value is arg.
evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a UnaryExpression applying operator to an expression whose abstract value is arg.
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.
executionState() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
executionState() - Method in interface it.unive.lisa.analysis.inference.InferredValue
Yields the execution state, that will be stored inside the InferenceSystem, that represent the state after the semantics computation that led to the creation of this inferred value.
EXIT_NODE_EXTRA_ATTR - Static variable in class it.unive.lisa.outputs.DotGraph
The name of the extra attribute identifying exit nodes.
EXIT_NODE_EXTRA_VALUE - Static variable in class it.unive.lisa.outputs.DotGraph
The value of the extra attribute identifying exit nodes.
Expression - Class in it.unive.lisa.program.cfg.statement
An expression that is part of a statement of the program.
Expression(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
Builds an untyped expression happening at the given source location, that is its type is Untyped.INSTANCE.
Expression(CFG, CodeLocation, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
Builds a typed expression happening at the given source location.
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> - Interface in it.unive.lisa.util.collections.externalSet
A set of elements that are stored externally from this set.
ExternalSetCache<T> - Class in it.unive.lisa.util.collections.externalSet
A cache for creating ExternalSets of the elements contained in this cache.
ExternalSetCache() - Constructor for class it.unive.lisa.util.collections.externalSet.ExternalSetCache
 

F

FalseEdge - Class in it.unive.lisa.program.cfg.edge
An edge connecting two statements, that is traversed when the condition expressed in the source state does not hold.
FalseEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.FalseEdge
Builds the edge.
FieldSensitivePointBasedHeap - Class in it.unive.lisa.analysis.impl.heap.pointbased
A field-sensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
FieldSensitivePointBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
Builds a new instance of field-sensitive point-based heap.
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(String) - Constructor for class it.unive.lisa.util.file.FileManager
Builds a new manager that will produce files in the given workdir.
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 interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a new external set containing only the elements of this set that satisfy the given predicate.
first() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields the first element inside this set.
FIRST_DYNAMIC_THEN_STATIC - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
A strategy where the first parameter is tested using UnresolvedCall.ResolutionStrategy.DYNAMIC_TYPES, while the rest is tested using UnresolvedCall.ResolutionStrategy.STATIC_TYPES.
fixpoint(AnalysisState<A, H, V>) - Method in interface it.unive.lisa.callgraph.CallGraph
Computes a fixpoint over the whole control flow graph, producing a CFGWithAnalysisResults for each CFG contained in this callgraph.
fixpoint(AnalysisState<A, H, V>) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
 
fixpoint(AnalysisState<A, H, V>, CallGraph) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(AnalysisState<A, H, V>, CallGraph, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(AnalysisState<A, H, V>, CallGraph, WorkingSet<Statement>) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(AnalysisState<A, H, V>, CallGraph, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Collection<Statement>, AnalysisState<A, H, V>, CallGraph) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Collection<Statement>, AnalysisState<A, H, V>, CallGraph, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Collection<Statement>, AnalysisState<A, H, V>, CallGraph, WorkingSet<Statement>) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Collection<Statement>, AnalysisState<A, H, V>, CallGraph, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<Statement, AnalysisState<A, H, V>>, CallGraph) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<Statement, AnalysisState<A, H, V>>, CallGraph, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<Statement, AnalysisState<A, H, V>>, CallGraph, WorkingSet<Statement>) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<Statement, AnalysisState<A, H, V>>, CallGraph, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<N, AnalysisState<A, H, V>>, CallGraph, WorkingSet<N>, int, FixpointGraph.SemanticFunction<N, E, G, A, H, V, F>) - Method in class it.unive.lisa.util.datastructures.graph.FixpointGraph
Computes a fixpoint over this graph.
FixpointException - Exception in it.unive.lisa.util.datastructures.graph
An exception raised during the fixpoint computation.
FixpointException() - Constructor for exception it.unive.lisa.util.datastructures.graph.FixpointException
Builds the exception.
FixpointException(String) - Constructor for exception it.unive.lisa.util.datastructures.graph.FixpointException
Builds the exception.
FixpointException(String, Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.FixpointException
Builds the exception.
FixpointException(Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.FixpointException
Builds the exception.
FixpointGraph<G extends FixpointGraph<G,​N,​E>,​N extends Node<N,​E,​G>,​E extends SemanticEdge<N,​E,​G>> - Class in it.unive.lisa.util.datastructures.graph
A generic graph, backed by an AdjacencyMatrix, over which a fixpoint can be computed.
FixpointGraph() - Constructor for class it.unive.lisa.util.datastructures.graph.FixpointGraph
Builds the graph.
FixpointGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.FixpointGraph
Clones the given graph.
FixpointGraph(Collection<N>, AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.FixpointGraph
Builds the graph.
FixpointGraph.SemanticFunction<N extends Node<N,​E,​G>,​E extends SemanticEdge<N,​E,​G>,​G extends FixpointGraph<G,​N,​E>,​A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​F extends FunctionalLattice<F,​N,​AnalysisState<A,​H,​V>>> - Interface in it.unive.lisa.util.datastructures.graph
A functional interface that can be used for compute the semantics of Nodes, producing AnalysisStates.
followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.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(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
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.AnalysisState
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
Forgets an Identifier.
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
forgetIdentifiers(Collection<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
Forgets all the given Identifiers.
format(long) - Method in enum it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos into a string with time units.
from(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
 
from(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
Builds a point-based heap from a reference one.
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.DotCFG
Builds a DotCFG from a CFG.
function - Variable in class it.unive.lisa.analysis.lattices.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.lattices
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.lattices.FunctionalLattice
Builds the lattice.
FunctionalLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
Builds the lattice by cloning the given function.
functionalLiftKeys(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the union of the keys of this and other.
functionalLiftKeys(M) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 

G

gen(Identifier, ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow gen operation, yielding the dataflow elements that are generated by the assignment of the given expression to the given id.
gen(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
gen(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
gen(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the pos-th element of this cache.
getAbstractResultOf(CFGCall, AnalysisState<A, 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<A, H, V>, Collection<SymbolicExpression>[]) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
 
getAllCFGs() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the CFGs defined in this unit.
getAllCFGs() - Method in class it.unive.lisa.program.Program
Yields the collection of all the CFGs defined in this unit.
getAllCFGs() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CFGs defined in this unit.
getAllCodeMembers() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CodeMembers defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the NativeCFGs defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.Program
Yields the collection of all the NativeCFGs defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the NativeCFGs defined in this unit.
getAllExitpoints() - Method in class it.unive.lisa.program.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, or throwing an error (i.e., all such statements on which either Statement.stopsExecution() or Statement.throwsError() hold).
getAllGlobals() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the Globals defined in this unit.
getAllGlobals() - Method in class it.unive.lisa.program.Program
Yields the collection of all the Globals defined in this unit.
getAllGlobals() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the Globals defined in this unit.
getAlternatives() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
Yields the alternatives for this component, that is, the concrete classes that implements it.
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.program.cfg.CFGDescriptor
Yields the array containing the arguments of the CFG associated with this descriptor.
getBaseType() - Method in interface it.unive.lisa.type.ArrayType
Yields the base type of this array type.
getCache() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
getCache() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields the cache that this set is connected to.
getCache() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
getCallGraph() - Method in class it.unive.lisa.LiSAConfiguration
Yields the CallGraph for the analysis.
getCFG() - Method in class it.unive.lisa.checks.warnings.CFGWarning
Yields the cfg where this warning was reported on.
getCFG() - Method in interface it.unive.lisa.program.cfg.ProgramPoint
Yields the CFG that this program point belongs to.
getCFG() - Method in class it.unive.lisa.program.cfg.statement.Statement
 
getCFG(String) - Method in class it.unive.lisa.program.Unit
Yields the CFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getCFGs() - Method in class it.unive.lisa.program.Unit
Yields the collection of CFGs defined in this unit.
getCFGsByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all CFGs defined in this unit that have the given name.
getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
Yields the expression representing the child memory location.
getCodeLocation() - Method in interface it.unive.lisa.program.cfg.CodeLocation
Yields the string code location representation.
getCodeLocation() - Method in class it.unive.lisa.program.SourceCodeLocation
 
getCodeMember(String) - Method in class it.unive.lisa.program.Unit
Yields the CodeMember defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getCodeMembers() - Method in class it.unive.lisa.program.Unit
Yields the collection of CodeMembers defined in this unit.
getCodeMembersByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all CodeMembers defined in this unit that have the given name.
getCol() - Method in class it.unive.lisa.program.SourceCodeLocation
Yields the column where this code element happens 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.
getComponent() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
Yields the component represented by this LiSAFactory.ConfigurableComponent.
getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
Yields the last computed expression.
getConstruct(String) - Method in class it.unive.lisa.program.Unit
Yields the NativeCFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
Yields the CFG that is targeted by this CFG call.
getConstructs() - Method in class it.unive.lisa.program.Unit
Yields the collection of constructs (NativeCFGs) defined in this unit.
getConstructsByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all NativeCFGs defined in this unit that have the given name.
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.
getDataflowElements() - Method in interface it.unive.lisa.analysis.dataflow.DataflowDomain
Yields all the DataflowElements contained in this domain.
getDataflowElements() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
getDataflowElements() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
getDefaultFor(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
Builds the default instance of the specified analysis component.
getDefaultInstance() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
Yields the default implementation for this component, that is, the concrete class that implements it and that will be used if the component is requested but the user did not specify which implementation to use (among the ones offered by LiSAFactory.ConfigurableComponent.getAlternatives().
getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Yields the cfg where this warning was reported on.
getDescriptor() - Method in class it.unive.lisa.program.cfg.CFG
Yields the name of this control flow graph.
getDescriptor() - Method in interface it.unive.lisa.program.cfg.CodeMember
Yields the CFGDescriptor containing the signature of this code member.
getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
 
getDestination() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
getDestination() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Yields the node where this edge ends.
getDynamicType() - Method in class it.unive.lisa.program.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(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the edge connecting the two given nodes, if any.
getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the edge connecting the two given nodes, if any.
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the set of edges of this matrix.
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the set of edges of this graph.
getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the total number of edges of this graph.
getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
getExecutionState() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
Yields the execution state (also called program counter), that might change when evaluating an expression.
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.program.cfg.statement.UnaryStatement
Yields the expression that is the argument of this unary statement.
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.program.cfg.CFGDescriptor
Yields the full name of the CFG associated with this descriptor.
getFullSignature() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the full signature of this cfg, that is, CFGDescriptor.getSignature() preceded by the cfg's return type.
getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the full signature of this cfg including parameters names, that is, CFGDescriptor.getSignatureWithParNames() preceded by the cfg's return type.
getGenericProgramPoint() - Method in class it.unive.lisa.program.cfg.CFG
Yields a generic ProgramPoint happening inside this cfg.
getGlobal(String) - Method in class it.unive.lisa.program.Unit
Yields the Global defined in this unit having the given name (Global.getName()), if any.
getGlobals() - Method in class it.unive.lisa.program.Unit
Yields the collection of Globals defined in this unit.
getHeapState() - Method in interface it.unive.lisa.analysis.AbstractState
Yields the instance of HeapDomain that contains the information on heap structures contained in this abstract state.
getHeapState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
getId() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
Returns the source code location string representation where this allocation site has been allocated.
getIdentifier() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Yields the Identifier this element is associated with.
getIdentifier() - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
getIdentifier() - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
getIdentifier() - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
getIdsToForget() - Method in class it.unive.lisa.analysis.heap.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 in HeapSemanticOperation.HeapReplacement.getTargets().
getIndex() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the index of this variable.
getInferredValue() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
getInnerType() - Method in interface it.unive.lisa.type.ArrayType
Yields the type of the inner dimension of this array type.
getInstance(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
Creates an instance of the given component.
getInstanceCFG(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance CFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CFGs defined in this unit.
getInstanceCFGsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance CFGs defined in this unit that have the given name.
getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance CodeMember defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CodeMembers defined in this unit.
getInstanceCodeMembersByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance CodeMembers defined in this unit that have the given name.
getInstanceConstruct(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance NativeCFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance constructs (NativeCFGs) defined in this unit.
getInstanceConstructsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance NativeCFGs defined in this unit that have the given name.
getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance Global defined in this unit having the given name (Global.getName()), if any.
getInstanceGlobals(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance Globals defined in this unit.
getInstances() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that are instances of this one, including itself.
getKeys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the set of keys currently in this lattice.
getLeft() - Method in class it.unive.lisa.program.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.program.SourceCodeLocation
Yields the line number where this code element happens in the source file.
getLocation() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
Yields the location where this warning was reported.
getLocation() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
 
getLocation() - Method in class it.unive.lisa.program.cfg.Parameter
 
getLocation() - Method in class it.unive.lisa.program.cfg.statement.Statement
 
getLocation() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
 
getLocation() - Method in interface it.unive.lisa.program.CodeElement
Yields the location where this code element appears in the source file.
getLocation() - Method in class it.unive.lisa.program.Global
 
getLocation() - Method in class it.unive.lisa.program.Unit
 
getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
Yields the location where this warning was reported, surrounded by square brackets.
getMatchingCodeMember(CFGDescriptor) - Method in class it.unive.lisa.program.Unit
Finds all the code members whose signature matches the one of the given CFGDescriptor, according to CFGDescriptor.matchesSignature(CFGDescriptor).
getMatchingInstanceCodeMembers(CFGDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Finds all the instance code members whose signature matches the one of the given CFGDescriptor, according to CFGDescriptor.matchesSignature(CFGDescriptor).
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.program.cfg.statement.CFGCall
 
getMetaVariable() - Method in interface it.unive.lisa.program.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.program.cfg.statement.OpenCall
 
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.Return
 
getMetaVariables() - Method in class it.unive.lisa.program.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.program.cfg.CFGDescriptor
Yields the name of the CFG associated with this descriptor.
getName() - Method in class it.unive.lisa.program.cfg.Parameter
Yields the name of this parameter.
getName() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
Yields the name of this variable.
getName() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the name of this variable.
getName() - Method in class it.unive.lisa.program.Global
Yields the name of this parameter.
getName() - Method in class it.unive.lisa.program.Unit
Yields the name of the unit.
getName() - Method in class it.unive.lisa.symbolic.value.Identifier
Yields the name of this identifier.
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the collection of nodes of this matrix.
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the set of nodes of this graph.
getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the total number of nodes of this graph.
getNormalExitpoints() - Method in class it.unive.lisa.program.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 without throwing an error (i.e., all such statements on which Statement.stopsExecution() holds but Statement.throwsError() does not).
getOffset() - Method in class it.unive.lisa.program.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.
getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
Yields the operator that is applied to BinaryExpression.getLeft() and BinaryExpression.getRight().
getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
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.program.cfg.statement.Call
Yields the parameters of this call.
getParentStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
Yields the Statement that contains this expression, if any.
getQualifiedName() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
Yields the qualified name of the static target of this call.
getRegisteredTypes() - Method in class it.unive.lisa.program.Program
Yields the collection of Types that have been registered in this program.
getReturnType() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the return type of the CFG associated with this descriptor.
getRewrittenExpressions() - Method in interface it.unive.lisa.analysis.heap.HeapSemanticOperation
Yields the expressions that were computed during the generation of this heap domain.
getRewrittenExpressions() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
getRewrittenExpressions() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
getRewrittenExpressions() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
getRewrittenExpressions() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
getRewrittenExpressions() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
getRight() - Method in class it.unive.lisa.program.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.
getRootStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
Yields the outer-most Statement containing this expression, that is used as a node in the cfg.
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.program.cfg.statement.Expression
The concrete types that this expression can have at runtime.
getScopeEnd() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the statement where this variable is last visible.
getScopeStart() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the statement where this variable is first visible.
getSignature() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the signature of this cfg, composed by its CFGDescriptor.getFullName() followed by its parameters types.
getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the signature of this cfg, composed by its CFGDescriptor.getFullName() followed by its parameters (types and names).
getSource() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
getSource() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Yields the node where this edge originates.
getSourceFile() - Method in class it.unive.lisa.program.SourceCodeLocation
Yields the source file name where this code element happens.
getSources() - Method in class it.unive.lisa.analysis.heap.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() - Method in class it.unive.lisa.LiSAConfiguration
Yields the AbstractState for the analysis.
getState(K) - Method in class it.unive.lisa.analysis.lattices.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.program.cfg.Parameter
Yields the static type of this parameter.
getStaticType() - Method in class it.unive.lisa.program.cfg.statement.Expression
Yields the static type of this expression.
getStaticType() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the static type of this variable.
getStaticType() - Method in class it.unive.lisa.program.Global
Yields the static type of this parameter.
getStrategy() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
Yields the UnresolvedCall.ResolutionStrategy of the parameters of this call.
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 interface it.unive.lisa.analysis.heap.HeapSemanticOperation
Yields the substitution, in the form of a list of HeapSemanticOperation.HeapReplacements 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.impl.heap.MonolithicHeap
 
getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
getSuperUnits() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that this unit directly inherits from.
getSyntacticChecks() - Method in class it.unive.lisa.LiSAConfiguration
Yields the collection of SyntacticChecks that are to be executed during the analysis.
getTag() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
 
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.program.cfg.statement.OpenCall
Yields the name of the target of this open call.
getTargetName() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
Yields the name of the target of this call.
getTargets() - Method in class it.unive.lisa.analysis.heap.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.program.cfg.statement.CFGCall
Yields the CFGs that are targeted by this CFG call.
getTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
Yields the runtime types of this expression.
getTypes() - Method in class it.unive.lisa.type.TypeTokenType
Yields the Types represented by this type token.
getUnit() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the Unit containing the cfg associated to this descriptor.
getUnit() - Method in interface it.unive.lisa.type.UnitType
Yields the CompilationUnit that induces this type.
getUnit(String) - Method in class it.unive.lisa.program.Program
Yields the CompilationUnit defined in this unit having the given name (Unit.getName()), if any.
getUnits() - Method in class it.unive.lisa.program.Program
Yields the collection of CompilationUnits defined in this program.
getValue() - Method in class it.unive.lisa.program.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 interface it.unive.lisa.analysis.AbstractState
Yields the instance of ValueDomain that contains the information on values of program variables and concretized memory locations.
getValueState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
getVariable() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
Yields a Variable representing the referenced variable.
getVariables() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the list of VariableTableEntrys that have been added to this descriptor.
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.JsonWarnings contained into this report.
getWorkdir() - Method in class it.unive.lisa.LiSAConfiguration
Yields the working directory where LiSA will dump all of its outputs.
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.
Global - Class in it.unive.lisa.program
A global variable, scoped by its container.
Global(CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.Global
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
Global(String) - Constructor for class it.unive.lisa.program.Global
Builds an untyped parameter reference, identified by its name.
Global(String, Type) - Constructor for class it.unive.lisa.program.Global
Builds a typed parameter reference, identified by its name and its type.
Graph<G extends Graph<G,​N,​E>,​N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>> - Class in it.unive.lisa.util.datastructures.graph
A generic graph, backed by an AdjacencyMatrix.
Graph() - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Builds the graph.
Graph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Clones the given graph.
Graph(Collection<N>, AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Builds the graph.
GraphVisitor<G extends Graph<G,​N,​E>,​N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​V> - Interface in it.unive.lisa.util.datastructures.graph
A visitor of a Graph.

H

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.combination.CartesianProduct
 
hashCode() - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
hashCode() - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
hashCode() - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
hashCode() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
 
hashCode() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
hashCode() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
hashCode() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
hashCode() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
hashCode() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
 
hashCode() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
hashCode() - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
hashCode() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
 
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.LiSAConfiguration
 
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.program.cfg.CFG
 
hashCode() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
 
hashCode() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
hashCode() - Method in class it.unive.lisa.program.cfg.Parameter
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Call
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Expression
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Literal
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.OpenCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Ret
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Statement
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
hashCode() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
 
hashCode() - Method in class it.unive.lisa.program.Global
 
hashCode() - Method in class it.unive.lisa.program.SourceCodeLocation
 
hashCode() - Method in class it.unive.lisa.program.Unit
 
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.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.HeapLocation
 
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.PushAny
 
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.UnaryExpression
 
hashCode() - Method in class it.unive.lisa.type.NullType
 
hashCode() - Method in class it.unive.lisa.type.TypeTokenType
 
hashCode() - Method in class it.unive.lisa.type.Untyped
 
hashCode() - Method in class it.unive.lisa.type.VoidType
 
hashCode() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.Graph
 
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.heap
A semantic domain that can evaluate the semantic of statements that operate on heap locations, and not on concrete values.
heapEnv - Variable in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
An heap environment tracking which allocation sites are associated to each identifier.
HeapEnvironment<T extends NonRelationalHeapDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.heap
An environment for a NonRelationalHeapDomain, that maps Identifiers to instances of such domain.
HeapEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an empty environment.
HeapEnvironment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an empty environment from a given mapping.
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.
HeapLocation - Class in it.unive.lisa.symbolic.value
An identifier of a synthetic program variable that represents a resolved memory location.
HeapLocation(ExternalSet<Type>, String, boolean) - Constructor for class it.unive.lisa.symbolic.value.HeapLocation
Builds the heap location.
HeapReplacement() - Constructor for class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Builds the replacement.
HeapSemanticOperation - Interface in it.unive.lisa.analysis.heap
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.heap
A replacement between Identifiers 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 Variable), or a resolved memory location (as an instance of HeapLocation).
Identifier(ExternalSet<Type>, String, boolean) - Constructor for class it.unive.lisa.symbolic.value.Identifier
Builds the identifier.
indexOf(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the index where the given element is stored in this cache.
indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the index where the given element is stored in this cache.
InferenceSystem<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.inference
An inference system that model standard derivation systems (e.g., types systems, small step semantics, big step semantics, ...).
InferenceSystem(T) - Constructor for class it.unive.lisa.analysis.inference.InferenceSystem
Builds an empty inference system.
InferredTypes - Class in it.unive.lisa.analysis.impl.types
An InferredValue holding a set of Types, representing the inferred runtime types of an Expression.
InferredTypes() - Constructor for class it.unive.lisa.analysis.impl.types.InferredTypes
Builds the inferred types.
InferredValue<T extends InferredValue<T>> - Interface in it.unive.lisa.analysis.inference
A value that can be inferred by InferenceSystems.
inheritRuntimeTypesFrom(Expression) - Method in class it.unive.lisa.program.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.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.
INSTANCE - Static variable in class it.unive.lisa.type.NullType
Unique instance of NullType.
INSTANCE - Static variable in class it.unive.lisa.type.Untyped
Unique instance of Untyped type.
INSTANCE - Static variable in class it.unive.lisa.type.VoidType
Unique instance of VoidType.
IntegerConstantPropagation - Class in it.unive.lisa.analysis.impl.numeric
The basic integer constant propagation abstract domain, tracking if a certain integer value has constant value or not, implemented as a BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability.
IntegerConstantPropagation() - Constructor for class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
Builds the top abstract value.
intersection(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
intersection(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields the intersection of this set and another.
intersects(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
intersects(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Determines if this set has at least an element in common with another if they share the same cache.
Interval - Class in it.unive.lisa.analysis.impl.numeric
The interval abstract domain, approximating integer values as the minimum integer interval containing them.
Interval() - Constructor for class it.unive.lisa.analysis.impl.numeric.Interval
Builds the top interval.
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.lattices
A generic inverse set lattice containing a set of elements.
InverseSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
Builds the lattice.
is16Bits() - Method in class it.unive.lisa.symbolic.types.IntType
 
is16Bits() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type follows a 16-bits format representation.
is32Bits() - Method in class it.unive.lisa.symbolic.types.IntType
 
is32Bits() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type follows a 32-bits format representation.
is64Bits() - Method in class it.unive.lisa.symbolic.types.IntType
 
is64Bits() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type follows a 64-bits format representation.
is8Bits() - Method in class it.unive.lisa.symbolic.types.IntType
 
is8Bits() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type follows a 8-bits format representation.
isArrayType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of ArrayType.
isBooleanType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of BooleanType.
isBottom() - Method in class it.unive.lisa.analysis.AnalysisState
 
isBottom() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
isBottom() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
isBottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
isBottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
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.Environment
Yields true if and only if this object represents the bottom of the lattice.
isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
isBottom() - Method in class it.unive.lisa.analysis.StatementStore
 
isDumpAnalysis() - Method in class it.unive.lisa.LiSAConfiguration
Yields whether or not the results of analysis, if run, should be dumped in the form of dot files representing results on single CFGs.
isDumpCFGs() - Method in class it.unive.lisa.LiSAConfiguration
Yields whether or not the input program should be dumped in the form of dot files representing single CFGs.
isDumpTypeInference() - Method in class it.unive.lisa.LiSAConfiguration
Yields whether or not the results of type inference, if run, should be dumped in the form of dot files representing results on single CFGs.
isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
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(E) - Method in interface it.unive.lisa.util.datastructures.graph.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(G) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Checks if this graph 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.program.cfg.edge.Edge
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Call
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.CFGCall
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Literal
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.NativeCall
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.OpenCall
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
 
isEqualTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
isEqualTo(AdjacencyMatrix<N, E, G>) - Method in class it.unive.lisa.util.datastructures.graph.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(N) - Method in interface it.unive.lisa.util.datastructures.graph.Node
Checks if this node is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
isInferTypes() - Method in class it.unive.lisa.LiSAConfiguration
Yields whether or not type inference should be run.
isInstance() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields true if and only if the cfg associated to this descriptor is an instance cfg.
isInstanceCall() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
Yields whether or not this is a call to an instance method of a unit (that can be overridden) or not.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Yields true if and only if this unit is an instance of the given one.
isIntegral() - Method in class it.unive.lisa.symbolic.types.IntType
 
isIntegral() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type is integral, representing one of the numbers in the mathematical set Z.
isJsonOutput() - Method in class it.unive.lisa.LiSAConfiguration
Yields whether or not the results a json report file should be dumped at the end of the analysis.
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.type.Type
Yields true if and only if this type is an instance of NullType.
isNumericType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of NumericType.
isOverridable() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields true if and only if the cfg associated to this descriptor is can be overridden by cfgs in Units that inherit for the cfg's unit.
isPointerType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of PointerType.
isSealed() - Method in class it.unive.lisa.program.CompilationUnit
Yields whether or not this unit is sealed, meaning that it cannot be used as super unit of other compilation units.
isSigned() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type is signed.
isStringType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of StringType.
isTop() - Method in class it.unive.lisa.analysis.AnalysisState
 
isTop() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
isTop() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
isTop() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
isTop() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
isTop() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
isTop() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
isTop() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
isTop() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
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.Environment
Yields true if and only if this object represents the top of the lattice.
isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
isTop() - Method in class it.unive.lisa.analysis.StatementStore
 
isTypeTokenType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of TypeTokenType.
isUnitType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of UnitType.
isUnsigned() - Method in class it.unive.lisa.symbolic.types.IntType
 
isUnsigned() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type is unsigned.
isUntyped() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of Untyped.
isVoidType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of VoidType.
isWeak() - Method in class it.unive.lisa.symbolic.value.Identifier
Yields whether or not this identifier is weak.
it.unive.lisa - package it.unive.lisa
 
it.unive.lisa.analysis - package it.unive.lisa.analysis
 
it.unive.lisa.analysis.combination - package it.unive.lisa.analysis.combination
 
it.unive.lisa.analysis.dataflow - package it.unive.lisa.analysis.dataflow
 
it.unive.lisa.analysis.dataflow.impl - package it.unive.lisa.analysis.dataflow.impl
 
it.unive.lisa.analysis.heap - package it.unive.lisa.analysis.heap
 
it.unive.lisa.analysis.impl.heap - package it.unive.lisa.analysis.impl.heap
 
it.unive.lisa.analysis.impl.heap.pointbased - package it.unive.lisa.analysis.impl.heap.pointbased
 
it.unive.lisa.analysis.impl.numeric - package it.unive.lisa.analysis.impl.numeric
 
it.unive.lisa.analysis.impl.types - package it.unive.lisa.analysis.impl.types
 
it.unive.lisa.analysis.inference - package it.unive.lisa.analysis.inference
 
it.unive.lisa.analysis.lattices - package it.unive.lisa.analysis.lattices
 
it.unive.lisa.analysis.nonrelational - package it.unive.lisa.analysis.nonrelational
 
it.unive.lisa.analysis.nonrelational.heap - package it.unive.lisa.analysis.nonrelational.heap
 
it.unive.lisa.analysis.nonrelational.value - package it.unive.lisa.analysis.nonrelational.value
 
it.unive.lisa.analysis.value - package it.unive.lisa.analysis.value
 
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.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.program - package it.unive.lisa.program
 
it.unive.lisa.program.cfg - package it.unive.lisa.program.cfg
 
it.unive.lisa.program.cfg.edge - package it.unive.lisa.program.cfg.edge
 
it.unive.lisa.program.cfg.statement - package it.unive.lisa.program.cfg.statement
 
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.type - package it.unive.lisa.type
 
it.unive.lisa.util.collections - package it.unive.lisa.util.collections
 
it.unive.lisa.util.collections.externalSet - package it.unive.lisa.util.collections.externalSet
 
it.unive.lisa.util.datastructures.graph - package it.unive.lisa.util.datastructures.graph
 
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 level Level.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 level Level.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 level Level.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 level Level.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.impl.heap.pointbased.AllocationSites
 
iterator() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
 
iterator() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
iterator() - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
iterator() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
iterator() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
iterator() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 

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 JsonReports.
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 JsonReports.
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.

K

keys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the keys of this functional lattice.
kill(Identifier, ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow kill operation, yielding the Identifiers that are killed by the assignment of the given expression to the given id.
kill(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
kill(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
kill(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 

L

LABEL - Static variable in class it.unive.lisa.outputs.DotGraph
The label attribute name.
lattice - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
The underlying lattice.
Lattice<L extends Lattice<L>> - Interface in it.unive.lisa.analysis
An interface for elements that follow a lattice structure.
left - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
The left-hand side abstract domain.
lessOrEqual(AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
 
lessOrEqual(ValueCartesianProduct<T1, T2>) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
lessOrEqual(SimpleAbstractState<H, V>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
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.lattices.FunctionalLattice
 
lessOrEqualAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
lessOrEqualAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
lessOrEqualAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
lessOrEqualAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
lessOrEqualAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
lessOrEqualAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
lessOrEqualAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
lessOrEqualAux(InferredTypes) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
lessOrEqualAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
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.lattices.InverseSetLattice
 
lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.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(LiSAConfiguration) - Constructor for class it.unive.lisa.LiSA
Builds a new LiSA instance.
LiSAConfiguration - Class in it.unive.lisa
A holder for the configuration of a LiSA analysis.
LiSAConfiguration() - Constructor for class it.unive.lisa.LiSAConfiguration
Builds a new configuration object, with default settings.
LiSAFactory - Class in it.unive.lisa
An utility class for instantiating analysis components, that is, modular pieces of the analysis that have several implementations.
LiSAFactory() - Constructor for class it.unive.lisa.LiSAFactory
 
LiSAFactory.ConfigurableComponent<T> - Class in it.unive.lisa
An analysis component that can be configured, that is, it has more than one implementation that can be modularly integrated into the analysis.
Literal - Class in it.unive.lisa.program.cfg.statement
A literal, representing a constant value.
Literal(CFG, CodeLocation, Object, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Literal
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
Literal(CFG, Object, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Literal
Builds a typed literal, consisting of a constant value.
LOGICAL_AND - it.unive.lisa.symbolic.value.BinaryOperator
Given two Boolean values b1 and b2 of type BooleanType, this operator returns the logical and between b1 and b2.
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 and b2 of type BooleanType, this operator returns the logical or between b1 and b2.
lub(AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
 
lub(ValueCartesianProduct<T1, T2>) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
lub(SimpleAbstractState<H, V>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
lub(Identifier) - Method in class it.unive.lisa.symbolic.value.HeapLocation
 
lub(Identifier) - Method in class it.unive.lisa.symbolic.value.Identifier
Yields the least upper bounds between two identifiers.
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.lattices.FunctionalLattice
 
lubAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
lubAux(AllocationSites) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
lubAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
lubAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
lubAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
lubAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
lubAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
lubAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
lubAux(InferredTypes) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
lubAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
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.lattices.InverseSetLattice
 
lubAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
 

M

matches(int, Parameter, Expression) - Method in enum it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
Yields true if and only if the signature of the pos-th parameter of a cfg is matched by the given actual parameter, according to this strategy.
matches(Parameter[], Expression[]) - Method in enum it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
Yields true if and only if the signature of a cfg (i.e.
matchesSignature(CFGDescriptor) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
MetaVariableCreator - Interface in it.unive.lisa.program.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.heap.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.impl.heap.MonolithicHeap
 
mk(PointBasedHeap, ValueExpression) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
mk(TypeBasedHeap, ValueExpression) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
mk(Set<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
mk(Set<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Utility for creating a concrete instance of InverseSetLattice given a set.
mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.SetLattice
Utility for creating a concrete instance of SetLattice given a set.
mk(Set<AllocationSite>) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
mkDotFile(String) - 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.externalSet.ExternalSetCache
Builds an empty ExternalSet that uses this cache.
mkInternalStore(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.CFG
 
mkInternalStore(AnalysisState<A, H, V>) - Method in class it.unive.lisa.util.datastructures.graph.FixpointGraph
Builds a new instance of the FunctionalLattice that is used to store the fixpoint results on internal nodes, that is, node that are nested within outer ones.
mkNewFunction(Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Creates a new instance of the underlying function.
mkOutputFile(String) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name.
mkOutputFile(String, boolean) - 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.externalSet.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.externalSet.ExternalSetCache
Builds an ExternalSet that uses this cache and contains only the given element.
mkUniversalSet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Builds an ExternalSet that uses this cache and contains all of its elements.
MonolithicHeap - Class in it.unive.lisa.analysis.impl.heap
A monolithic heap implementation that abstracts all heap locations to a unique identifier.
MonolithicHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.MonolithicHeap
Builds a new instance.
multiTransform(Function<T, Collection<T>>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Transforms this set into another set where each element is obtained by transforming elements of this set.

N

NANOS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as nanoseconds.
NativeCall - Class in it.unive.lisa.program.cfg.statement
A native call, modeling the usage of one of the native constructs of the language.
NativeCall(CFG, CodeLocation, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NativeCall
Builds the untyped native call, happening at the given location in the program.
NativeCall(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.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.program.cfg.statement.NativeCall
Builds the untyped native call.
NativeCall(CFG, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NativeCall
Builds the native call.
NativeCFG - Class in it.unive.lisa.program.cfg
A native cfg, representing a cfg that is usually provided by the runtime of the programming language.
NativeCFG(CFGDescriptor, Class<? extends NativeCall>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
Builds the native control flow graph.
negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Negates the current satisfiability, getting the opposite result.
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Builds a new instance of this edge, connecting the given nodes.
Node<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
A node of a Graph.
NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
The default shape of a node.
noneMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.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 SymbolicExpressions of type E by knowing the values of all program variables.
NonRelationalHeapDomain<T extends NonRelationalHeapDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.heap
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.value
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.program.cfg.statement
A statement that does nothing.
NoOp(CFG) - Constructor for class it.unive.lisa.program.cfg.statement.NoOp
Builds the no-op.
NoOp(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.NoOp
Builds the no-op, happening at the given location in the program.
NORMAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
The color of a normal node.
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 the null value.
NullLiteral - Class in it.unive.lisa.program.cfg.statement
A literal representing the null constant.
NullLiteral(CFG) - Constructor for class it.unive.lisa.program.cfg.statement.NullLiteral
Builds the null literal.
NullLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.NullLiteral
Builds the null literal, happening at the given location in the program.
nullSafeCompare(boolean, T, T, Comparator<T>) - Static method in class it.unive.lisa.util.collections.Utils
A null-safe comparison callback that invokes the given comparator only if the given objects are both non-null.
NullType - Class in it.unive.lisa.type
The Null type, that is the type of {#link NullLiteral}.
NUMERIC_ADD - it.unive.lisa.symbolic.value.BinaryOperator
Given two integers values n1 and n2 of type NumericType, this operator returns the addition of n1 with n2.
NUMERIC_DIV - it.unive.lisa.symbolic.value.BinaryOperator
Given two integers values n1 and n2, with n2 not equal to zero, of type NumericType, this operator returns the division of i1 with n2.
NUMERIC_MOD - it.unive.lisa.symbolic.value.BinaryOperator
Given two integers values n1 and n2 of type NumericType, this operator returns the modulo of n1 with n2.
NUMERIC_MUL - it.unive.lisa.symbolic.value.BinaryOperator
Given two integers values n1 and n2 of type NumericType, this operator returns the multiplication of i1 with n2.
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 and n2 of type NumericType, this operator returns the subtraction of n1 with n2.
NumericType - Interface in it.unive.lisa.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.program.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.program.cfg.statement
A call to a CFG that is not under analysis.
OpenCall(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.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.program.cfg.statement.OpenCall
Builds the untyped open call.
OpenCall(CFG, String, Type, Expression...) - Constructor for class it.unive.lisa.program.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 SymbolicExpressions.
or(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Performs a logical or between this satisfiability and the given one.
overriddenBy() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the collection of CodeMember that override the cfg associated with this descriptor.
overrides() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the collection of CodeMember that the cfg associated with this descriptor overrides.

P

Parameter - Class in it.unive.lisa.program.cfg
A CFG parameter identified by its name and its type, containing the information about the source file, line and column where the parameter is defined.
Parameter(CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.Parameter
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
Parameter(String) - Constructor for class it.unive.lisa.program.cfg.Parameter
Builds an untyped parameter reference, identified by its name.
Parameter(String, Type) - Constructor for class it.unive.lisa.program.cfg.Parameter
Builds a typed parameter reference, identified by its name and its type.
Parity - Class in it.unive.lisa.analysis.impl.numeric
The Parity abstract domain, tracking if a numeric value is even or odd, implemented as a BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability.
Parity() - Constructor for class it.unive.lisa.analysis.impl.numeric.Parity
Builds the parity abstract domain, representing the top of the parity abstract domain.
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.
PluggableStatement - Interface in it.unive.lisa.program.cfg.statement
A Statement that can be dynamically plugged into a CFG in place of another statement.
PointBasedHeap - Class in it.unive.lisa.analysis.impl.heap.pointbased
A field-insensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
PointBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
Builds a new instance of field-insensitive point-based heap, with an unique rewritten expression Skip.
PointBasedHeap(Collection<ValueExpression>, HeapEnvironment<AllocationSites>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
Builds a new instance of field-insensitive point-based heap from its rewritten expressions and heap environment.
PointerType - Interface in it.unive.lisa.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.
PossibleForwardDataflowDomain<E extends DataflowElement<PossibleForwardDataflowDomain<E>,​E>> - Class in it.unive.lisa.analysis.dataflow
A DataflowDomain for forward and possible dataflow analysis.
PossibleForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
Builds an empty domain.
predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.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(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
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.
preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
 
preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Callback that is invoked on a node before simplifying it.
Program - Class in it.unive.lisa.program
A program that LiSA can analyze.
Program() - Constructor for class it.unive.lisa.program.Program
Builds an empty program.
PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
The name of the program.
ProgramPoint - Interface in it.unive.lisa.program.cfg
A program point, representing an instruction that is happening in one of the CFG under analysis.
ProgramValidationException - Exception in it.unive.lisa.program
A generic Exception that indicates that something has gone wrong while validating a Program's structure or when computing unit's hierarchies and cfgs' overridings.
ProgramValidationException() - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String, Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
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.
PushAny - Class in it.unive.lisa.symbolic.value
An expression converting that push any possible value on the stack.
PushAny(ExternalSet<Type>) - Constructor for class it.unive.lisa.symbolic.value.PushAny
Builds the push any.
put(Statement, AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.StatementStore
Stores the given state for the given statement.

R

ReachingDefinitions - Class in it.unive.lisa.analysis.dataflow.impl
An implementation of the reaching definition dataflow analysis.
ReachingDefinitions() - Constructor for class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
Builds an empty reaching definition object.
read(Reader) - Static method in class it.unive.lisa.outputs.JsonReport
Reads a JsonReport from a Reader 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 interface it.unive.lisa.util.collections.externalSet.ExternalSet
Reduces this set to a single element.
registerDefaultFor(Class<?>, Class<?>) - Static method in class it.unive.lisa.LiSAFactory
Registers a default implementation for component, taking precedence over the defaults defined through DefaultImplementation.
registerType(Type) - Method in class it.unive.lisa.program.Program
Registers a new Type that appears in the program.
remove(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
remove(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
removeAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
removeAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
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.AnalysisState
 
representation() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
Yields a textual representation of the content of this domain's instance.
representation() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
representation() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
representation() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
representation() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
representation() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
representation() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
representation() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
representation() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
representation() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
representation() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
representation() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
representation() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
representation() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
representation() - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
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 interface it.unive.lisa.analysis.SemanticDomain
Yields a textual representation of the content of this domain's instance.
representation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
resolve(UnresolvedCall) - Method in interface it.unive.lisa.callgraph.CallGraph
Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
resolve(UnresolvedCall) - Method in class it.unive.lisa.callgraph.impl.intraproc.IntraproceduralCallGraph
 
Ret - Class in it.unive.lisa.program.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.program.cfg.statement.Ret
Builds the return.
Ret(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.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.BitExternalSet
 
retainAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
Return - Class in it.unive.lisa.program.cfg.statement
Returns an expression to the caller CFG, terminating the execution of the CFG where this statement lies.
Return(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Return
Builds the return, returning expression to the caller CFG, happening at the given location in the program.
Return(CFG, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Return
Builds the return, returning expression to the caller CFG.
rewrite(Statement, Expression...) - Method in class it.unive.lisa.program.cfg.NativeCFG
Produces a NativeCall providing the semantics of this native cfg.
right - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
The right-hand side abstract domain.
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(Program) - Method in class it.unive.lisa.LiSA
Runs LiSA, executing all the checks that have been added.
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 both CollectionsDiffBuilder.getOnlyFirst() and CollectionsDiffBuilder.getOnlySecond() are empty.
SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
Represent the fact that an expression is satisfied.
satisfies(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
Checks whether expression is satisfied in environment, assuming that the values of program variables are the ones stored in environment and returning an instance of SemanticDomain.Satisfiability.
satisfies(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
satisfies(E, ProgramPoint) - 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, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
satisfies(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
 
satisfies(ValueExpression, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
satisfies(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
satisfies(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
satisfies(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
satisfiesAbstractValue(T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of an abstract value of type <T>.
satisfiesAbstractValue(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of an abstract value of type <T>.
satisfiesBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
satisfiesBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
satisfiesBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of a BinaryExpression applying operator to two expressions whose abstract values are left, and right.
satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a BinaryExpression applying operator to two expressions whose abstract values are left, and right.
satisfiesNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of the given non-null constant on this abstract domain.
satisfiesNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of the given non-null constant on this abstract domain.
satisfiesNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of the null constant NullConstant on this abstract domain.
satisfiesNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of the null constant NullConstant on this abstract domain.
satisfiesPushAny(PushAny) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of the push any expression.
satisfiesTernaryExpression(TernaryOperator, Sign, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of a TernaryExpression applying operator to three expressions whose abstract values are left, middle and right.
satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a TernaryExpression applying operator to three expressions whose abstract values are left, middle and right.
satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
Yields the satisfiability of a UnaryExpression applying operator to an expression whose abstract value is arg, returning an instance of SemanticDomain.Satisfiability.
satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a UnaryExpression applying operator to an expression whose abstract value is arg, returning an instance of SemanticDomain.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.
SemanticEdge<N extends Node<N,​E,​G>,​E extends SemanticEdge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
An extension of Edge that can modify abstract information when being traversed.
SemanticEvaluator - Interface in it.unive.lisa.analysis
An entity that can perform semantic evaluations that is not a SemanticDomain.
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<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Assignment
Semantics of an assignment (left = right) is evaluated as follows: the semantic of the right is evaluated using the given entryState, returning a new analysis state as_r = <state_r, expr_r> the semantic of the left is evaluated using as_r, returning a new analysis state as_l = <state_l, expr_l> the final post-state is evaluated through AnalysisState.assign(Identifier, SymbolicExpression, ProgramPoint), using expr_l as id and expr_r as value This means that all side effects from right are evaluated before the ones from left.

Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.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<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Literal
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.NullLiteral
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Return
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Statement
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Throw
 
semantics(AnalysisState<A, H, V>, CallGraph, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
Yields a new instance of this domain, built by evaluating the semantics of the given heap expression.
semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
 
semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
SequentialEdge - Class in it.unive.lisa.program.cfg.edge
A sequential edge connecting two statement.
SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
Builds the edge.
setAbstractState(AbstractState<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
Sets the AbstractState to use for the analysis.
setCallGraph(T) - Method in class it.unive.lisa.LiSAConfiguration
Sets the CallGraph to use for the analysis.
setDumpAnalysis(boolean) - Method in class it.unive.lisa.LiSAConfiguration
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.LiSAConfiguration
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.LiSAConfiguration
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.
setIndex(int) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Sets the index of this variable.
setInferTypes(boolean) - Method in class it.unive.lisa.LiSAConfiguration
Sets whether or not runtime types should be inferred before executing the semantic analysis.
setJsonOutput(boolean) - Method in class it.unive.lisa.LiSAConfiguration
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.lattices
A generic set lattice containing a set of elements.
SetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.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.program.cfg.statement.AccessGlobal
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Call
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Literal
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
setOffset(int) - Method in interface it.unive.lisa.util.datastructures.graph.Node
Sets the offset of this node to the given value, and then proceeds by setting the one of its nested nodes (if any) to subsequent values.
setOriginatingStatement(Statement) - Method in interface it.unive.lisa.program.cfg.statement.PluggableStatement
Sets the original Statement that got rewritten by theis pluggable statement.
setOverridable(boolean) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Sets whether or not the cfg associated to this descriptor can be overridden.
setParentStatement(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
Sets the Statement that contains this expression.
setRuntimeTypes(ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.Expression
Sets the runtime types of this expression.
setScopeEnd(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Sets the statement where this variable is last visible.
setScopeStart(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Sets the statement where this variable is first visible.
setWorkdir(String) - Method in class it.unive.lisa.LiSAConfiguration
Sets the working directory for this instance of LiSA, that is, the directory files will be created, if any.
SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
The shape attribute name.
Sign - Class in it.unive.lisa.analysis.impl.numeric
The basic Sign abstract domain, tracking zero, strictly positive and strictly negative integer values, implemented as a BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability.
Sign() - Constructor for class it.unive.lisa.analysis.impl.numeric.Sign
Builds the sign abstract domain, representing the top of the sign abstract domain.
SimpleAbstractState<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.
SimpleAbstractState(H, V) - Constructor for class it.unive.lisa.analysis.SimpleAbstractState
Builds a new abstract state.
simplify() - Method in class it.unive.lisa.program.cfg.CFG
Simplifies this cfg, removing all NoOps and rewriting the edge set accordingly.
simplify(Class<T>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Simplifies the adjacency matrix beneath this graph, removing all nodes that are instances of <T> and rewriting the edge set accordingly.
simplify(Set<N>, Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Simplifies this matrix, removing all the given nodes and rewriting the edge set accordingly.
size() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
size() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the total number of elements stored in this cache.
size() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
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, ProgramPoint) - 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, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
 
smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
SourceCodeLocation - Class in it.unive.lisa.program
A location of an element in the source code represented by the path to the source code, the line and the column where the element appears.
SourceCodeLocation(String, int, int) - Constructor for class it.unive.lisa.program.SourceCodeLocation
Builds the code element.
SPECIAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
The color of a special node (entry or exit).
Statement - Class in it.unive.lisa.program.cfg.statement
A statement of the program to analyze.
Statement(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Statement
Builds a statement happening at the given source location.
StatementStore<A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
A functional lattice that stores instances of AnalysisState computed on statements.
StatementStore(AnalysisState<A, H, V>) - Constructor for class it.unive.lisa.analysis.StatementStore
Builds the store.
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.
STATIC_TYPES - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
A strategy where the static types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if the static type of the actual parameter can be assigned to the type of the formal parameter, than UnresolvedCall.ResolutionStrategy.matches(Parameter[], Expression[]) return true.
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Ret
 
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Return
 
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Statement
Whether or not this statement stops the execution of the containing cfg, either by throwing an error or returning a value.
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Throw
 
STRING_CONCAT - it.unive.lisa.symbolic.value.BinaryOperator
Given two string values s1 and s2 of type StringType, this operator return the concatenation of s1 with s2.
STRING_CONTAINS - it.unive.lisa.symbolic.value.BinaryOperator
Given two string values s1 and s2 of type StringType, this operator checks whether s1 contains s2.
STRING_ENDS_WITH - it.unive.lisa.symbolic.value.BinaryOperator
Given two string values s1 and s2 of type StringType, this operator checks whether s1 ends with s2, namely if s2 is the suffix of s1.
STRING_EQUALS - it.unive.lisa.symbolic.value.BinaryOperator
Given two string values s1 and s2 of type StringType, this operator checks if the two strings are equals.
STRING_INDEX_OF - it.unive.lisa.symbolic.value.BinaryOperator
Given two string values s1 and s2 of type StringType, this operator return the position of the first occurrence of s1 in s2.
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 and s2 of type StringType, this operator checks whether s1 starts with s2, namely if s2 is the prefix of s1.
STRING_SUBSTRING - it.unive.lisa.symbolic.value.TernaryOperator
Given a string s of type StringType and two unsigned integers i and j of type NumericType, returns the the substring between i and j (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.type
String type interface.
STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
The style attribute name.
SymbolicExpression - Class in it.unive.lisa.symbolic
A symbolic expression that can be evaluated by SemanticDomains.
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 SyntacticChecks.
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 three SymbolicExpressions.
TernaryExpression(ExternalSet<Type>, SymbolicExpression, SymbolicExpression, SymbolicExpression, TernaryOperator) - Constructor for class it.unive.lisa.symbolic.value.TernaryExpression
Builds the binary expression.
TernaryNativeCall - Class in it.unive.lisa.program.cfg.statement
A NativeCall with a exactly three arguments.
TernaryNativeCall(CFG, CodeLocation, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
Builds the untyped native call, happening at the given location in the program.
TernaryNativeCall(CFG, CodeLocation, String, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
Builds the native call, happening at the given location in the program.
TernaryNativeCall(CFG, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
Builds the untyped native call.
TernaryNativeCall(CFG, String, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
Builds the native call.
TernaryOperator - Enum in it.unive.lisa.symbolic.value
A ternary operator that can be applied to a triple of SymbolicExpressions.
ternarySemantics(AnalysisState<A, H, V>, CallGraph, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.TernaryNativeCall
Computes the semantics of the call, after the semantics of the parameters have been computed.
Throw - Class in it.unive.lisa.program.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, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Throw
Builds the throw, raising expression as error, happening at the given location in the program.
Throw(CFG, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Throw
Builds the throw, raising expression as error.
throwsError() - Method in class it.unive.lisa.program.cfg.statement.Statement
Whether or not this statement throws an error, halting the normal execution of the containing cfg.
throwsError() - Method in class it.unive.lisa.program.cfg.statement.Throw
 
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.BitExternalSet
 
toArray() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
toDot(Function<Statement, String>) - Method in class it.unive.lisa.program.cfg.CFG
 
toDot(Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Converts this graph to a DotGraph instance.
top() - Method in class it.unive.lisa.analysis.AnalysisState
 
top() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
top() - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
top() - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
top() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
top() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
top() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
top() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
top() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
top() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
top() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
top() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
top() - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
top() - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
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.heap.HeapEnvironment
 
top() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
top() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
 
top() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
top() - Method in class it.unive.lisa.analysis.StatementStore
 
TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
A string constant that can be used to represent top values.
toString() - Method in class it.unive.lisa.analysis.AnalysisState
 
toString() - Method in class it.unive.lisa.analysis.BaseLattice
 
toString() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
 
toString() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
toString() - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
toString() - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
toString() - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
toString() - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
 
toString() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
 
toString() - Method in class it.unive.lisa.analysis.inference.BaseInferredValue
 
toString() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
 
toString() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
toString() - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
toString() - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
toString() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
 
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.LiSAConfiguration
 
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.program.cfg.CFG
 
toString() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
 
toString() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
toString() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
toString() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
toString() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
toString() - Method in class it.unive.lisa.program.cfg.Parameter
 
toString() - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.AccessUnitGlobal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Assignment
 
toString() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Literal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
toString() - Method in class it.unive.lisa.program.cfg.statement.NullLiteral
 
toString() - Method in class it.unive.lisa.program.cfg.statement.OpenCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Ret
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Return
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Statement
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Throw
 
toString() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
toString() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
 
toString() - Method in class it.unive.lisa.program.Global
 
toString() - Method in class it.unive.lisa.program.SourceCodeLocation
 
toString() - Method in class it.unive.lisa.program.Unit
 
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.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.HeapLocation
 
toString() - Method in class it.unive.lisa.symbolic.value.NullConstant
 
toString() - Method in class it.unive.lisa.symbolic.value.PushAny
 
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.UnaryExpression
 
toString() - Method in enum it.unive.lisa.symbolic.value.UnaryOperator
 
toString() - Method in class it.unive.lisa.symbolic.value.Variable
 
toString() - Method in class it.unive.lisa.type.NullType
 
toString() - Method in class it.unive.lisa.type.TypeTokenType
 
toString() - Method in class it.unive.lisa.type.Untyped
 
toString() - Method in class it.unive.lisa.type.VoidType
 
toString() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
toString() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.Graph
 
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
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.impl.AvailableExpressions
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.impl.ConstantPropagation
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.impl.ReachingDefinitions
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
Yields true if the domain tracks information on the identifier id, false otherwise.
transform(Function<T, T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Transforms this set into another set where each element is obtained by transforming elements of this set.
traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.Edge
 
traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
traverse(AnalysisState<A, H, V>) - Method in interface it.unive.lisa.util.datastructures.graph.SemanticEdge
Traverses this edge, optionally modifying the given sourceState by applying semantic assumptions.
TrueEdge - Class in it.unive.lisa.program.cfg.edge
An edge connecting two statements, that is traversed when the condition expressed in the source state holds.
TrueEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.TrueEdge
Builds the edge.
Type - Interface in it.unive.lisa.type
Type interface.
TYPE_CAST - it.unive.lisa.symbolic.value.BinaryOperator
Casts the type of the left-hand side of this expression to the type of the right-hand side.
TYPE_CHECK - it.unive.lisa.symbolic.value.BinaryOperator
Tests if the type of the left-hand side of this expression is the same as, or a subtype of, the type of the right-hand side.
TYPE_CONV - it.unive.lisa.symbolic.value.BinaryOperator
Converts the type of the left-hand side of this expression to the type of the right-hand side.
TypeBasedHeap - Class in it.unive.lisa.analysis.impl.heap
A type-based heap implementation that abstracts heap locations depending on their types, i.e., all the heap locations with the same type are abstracted into a single unique identifier.
TypeBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
Builds a new instance of TypeBasedHeap, with an unique rewritten expression Skip.
TYPEOF - it.unive.lisa.symbolic.value.UnaryOperator
Yields the Type of an expression.
types() - Static method in class it.unive.lisa.caches.Caches
Yields the globally defined cache for ExternalSets containing Types.
TypeTokenType - Class in it.unive.lisa.type
The type of type tokens, used as reference to types in code.
TypeTokenType(ExternalSet<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
Builds the type token representing the given types.

U

UnaryExpression - Class in it.unive.lisa.symbolic.value
A unary expression that applies a UnaryOperator to a SymbolicExpression.
UnaryExpression(ExternalSet<Type>, SymbolicExpression, UnaryOperator) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
Builds the unary expression.
UnaryNativeCall - Class in it.unive.lisa.program.cfg.statement
A NativeCall with a single argument.
UnaryNativeCall(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryNativeCall
Builds the untyped native call, happening at the given location in the program.
UnaryNativeCall(CFG, CodeLocation, String, Type, Expression) - Constructor for class it.unive.lisa.program.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.program.cfg.statement.UnaryNativeCall
Builds the untyped native call.
UnaryNativeCall(CFG, String, Type, Expression) - Constructor for class it.unive.lisa.program.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<A, H, V>, CallGraph, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.UnaryNativeCall
Computes the semantics of the call, after the semantics of the parameter has been computed.
UnaryStatement - Class in it.unive.lisa.program.cfg.statement
A unary statement.
UnaryStatement(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
Builds the unary statement, happening at the given location in the program.
UnaryStatement(CFG, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
Builds the unary statement.
union(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
union(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields the union of this set and another.
Unit - Class in it.unive.lisa.program
A unit of the program to analyze.
Unit(CodeLocation, String) - Constructor for class it.unive.lisa.program.Unit
Builds a unit, defined at the given location.
UnitType - Interface in it.unive.lisa.type
Interface for types that are introduced by a CompilationUnit.
UniversalExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
An ExternalSet that always stays up-to-date with the contents of the underlying factory, but that cannot be modified.
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.program.cfg.statement
A call that happens inside the program to analyze.
UnresolvedCall(CFG, CodeLocation, UnresolvedCall.ResolutionStrategy, boolean, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.UnresolvedCall
Builds the CFG call, happening at the given location in the program.
UnresolvedCall(CFG, UnresolvedCall.ResolutionStrategy, boolean, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.UnresolvedCall
Builds the call.
UnresolvedCall.ResolutionStrategy - Enum in it.unive.lisa.program.cfg.statement
An enum defining the different types of resolution strategies for call signatures.
Untyped - Class in it.unive.lisa.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.
Utils - Class in it.unive.lisa.util.collections
Utility methods for operations on Collections.
Utils() - Constructor for class it.unive.lisa.util.collections.Utils
 

V

validate() - Method in class it.unive.lisa.program.cfg.CFG
Validates this cfg, ensuring that the code contained in it is well formed.
validateAndFinalize() - Method in class it.unive.lisa.program.CompilationUnit
Validates this unit, ensuring its consistency.
validateAndFinalize() - Method in class it.unive.lisa.program.Program
Validates this unit, ensuring its consistency.
validateAndFinalize() - Method in class it.unive.lisa.program.Unit
Validates this unit, ensuring its consistency.
value() - Method in annotation type it.unive.lisa.DefaultImplementation
The class of the default implementation of the annotated analysis component.
value() - Method in annotation type it.unive.lisa.DefaultParameters
The default classes of each parameter.
ValueCartesianProduct<T1 extends ValueDomain<T1>,​T2 extends ValueDomain<T2>> - Class in it.unive.lisa.analysis.combination
A Cartesian product between two non-communicating ValueDomains (i.e., no exchange of information between the abstract domains) assigning Identifiers and handling ValueExpressions.
ValueCartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.ValueCartesianProduct
Builds the value Cartesian product.
ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis.value
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.value
An environment for a NonRelationalValueDomain, that maps Identifiers to instances of such domain.
ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.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.
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.program.cfg.statement.UnresolvedCall.ResolutionStrategy
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() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the values of this functional lattice.
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.program.cfg.statement.UnresolvedCall.ResolutionStrategy
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(Identifier, ProgramPoint) - Method in interface it.unive.lisa.analysis.inference.InferredValue
Yields a fixed abstraction of the given variable.
Variable - Class in it.unive.lisa.symbolic.value
An identifier of a real program variable.
Variable(ExternalSet<Type>, String) - Constructor for class it.unive.lisa.symbolic.value.Variable
Builds the variable.
VariableRef - Class in it.unive.lisa.program.cfg.statement
A reference to a variable of the current CFG, identified by its name.
VariableRef(CFG, CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
Builds the variable reference, identified by its name, happening at the given location in the program.
VariableRef(CFG, String) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
Builds the untyped variable reference, identified by its name.
VariableRef(CFG, String, Type) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
Builds a typed variable reference, identified by its name and its type.
VariableTableEntry - Class in it.unive.lisa.program.cfg
An entry in the variable table representing a CFG variable identified by its index, containing the information about the source file, line and column where the variable is defined.
VariableTableEntry(int, Statement, Statement, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds an untyped variable table entry, identified by its index.
VariableTableEntry(int, Statement, Statement, String, Type) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds a typed variable table entry, identified by its index.
VariableTableEntry(int, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds an untyped variable table entry, identified by its index.
VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds the variable table entry, identified by its index, representing a variable defined at the given location in the program.
visit(V, G) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
Visits a graph, inspecting its structure and signature, but without accessing its contents.
visit(V, G, E) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
Visits an edge of the given graph.
visit(V, G, N) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
Visits a node of the given graph.
VoidType - Class in it.unive.lisa.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(CodeLocation, 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(AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
 
widening(ValueCartesianProduct<T1, T2>) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
 
widening(SimpleAbstractState<H, V>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
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.lattices.FunctionalLattice
 
wideningAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
 
wideningAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
 
wideningAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
 
wideningAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
 
wideningAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
 
wideningAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
 
wideningAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
 
wideningAux(InferredTypes) - Method in class it.unive.lisa.analysis.impl.types.InferredTypes
 
wideningAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.inference.InferenceSystem
 
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.lattices.InverseSetLattice
 
wideningAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
WorkingSet<E> - Interface in it.unive.lisa.util.workset
A working set, containing items to be processed.
A B C D E F G H I J K L M N O P R S T U V W 
All Classes All Packages