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

A

ABSTRACT_METHODS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for AbstractCodeMembers in non-AbstractClassUnits.
ABSTRACT_NON_INSTANCE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for AbstractCodeMember that is not instance.
ABSTRACT_SEALED_UNIT - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for sealed AbstractClassUnits.
AbstractClassUnit - Class in it.unive.lisa.program
A compilation unit of the program to analyze.
AbstractClassUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.AbstractClassUnit
Builds a concrete compilation unit, defined at the given program point.
AbstractCodeMember - Class in it.unive.lisa.program.cfg
A signature control flow graph, that has no graph implementation but just its signature.

Note that this class does not implement Object.equals(Object) nor Object.hashCode() since all cfgs are unique.
AbstractCodeMember(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.AbstractCodeMember
Builds the signature control flow graph.
AbstractState<A extends AbstractState<A,​H,​V,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - 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(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.AccessChild
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapReference
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.SymbolicExpression
Accepts an ExpressionVisitor, visiting this expression recursively.
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Constant
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.HeapLocation
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.PushAny
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Skip
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
 
accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Variable
 
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 interface 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<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
 
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.global.AccessGlobal
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
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(Type, SymbolicExpression, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.AccessChild
Builds the child access.
AccessGlobal - Class in it.unive.lisa.program.cfg.statement.global
An access to a Global of a Unit.
AccessGlobal(CFG, CodeLocation, Unit, Global) - Constructor for class it.unive.lisa.program.cfg.statement.global.AccessGlobal
Builds the global access, happening at the given location in the program.
AccessInstanceGlobal - Class in it.unive.lisa.program.cfg.statement.global
An access to an instance Global of a ClassUnit.
AccessInstanceGlobal(CFG, CodeLocation, Expression, String) - Constructor for class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
Builds the global access, happening at the given location in the program.
add(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this + other.
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
 
addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
 
addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new CompilationUnit as direct inheritance ancestor (i.e., superclass, interface, or superinterface) of this unit.
addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
 
addAnnotation(Annotation) - Method in class it.unive.lisa.program.annotations.Annotations
Adds an annotations to this annotation collection.
addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Adds an annotations to this descriptor.
addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.Parameter
Adds an annotations to this parameter.
addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Adds an annotation to the annotations of this variable table entry.
addAnnotation(Annotation) - Method in class it.unive.lisa.program.CompilationUnit
Adds an annotation to the annotations of this compilation unit.
addAnnotation(Annotation) - Method in class it.unive.lisa.program.Global
Adds an annotation to the annotations of this global.
addAnnotation(Annotation) - Method in class it.unive.lisa.symbolic.value.Identifier
Adds an annotation to the annotations of this identifier.
addCodeMember(CodeMember) - Method in class it.unive.lisa.program.Unit
Adds a new CodeMember, identified by its signature (CodeMemberDescriptor.getSignature()), to this unit.
addControlFlowStructure(ControlFlowStructure) - Method in class it.unive.lisa.program.cfg.CFG
Adds the given ControlFlowStructure to the ones contained in this cfg.
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.BaseGraph
 
addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Adds an edge to this list.
addEdge(E) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Adds an edge to this graph.
addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.DotGraph
Adds an edge to the graph.
addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.GraphmlGraph
Adds an edge to the graph.
addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Adds the given edge to the graph.
addEntryPoint(CFG) - Method in class it.unive.lisa.program.Program
Adds a new CFG to the entry points of this program.
addGlobal(Global) - Method in class it.unive.lisa.program.Unit
Adds a new Global, identified by its name (Global.getName()), to this unit.
addInstance(Unit) - Method in class it.unive.lisa.program.ClassUnit
 
addInstance(Unit) - Method in class it.unive.lisa.program.CompilationUnit
Adds the given unit as an instance of this one, thus marking the former as a type that inherits from the latter.
addInstance(Unit) - Method in class it.unive.lisa.program.InterfaceUnit
 
addInstanceCodeMember(CodeMember) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance CodeMember, identified by its signature (CodeMemberDescriptor.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.
addInterface(InterfaceUnit) - Method in class it.unive.lisa.program.ClassUnit
Adds a new InterfaceUnit as interface of this unit.
Addition - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the addition operation (+).
Addition(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Addition
Builds the addition.
AdditionOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs an addition between its operands.
addNode(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Adds the given node to the graph.
addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.DotGraph
Adds a node to the graph.
addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.GraphmlGraph
Adds a node to the graph.
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.BaseGraph
 
addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Adds the given node to the list of nodes.
addNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes.
addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
addNode(N, boolean) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, root).
addNodeDescription(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Adds the given node description 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.
addSuperclass(ClassUnit) - Method in class it.unive.lisa.program.ClassUnit
Adds a new ClassUnit as superclass of this unit.
addSuperinterface(InterfaceUnit) - Method in class it.unive.lisa.program.InterfaceUnit
Adds the given InterfaceUnit to the list of direct ancestors of this interface.
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.
addUnit(Unit) - Method in class it.unive.lisa.program.Program
Adds a new ClassUnit, identified by its name (Unit.getName()), to this program.
addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Adds a VariableTableEntry at the end of the variable table.
adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
AdjacencyMatrix<G extends BaseGraph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<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<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Copies the given matrix by shallow-copying the Nodes and deep-copying the values.
AdjacencyMatrix.NodeEdges<G extends BaseGraph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
afterExecution(T) - Method in interface it.unive.lisa.checks.Check
Callback invoked only once after the end of the inspection of the program.
alias(Symbol, Symbol) - Method in class it.unive.lisa.analysis.AnalysisState
Registers an alias for the given symbol.
Aliases - Class in it.unive.lisa.analysis.symbols
A SetLattice of Symbols to be used as aliases.
Aliases() - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds an empty set of aliases, representing the top of the lattice.
Aliases(Symbol) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds the set of aliases.
Aliases(Set<Symbol>) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds the set of aliases.
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.BoolType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float32Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float64Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int16Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int32Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int64Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int8Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.StringType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt16Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt32Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt64Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt8Type
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.NullType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.ReferenceType
 
allInstances(TypeSystem) - Method in interface it.unive.lisa.type.Type
Yields all possible instances of this type, including itself.
allInstances(TypeSystem) - Method in class it.unive.lisa.type.TypeTokenType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.Untyped
 
allInstances(TypeSystem) - 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.
allStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields all the Statements contained in this structure, including the condition and the first follower.
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,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
The abstract analysis state at a given program point.
AnalysisState(A, ExpressionSet<SymbolicExpression>, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
Builds a new state.
AnalysisState(A, SymbolicExpression, SymbolAliasing) - 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.
And - Class in it.unive.lisa.program.cfg.statement.logic
An expression modeling the logical conjunction (&& or and).
And(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.And
Builds the logical conjunction.
Annotation - Class in it.unive.lisa.program.annotations
A single annotation.
Annotation(String) - Constructor for class it.unive.lisa.program.annotations.Annotation
Builds an annotation from its name .
Annotation(String, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
Builds an annotation from its name.
Annotation(String, List<AnnotationMember>) - Constructor for class it.unive.lisa.program.annotations.Annotation
Builds an annotation from its name and its members that cannot be inherited.
Annotation(String, List<AnnotationMember>, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
Builds an annotation from its name and its members.
AnnotationMatcher - Interface in it.unive.lisa.program.annotations.matcher
Interface for an annotation matcher.
AnnotationMember - Class in it.unive.lisa.program.annotations
A member of an annotation.
AnnotationMember(String, AnnotationValue) - Constructor for class it.unive.lisa.program.annotations.AnnotationMember
Builds an annotation member from its identifier and its annotation value.
Annotations - Class in it.unive.lisa.program.annotations
A collection of annotations.
Annotations() - Constructor for class it.unive.lisa.program.annotations.Annotations
Builds an empty list of annotations.
Annotations(Annotation) - Constructor for class it.unive.lisa.program.annotations.Annotations
Builds a collection of annotations containing only the given one.
Annotations(Annotation...) - Constructor for class it.unive.lisa.program.annotations.Annotations
Builds a collection of annotations from an array of annotations.
Annotations(Collection<Annotation>) - Constructor for class it.unive.lisa.program.annotations.Annotations
Builds a collection of annotations from a given collection.
AnnotationValue - Interface in it.unive.lisa.program.annotations.values
An annotation value.
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.
Application - Class in it.unive.lisa.program
An complete application, collecting several Programs that need to be analyzed together.
Application(Program...) - Constructor for class it.unive.lisa.program.Application
Builds the application.
apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.interprocedural.OpenCallPolicy
Applies the policy to the given open call.
apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.ReturnTopPolicy
 
apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.WorstCasePolicy
 
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.
ArithmeticOperator - Interface in it.unive.lisa.symbolic.value.operator
A numerical operation on operand(s) of type NumericType.
ArrayAnnotationValue - Class in it.unive.lisa.program.annotations.values
An array annotation value.
ArrayAnnotationValue(BasicAnnotationValue[]) - Constructor for class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
Builds an array annotation value.
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.
asInMemoryType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a InMemoryType, only if Type.isInMemoryType() 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.
asReferenceType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a ReferenceType, only if Type.isReferenceType() 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(SymbolicExpression, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
Yields a copy of this analysis state, where the symbolic expression id has been assigned to value: if id is not an Identifier, then it is rewritten before performing the assignment.
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.SimpleAbstractState
 
assign(Identifier, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
assignAux(Identifier, E, Map<Identifier, T>, T, V, 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, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, InferredValue.InferredPair<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
assignAux(Identifier, ValueExpression, Map<Identifier, T>, 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, EvaluationOrder, 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, CodeLocation, EvaluationOrder, Type, 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, 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, CodeLocation, Type, 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.
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(F, E, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
Yields the environment environment on which the expression expression is assumed to hold by this domain.
assume(InferenceSystem<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
assume(TypeEnvironment<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
assume(ValueEnvironment<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
assumeBinaryExpression(TypeEnvironment<T>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the environment environment assuming that a binary expression with operator operator, left argument left, and right argument right holds.
assumeBinaryExpression(ValueEnvironment<T>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the environment environment assuming that a binary expression with operator operator, left argument left, and right argument right holds.
assumeSatisfied(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
assumeSatisfied(V) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Assumes that an expression, that evaluated to eval, is always satisfied by this environment.
assumeTernaryExpression(TypeEnvironment<T>, TernaryOperator, ValueExpression, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the environment environment assuming that a ternary expression with operator operator, left argument left, middle argument middle,and right argument right holds.
assumeTernaryExpression(ValueEnvironment<T>, TernaryOperator, ValueExpression, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the environment environment assuming that a ternary expression with operator operator, left argument left, middle argument middle,and right argument right holds.
assumeUnaryExpression(TypeEnvironment<T>, UnaryOperator, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the environment environment assuming that an unary expression with operator operator and argument expression holds.
assumeUnaryExpression(ValueEnvironment<T>, UnaryOperator, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the environment environment assuming that an unary expression with operator operator and argument expression holds.
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.

B

BaseCallGraph - Class in it.unive.lisa.interprocedural.callgraph
An instance of CallGraph that provides the basic mechanism to resolve UnresolvedCalls.

The graph underlying this call graph is built lazily through each call to resolve: querying for information about the graph before the completion of the analysis might lead to wrong results.
BaseCallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
BaseGraph<G extends BaseGraph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
A generic Graph, backed by an AdjacencyMatrix.

Note that this class does not define Object.equals(Object) nor Object.hashCode(), since we leave the decision to be unique instances to implementers.
BaseGraph() - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Builds the graph.
BaseGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Clones the given graph.
BaseGraph(Collection<N>, AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Builds the graph.
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
 
BaseHeapDomain.Rewriter - Class in it.unive.lisa.analysis.heap
BaseInferredValue<T extends BaseInferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
Base implementation for InferredValues.
BaseInferredValue() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
BaseInferredValue.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.inference
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
 
BaseNonRelationalTypeDomain<T extends BaseNonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
Base implementation for NonRelationalTypeDomains.
BaseNonRelationalTypeDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
BaseNonRelationalTypeDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
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
 
BaseNonRelationalValueDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
BaseValidationLogic - Class in it.unive.lisa.program.language.validation
A simple implementation of ProgramValidationLogic, providing the minimum reasoning for considering a Program valid for LiSA.
BaseValidationLogic() - Constructor for class it.unive.lisa.program.language.validation.BaseValidationLogic
 
BasicAnnotationMatcher - Class in it.unive.lisa.program.annotations.matcher
An annotation matcher based on the annotation name.
BasicAnnotationMatcher(Annotation) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
Builds the matcher from the name of the annotation.
BasicAnnotationMatcher(String) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
Builds the matcher from the name of the annotation.
BasicAnnotationValue - Interface in it.unive.lisa.program.annotations.values
Abstract class representing a basic annotation value, namely annotation values that can be inside an ArrayAnnotationValue.
beforeExecution(T) - Method in interface it.unive.lisa.checks.Check
Callback invoked only once before the beginning of the inspection of the program.
BinaryExpression - Class in it.unive.lisa.program.cfg.statement
An NaryExpression with exactly two sub-expressions.
BinaryExpression - Class in it.unive.lisa.symbolic.value
A bynary expression that applies a BinaryOperator to two SymbolicExpressions.
BinaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the untyped expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the untyped expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the expression, happening at the given location in the program.
BinaryExpression(Type, SymbolicExpression, SymbolicExpression, BinaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.BinaryExpression
Builds the binary expression.
BinaryOperator - Interface in it.unive.lisa.symbolic.value.operator.binary
A binary Operator that can be applied to a pair of SymbolicExpression.
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Assignment
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
Computes the semantics of the expression, after the semantics of the sub-expressions have been computed.
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.Equal
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.GreaterOrEqual
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.GreaterThan
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.LessOrEqual
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.LessThan
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.NotEqual
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.And
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.Or
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Addition
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Division
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Multiplication
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Remainder
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Subtraction
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Concat
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Contains
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.EndsWith
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Equals
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.IndexOf
 
binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.StartsWith
 
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.
BitwiseAnd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the AND operation (i.e., setting each bit to 1 only if the corresponding bits of both operands are 1) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
Builds the type.
BitwiseNegation - Class in it.unive.lisa.symbolic.value.operator.unary
Given an expression that evaluates to a numeric value, a UnaryExpression using this operator computes the bitwise negation (i.e., flipping every single bit independently) of that value.

Argument expression type: NumericType
Computed expression type: NumericType (same as argument)
BitwiseNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
Builds the type.
BitwiseOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that treats its operand(s) as bit vectors, operating on each bit individually.
BitwiseOr - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the OR operation (i.e., setting each bit to 1 only if at least one of the corresponding bits of the operands are 1) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
Builds the type.
BitwiseShiftLeft - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes a new number built with the bits of the first argument's value shifted to the left by an amount specified by the second argument's value.
BitwiseShiftLeft() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
Builds the type.
BitwiseShiftRight - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes a new number built with the bits of the first argument's value shifted to the right by an amount specified by the second argument's value.
BitwiseShiftRight() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
Builds the type.
BitwiseUnsignedShiftRight - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes a new number built with the bits of the first argument's value shifted to the right by an amount specified by the second argument's value.
BitwiseUnsignedShiftRight() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
Builds the type.
BitwiseXor - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the XOR operation (i.e., setting each bit to 1 only the corresponding bits of the operands are different) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseXor() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
Builds the type.
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields all the Statements contained in the body of this structure (thus excluding the condition and the first follower).
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
BoolAnnotationValue - Class in it.unive.lisa.program.annotations.values
A Boolean annotation value.
BoolAnnotationValue(boolean) - Constructor for class it.unive.lisa.program.annotations.values.BoolAnnotationValue
Builds a Boolean annotation value.
BooleanType - Interface in it.unive.lisa.type
Boolean type interface.
BoolType - Class in it.unive.lisa.type.common
An internal implementation of the BooleanType.
BoolType() - Constructor for class it.unive.lisa.type.common.BoolType
Builds the type.
bottom() - Method in class it.unive.lisa.analysis.AnalysisState
 
bottom() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
bottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
bottom() - Method in interface it.unive.lisa.analysis.Lattice
Yields the bottom element of this lattice.
bottom() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
bottom() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
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() - Method in class it.unive.lisa.analysis.symbols.Aliases
 
bottom() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
 
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.
bottomRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
Yields a fresh DomainRepresentation that can be used to represent bottom values.
build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
Builds the dominators for the given graph.
ByteAnnotationValue - Class in it.unive.lisa.program.annotations.values
A byte annotation value.
ByteAnnotationValue(byte) - Constructor for class it.unive.lisa.program.annotations.values.ByteAnnotationValue
Builds a byte annotation value.

C

Call - Class in it.unive.lisa.program.cfg.statement.call
A call to another cfg.
Call(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.Call
Builds a call happening at the given source location.
Call.CallType - Enum in it.unive.lisa.program.cfg.statement.call
Possible types of a call, identifying the type of targets (instance or static) it can have.
CallGraph - Interface in it.unive.lisa.interprocedural.callgraph
A callgraph of the program to analyze, that knows how to resolve dynamic targets of UnresolvedCalls.
CallGraphConstructionException - Exception in it.unive.lisa.interprocedural.callgraph
An exception that occurred while building the callgraph.
CallGraphConstructionException() - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(String) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphConstructionException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
Builds the exception.
CallGraphEdge - Class in it.unive.lisa.interprocedural.callgraph
An edge between two CallGraphNodes in a BaseCallGraph.
CallGraphEdge(CallGraphNode, CallGraphNode) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
Build the edge.
CallGraphNode - Class in it.unive.lisa.interprocedural.callgraph
A node of a BaseCallGraph, representing a single CodeMember.
CallGraphNode(BaseCallGraph, CodeMember) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphNode
Builds the node.
CallResolutionException - Exception in it.unive.lisa.interprocedural.callgraph
An exception that occurred while resolving an UnresolvedCall.
CallResolutionException() - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(String) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
Builds the exception.
CallResolutionException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
Builds the exception.
CallWithResult - Class in it.unive.lisa.program.cfg.statement.call
A call that evaluate its result directly.
CallWithResult(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CallWithResult
Builds the call, happening at the given location in the program.
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.BoolType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float32Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float64Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int16Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int32Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int64Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int8Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.StringType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt16Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt32Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt64Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt8Type
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.NullType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.ReferenceType
 
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
 
canBeInstantiated() - Method in class it.unive.lisa.program.AbstractClassUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.ClassUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.CodeUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.InterfaceUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.Program
 
canBeInstantiated() - Method in class it.unive.lisa.program.Unit
Yields true if this unit can be instantiated, false otherwise (e.g., interfaces, abstract classes).
CANNOT_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for the overriding of a non-overridable CodeMember.
canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
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.
CanRemoveReceiver - Interface in it.unive.lisa.program.cfg.statement.call
Marker for Calls whose first parameter can be removed.
cast(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
Simulates a cast operation, where an expression with possible runtime types types is being cast to one of the possible type tokens in tokens.
cast(Set<Type>, Set<Type>, AtomicBoolean) - Method in class it.unive.lisa.type.TypeSystem
Simulates a cast operation, where an expression with possible runtime types types is being cast to one of the possible type tokens in tokens.
castElements(Class<T>) - Method in class it.unive.lisa.analysis.symbols.Aliases
Yields an iterable over the elements of this object casted to the given type.
CastIterable<E,​T extends E> - Class in it.unive.lisa.util.collections
An iterable that wraps another one, and whose iterator delegates to the wrapped one's, but returns its elements casted to another type.
CastIterable(Iterable<E>, Class<T>) - Constructor for class it.unive.lisa.util.collections.CastIterable
Builds the iterable.
CFG - Class in it.unive.lisa.program.cfg
A control flow graph with an implementation, that has Statements as nodes and Edges as edges.

Note that this class does not implement Object.equals(Object) nor Object.hashCode() since all cfgs are unique.
CFG(CFG) - Constructor for class it.unive.lisa.program.cfg.CFG
Clones the given control flow graph.
CFG(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFG(CodeMemberDescriptor, Collection<Statement>, NodeList<CFG, Statement, Edge>) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFGCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more of the CFGs under analysis.
CFGCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Builds the CFG call, happening at the given location in the program.
CFGCall(CFG, CodeLocation, Call.CallType, String, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Builds the CFG call, happening at the given location in the program.
CFGCall(UnresolvedCall, Collection<CFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Creates a cfg call as the resolved version of the given source call, copying all its data.
CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
CFGDescriptorWarning(CodeMemberDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Builds the warning.
cfgMatrix - Variable in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
The matrix of the cfg containing this structure.
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,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
A control flow graph, that has Statements as nodes and Edges as edges.
CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, Map<Statement, AnalysisState<A, H, V, T>>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
CFGWithAnalysisResults(CFG, StatementStore<A, H, V, T>, StatementStore<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
CharAnnotationValue - Class in it.unive.lisa.program.annotations.values
A char annotation value.
CharAnnotationValue(char) - Constructor for class it.unive.lisa.program.annotations.values.CharAnnotationValue
Builds a char annotation value.
Check<T> - Interface in it.unive.lisa.checks
A check that inspects the syntactic structure of the program to report warnings.
checkMember(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing, CodeMember, boolean) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Checks if the given code member cm is a candidate target for the given call, and proceeds to add it to the set of targets if it is.
ChecksExecutor - Class in it.unive.lisa.checks
Utility class that handles the execution of Checks.
CheckTool - Class in it.unive.lisa.checks.syntactic
An auxiliary tool that can be used by checks during their execution.
CheckTool() - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
Build the tool.
CheckTool(CheckTool) - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
Build the tool, shallow-copying the set of warnings from the given one.
CheckToolWithAnalysisResults<A extends AbstractState<A,​H,​V,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Class in it.unive.lisa.checks.semantic
An extension of CheckTool that also contains the results of the fixpoint computation.
CheckToolWithAnalysisResults(CheckTool, Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Builds the tool, copying the given tool and storing the given results.
CheckToolWithAnalysisResults(Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Builds the tool, storing the given results.
ClassUnit - Class in it.unive.lisa.program
A CompilationUnit representing a concrete class that can be instantiated.
ClassUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.ClassUnit
Builds a compilation unit, defined at the given program point.
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
 
CodeEdge<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph.code
An Edge that can be used with a CodeGraph.
CodeElement - Interface in it.unive.lisa.program
Interface for code elements that have to provide information about the location where they appear.
CodeGraph<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
A Graph that contains a list of nodes, backed by a NodeList.
CodeGraph(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Builds the graph.
CodeGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Clones the given graph.
CodeGraph(Collection<N>, NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Builds the graph.
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.
CodeMemberDescriptor - Class in it.unive.lisa.program.cfg
A descriptor of a CodeMember, containing the debug informations (source file, line, column) as well as metadata.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor with Untyped return type.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor.
CodeNode<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph.code
A Node that can be used with a CodeGraph.
CodeUnit - Class in it.unive.lisa.program
A file-based unit of the program to analyze, that logically groups code in files or modules.
CodeUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.CodeUnit
Builds a unit, defined at the given location.
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.
collect(T...) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
Stores the given objects into a collection and returns it.
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.
CollectionUtilities - Class in it.unive.lisa.util.collections
Utility methods for operations on Collections.
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.
commonNumericalType(Set<Type>, Set<Type>) - Static method in interface it.unive.lisa.type.NumericType
Computes the set of Types representing the common ones among the given sets.
commonSupertype(Type) - Method in class it.unive.lisa.type.common.BoolType
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float32Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float64Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int16Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int32Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int64Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int8Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.StringType
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt16Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt32Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt64Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt8Type
 
commonSupertype(Type) - Method in class it.unive.lisa.type.NullType
 
commonSupertype(Type) - Method in class it.unive.lisa.type.ReferenceType
 
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
 
commonSupertype(Collection<Type>, Type) - Static method in interface it.unive.lisa.type.Type
Yields the most specific common supertype of the given collection of types by successive invocations of Type.commonSupertype(Type) between its elements.
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(DomainRepresentation) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
 
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.GlobalWarning
 
compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.StatementWarning
 
compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.UnitWarning
 
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.json.JsonReport.JsonWarning
 
compareTo(SerializableEdge) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
 
compareTo(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
 
compareTo(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
 
compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
 
compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
 
compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
 
compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
 
compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
 
compareTo(CodeLocation) - Method in class it.unive.lisa.program.SyntheticLocation
 
compareTo(Edge) - Method in class it.unive.lisa.program.cfg.edge.Edge
 
compareTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
 
compareTo(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
 
ComparisonEq - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions, a BinaryExpression using this operator checks if the values those expressions compute to are different.
ComparisonEq() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
Builds the type.
ComparisonGe - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator checks if the value of the first argument is greater or equal than the value of the right-hand side.

First argument expression type: NumericType
Second argument expression type: NumericType
Computed expression type: BooleanType
ComparisonGe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
Builds the type.
ComparisonGt - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator checks if the value of the first argument is greater than the value of the second argument.

First argument expression type: NumericType
Second argument expression type: NumericType
Computed expression type: BooleanType
ComparisonGt() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
Builds the type.
ComparisonLe - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator checks if the value of the first argument is less or equal than the value of the right-hand side.

First argument expression type: NumericType
Second argument expression type: NumericType
Computed expression type: BooleanType
ComparisonLe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
Builds the type.
ComparisonLt - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator checks if the value of the first argument is less than the value of the second argument.

First argument expression type: NumericType
Second argument expression type: NumericType
Computed expression type: BooleanType
ComparisonLt() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
Builds the type.
ComparisonNe - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions, a BinaryExpression using this operator checks if the values those expressions compute to are different.
ComparisonNe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
Builds the type.
ComparisonOperator - Interface in it.unive.lisa.symbolic.value.operator
A logical operation on operand(s) of type BooleanType.
CompilationUnit - Class in it.unive.lisa.program
An unit of the program to analyze that is part of a hierarchical structure.
CompilationUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.CompilationUnit
Builds an unit with super unit.
CompilationUnitAnnotationValue - Class in it.unive.lisa.program.annotations.values
A compilation unit annotation value.
CompilationUnitAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
Builds a compilation unit annotation value.
compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
Computes an analysis state that abstracts the result of this call when parameters are used as actual parameters, and the state when the call is executed is entryState.
compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
 
compute(Comparator<T>) - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Computes the diff between the collections used to create this object.
Concat - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string contains operation.
Concat(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Concat
Builds the concat.
ConcurrentFIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
A first-in, first-out working set.
ConcurrentLIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.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.
Constant - Class in it.unive.lisa.symbolic.value
A constant value.
Constant(Type, Object, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Constant
Builds the constant.
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(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
Returns true if matcher matches at least one of this annotations, false otherwise.
contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields true if the given statement is part of the body of this structure.
contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
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
 
Contains - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string contains operation.
Contains(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Contains
Builds the contains.
containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields true if the given edge is contained in this matrix.
containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields true if the given edge is contained in this list.
containsEdge(E) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields true if the given edge is contained in this graph.
containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields true if the given node is contained in this matrix.
containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields true if the given node is contained in this list.
containsNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields true if the given node is contained in this graph.
ControlFlowExtractor - Class in it.unive.lisa.program.cfg.controlFlow
An extractor of ControlFlowStructures from CFGs.
ControlFlowExtractor(CFG) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
Builds the extractor.
ControlFlowStructure - Class in it.unive.lisa.program.cfg.controlFlow
A control flow structure of a CFG.
ControlFlowStructure(NodeList<CFG, Statement, Edge>, Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Builds the structure.
convert(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
Simulates a conversion operation, where an expression with possible runtime types types is being converted to one of the possible type tokens in tokens.
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.inference.InferenceSystem
 
copy() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
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 location of its descriptor.

D

DataflowDomain<D extends DataflowDomain<D,​E>,​E extends DataflowElement<D,​E>> - Class in it.unive.lisa.analysis.dataflow
A dataflow domain that collects instances of DataflowElement.
DataflowDomain(E, Set<E>, boolean, boolean) - Constructor for class it.unive.lisa.analysis.dataflow.DataflowDomain
Builds the domain.
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 contains a collection of Identifiers in its definition.
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.
deserialize(JsonParser, DeserializationContext) - Method in class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
 
diff(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval subtraction between this and other.
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.
distance(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields the minimum distance, in terms of number of edges to traverse, between the condition of this structure and the given node.
distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
div(IntInterval, boolean, boolean) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval division between this and other.
divide(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this / other.
Division - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the division operation (/).
Division(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Division
Builds the division.
DivisionOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a division between its operands.
domain - Variable in class it.unive.lisa.analysis.dataflow.DataflowDomain
The underlying domain.
DomainRepresentation - Class in it.unive.lisa.analysis.representation
A structured representation of the abstract information present in a single instance of SemanticDomain, NonRelationalDomain, DataflowElement or other types of domains.
DomainRepresentation() - Constructor for class it.unive.lisa.analysis.representation.DomainRepresentation
 
Dominators<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.algorithms
An algorithms that evaluates the dominators of each node in a graph.
Dominators() - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
Builds the dominators.
DotGraph - Class in it.unive.lisa.outputs
A graph that can be dumped into Dot format.
DotGraph(String) - Constructor for class it.unive.lisa.outputs.DotGraph
Builds a graph.
DoubleAnnotationValue - Class in it.unive.lisa.program.annotations.values
A double annotation value.
DoubleAnnotationValue(double) - Constructor for class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
Builds a double annotation value.
dump(Writer) - Method in class it.unive.lisa.outputs.DotGraph
 
dump(Writer) - Method in class it.unive.lisa.outputs.GraphmlGraph
 
dump(Writer) - Method in class it.unive.lisa.outputs.GraphStreamWrapper
Dumps this graph through the given Writer.
dump(Writer) - Method in class it.unive.lisa.outputs.HtmlGraph
 
dump(Writer) - Method in class it.unive.lisa.outputs.json.JsonReport
Dumps this report to the given Writer instance, serializing it as a json object.
dump(Writer) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Dumps this graph, in JSON format through the given Writer.
dump(Writer, boolean) - Method in class it.unive.lisa.outputs.GraphmlGraph
This method provides the actual implementation for GraphmlGraph.dump(Writer), optionally avoiding the xml formatting (i.e.
DUPLICATE_MEMBER - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for duplicated CodeMembers in the same Unit.

E

Edge - Class in it.unive.lisa.program.cfg.edge
An edge of a control flow graph, connecting two statements.
Edge<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
An edge of a Graph.
Edge() - Constructor for class it.unive.lisa.program.cfg.edge.Edge
Builds an "empty" edge, meaning that it does not have endpoints.
Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
Builds the edge.
edgeName(long, long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
Given the codes for the source and destination edges, builds the name of an edge that can be added to, removed from or retrieved from the wrapped graph.
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 - Variable in class it.unive.lisa.analysis.representation.ListRepresentation
The elements of contained in this list.
elements - Variable in class it.unive.lisa.analysis.representation.SetRepresentation
The elements of contained in this set.
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.
EndsWith - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string endsWith operation.
EndsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.EndsWith
Builds the endsWith.
entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
EnumAnnotationValue - Class in it.unive.lisa.program.annotations.values
An enum annotation value.
EnumAnnotationValue(String, String) - Constructor for class it.unive.lisa.program.annotations.values.EnumAnnotationValue
Builds an enum annotation value.
Environment<M extends Environment<M,​E,​T,​V>,​E extends SymbolicExpression,​T extends NonRelationalElement<T,​E,​M>,​V extends Lattice<V>> - 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.
Equal - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the equality test (==).
Equal(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.Equal
Builds the equality test.
equality(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
Given a node and two states, yields whether or not the most recent one has to be considered equal to the older one in terms of fixpoint iterations.
equals(C, C, BiPredicate<T, T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
Tests if two collections contain the same elements, using a custom equality test to determine if two elements are to be considered equals.
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.CFGWithAnalysisResults
 
equals(Object) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
equals(Object) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
 
equals(Object) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
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.nonrelational.heap.HeapEnvironment
 
equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.ListRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.MapRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.SetRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.StringRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.ScopeToken
 
equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
equals(Object) - Method in class it.unive.lisa.analysis.symbols.NameSymbol
 
equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
 
equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
 
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.GlobalWarning
 
equals(Object) - Method in class it.unive.lisa.checks.warnings.StatementWarning
 
equals(Object) - Method in class it.unive.lisa.checks.warnings.UnitWarning
 
equals(Object) - Method in class it.unive.lisa.checks.warnings.Warning
 
equals(Object) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
 
equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
 
equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport
 
equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
 
equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.Annotation
 
equals(Object) - Method in class it.unive.lisa.program.annotations.AnnotationMember
 
equals(Object) - Method in class it.unive.lisa.program.annotations.Annotations
 
equals(Object) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
 
equals(Object) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
 
equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
 
equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
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.call.Call
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Expression
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Statement
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
equals(Object) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
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.symbolic.heap.AccessChild
 
equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
 
equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
 
equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapReference
 
equals(Object) - Method in class it.unive.lisa.symbolic.SymbolicExpression
 
equals(Object) - Method in class it.unive.lisa.symbolic.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.common.BoolType
 
equals(Object) - Method in class it.unive.lisa.type.common.Float32Type
 
equals(Object) - Method in class it.unive.lisa.type.common.Float64Type
 
equals(Object) - Method in class it.unive.lisa.type.common.Int16Type
 
equals(Object) - Method in class it.unive.lisa.type.common.Int32Type
 
equals(Object) - Method in class it.unive.lisa.type.common.Int64Type
 
equals(Object) - Method in class it.unive.lisa.type.common.Int8Type
 
equals(Object) - Method in class it.unive.lisa.type.common.StringType
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt16Type
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt32Type
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt64Type
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt8Type
 
equals(Object) - Method in class it.unive.lisa.type.NullType
 
equals(Object) - Method in class it.unive.lisa.type.ReferenceType
 
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
 
equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
equals(Object) - Method in class it.unive.lisa.util.collections.IterableArray
 
equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
equals(Object) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
equals(Object) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
equals(Object) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
 
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
 
equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
 
equals(Object) - Method in class it.unive.lisa.util.numeric.IntInterval
 
equals(Object) - Method in class it.unive.lisa.util.numeric.MathNumber
 
Equals - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string equals operation.
Equals(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Equals
Builds the equals.
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(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Yields the evaluation of the given expression, happening at the given program point.
eval(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
eval(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
eval(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.inference.InferredValue
Evaluates a ValueExpression, assuming that the values of program variables are the ones stored in environment.
eval(ValueExpression, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
eval(ValueExpression, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a BinaryExpression applying operator to two expressions whose runtime types 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.
evalBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a BinaryExpression applying operator to two expressions whose abstract value are left and right, respectively.
evalIdentifier(Identifier, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of an identifier in a given environment.
evalIdentifier(Identifier, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of an identifier in a given environment.
evalIdentifier(Identifier, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of an identifier in a given environment.
evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
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.
evalNonNullConstant(Constant, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of the given non-null constant.
evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
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.
evalNullConstant(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of the null constant NullConstant.
evalPushAny(PushAny, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a push-any expression.
evalPushAny(PushAny, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a push-any expression.
evalPushAny(PushAny, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a push-any expression.
evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a TernaryExpression applying operator to two expressions whose runtime types 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.
evalTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a TernaryExpression applying operator to two expressions whose abstract value are left, middle and right, respectively.
evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a type cast expression.
evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a type cast expression.
evalTypeCast(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a type cast expression.
evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a type conversion expression.
evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a type conversion expression.
evalTypeConv(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a type conversion expression.
evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
Evaluates the given sub-expressions according to this order.
evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
 
evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
 
EvaluationOrder - Interface in it.unive.lisa.program.cfg.statement.evaluation
The order of evaluation of the sub-expressions of an NaryExpression.
EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the evaluation of a UnaryExpression applying operator to an expression whose runtime types 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.
evalUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
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.
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(T, Application, Iterable<C>) - Static method in class it.unive.lisa.checks.ChecksExecutor
Executes all the given checks on the given inputs cfgs.
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.
EXIT_WITH_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for terminating Statements with followers.
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.
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Computes the semantics of the expression, after the semantics of all sub-expressions have been computed.
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
 
expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
 
ExpressionSet<T extends SymbolicExpression> - Class in it.unive.lisa.analysis.lattices
A set lattice containing a set of symbolic expressions.
ExpressionSet() - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
Builds the empty set lattice element.
ExpressionSet(Set<T>) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
Builds a set lattice element.
ExpressionSet(T) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
Builds a singleton set lattice element.
ExpressionVisitor<T> - Interface in it.unive.lisa.symbolic
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
 
extract() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
Runs the algorithms for extracting ControlFlowStructures.

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.
FalseLiteral - Class in it.unive.lisa.program.cfg.statement.literal
A Literal representing the false boolean value.
FalseLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.FalseLiteral
Builds the literal.
fields - Variable in class it.unive.lisa.analysis.representation.ObjectRepresentation
The fields of this object, with their values.
FIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.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.
FileManager.WriteAction - Interface in it.unive.lisa.util.file
A functional interface for a write operation that can throw IOExceptions.
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(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
Yields the index of the first sub-expression that has to be evaluated.
first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
 
first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
 
FixedOrderMatchingStrategy - Class in it.unive.lisa.program.language.resolution
A resolution strategy that does not permit by-name (e.g.
FixedOrderMatchingStrategy() - Constructor for class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
 
fixpoint(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(AnalysisState<A, H, V, T>, Class<? extends WorkingSet<Statement>>, int) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Computes a fixpoint over the whole control flow graph, producing a CFGWithAnalysisResults for each CFG contained in this analysis.
fixpoint(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, InterproceduralAnalysis<A, H, V, T>, 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, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
Computes a fixpoint over this control flow graph.
fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
Runs the fixpoint.
Fixpoint<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>,​T> - Class in it.unive.lisa.util.datastructures.graph.algorithms
A fixpoint algorithm for a Graph, parametric to the Fixpoint.FixpointImplementation that one wants to use to compute the results.
Fixpoint(Graph<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
Builds a fixpoint for the given Graph.
Fixpoint.FixpointImplementation<N,​E,​T> - Interface in it.unive.lisa.util.datastructures.graph.algorithms
Concrete implementation of the general methods used by a fixpoint algorithm to perform.
FixpointException - Exception in it.unive.lisa.util.datastructures.graph.algorithms
An exception raised during the fixpoint computation.
FixpointException() - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
Builds the exception.
FixpointException(String) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
Builds the exception.
FixpointException(String, Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
Builds the exception.
FixpointException(Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
Builds the exception.
Float32Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 32-bit signed Literal representing a constant non-integral value.
Float32Literal(CFG, CodeLocation, float) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float32Literal
Builds the literal.
Float32Type - Class in it.unive.lisa.type.common
A signed 32-bit floating point NumericType.
Float32Type() - Constructor for class it.unive.lisa.type.common.Float32Type
Builds the type.
Float64Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 64-bit signed Literal representing a constant non-integral value.
Float64Literal(CFG, CodeLocation, double) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float64Literal
Builds the literal.
Float64Type - Class in it.unive.lisa.type.common
A signed 64-bit floating point NumericType.
Float64Type() - Constructor for class it.unive.lisa.type.common.Float64Type
Builds the type.
FloatAnnotationValue - Class in it.unive.lisa.program.annotations.values
A float annotation value.
FloatAnnotationValue(float) - Constructor for class it.unive.lisa.program.annotations.values.FloatAnnotationValue
Builds a float annotation value.
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.BaseGraph
 
followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
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 list going from the given node to such node.
followersOf(N) - Method in interface 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.
forceDeleteFolder(String) - Static method in class it.unive.lisa.util.file.FileManager
Deletes a folder with all of its contents if it exists.
forget(Statement) - Method in class it.unive.lisa.analysis.StatementStore
Removes the stored state for the given statement.
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AnalysisState
 
forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
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(Iterable<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
Forgets all the given Identifiers.
forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.AnalysisState
 
forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
forgetIdentifiersIf(Predicate<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
Forgets all Identifiers that match the given predicate.
forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
format(long) - Method in enum it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos into a string with time units.
fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Transforms a boolean value to a SemanticDomain.Satisfiability instance.
fromCFG(CFG) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
Builds a SerializableGraph starting from the given CFG, with no extra descriptions for the statements.
fromCFG(CFG, Function<Statement, SerializableValue>) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
Builds a SerializableGraph starting from the given CFG, using the given function to generate extra descriptions for each statement.
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.
FunctionalLattice.FunctionalLift<V extends Lattice<V>> - Interface in it.unive.lisa.analysis.lattices
Interface for the lift of lattice elements.
FunctionalLattice.KeyFunctionalLift<K> - Interface in it.unive.lisa.analysis.lattices
Interface for the left of key sets.
functionalLift(F, FunctionalLattice.KeyFunctionalLift<K>, FunctionalLattice.FunctionalLift<V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the functional lift between this and other.

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(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow gen operation, yielding the dataflow elements that are generated by evaluating the given non-assigning expression.
generateHtmlViewerSupportFiles(boolean) - Method in class it.unive.lisa.util.file.FileManager
Generates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.
get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the pos-th element of this cache.
getAbstractCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance AbstractCodeMembers defined in this unit.
getAbstractResultOf(CFGCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Computes an analysis state that abstracts the execution of the possible targets considering that they were given parameters as actual parameters, and the state when the call is executed is entryState.

Note that the interprocedural analysis is also responsible for registering the call to the CallGraph, if needed.
getAbstractResultOf(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Computes an analysis state that abstracts the execution of an unknown target considering that they were given parameters as actual parameters, and the state when the call is executed is entryState.
getAdjacencyMatrix() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
Yields the adjacency matrix backing this graph.
getAliasing() - Method in class it.unive.lisa.analysis.AnalysisState
Yields the symbol aliasing information, that can be used to resolve targets of calls when the names used in the call are different from the ones in the target's signature.
getAllCFGs() - Method in class it.unive.lisa.program.Application
Yields the lazily computed collection of all CFGs defined in all Programs of this application.
getAllCFGs() - Method in class it.unive.lisa.program.Program
Yields all the CFGs defined in this program, obtained by filtering the results of Program.getCodeMembersRecursively().
getAllCodeCodeMembers() - Method in class it.unive.lisa.program.Application
Yields the lazily computed collection of all CodeMembers defined in all Programs of this application.
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).
getAnalysisResultsOf(CFG) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Yields the results of the given analysis, identified by its class, on the given CFG.
getAnalysisStateAfter(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Yields the computed result at a given statement (exit state).
getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Yields the computed result before a given statement (entry state).
getAnnotationMembers() - Method in class it.unive.lisa.program.annotations.Annotation
Yields the annotation members of this annotation.
getAnnotationName() - Method in class it.unive.lisa.program.annotations.Annotation
Yields the annotation name of this annotation.
getAnnotations() - Method in class it.unive.lisa.program.annotations.Annotations
Yields the list of annotations.
getAnnotations() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the annotations of this descriptor.
getAnnotations() - Method in class it.unive.lisa.program.cfg.Parameter
Yields the annotations of this parameter.
getAnnotations() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
Yields the annotations of this variable, retrieved from the variable table of the cfg this variable belongs to.
getAnnotations() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the annotations of this variable.
getAnnotations() - Method in class it.unive.lisa.program.CompilationUnit
Yields the annotations of this compilation unit.
getAnnotations() - Method in class it.unive.lisa.program.Global
Yields the annotations of this global element.
getAnnotations() - Method in class it.unive.lisa.symbolic.value.Identifier
Yields the annotations of this identifier.
getAnnotations(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
Yields the annotations that are matched by the matcher m.
getAssigningStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
Yields the ParameterAssigningStrategy defining how actual parameters of a call are matched against the formal ones of its targets.
getBaseType() - Method in interface it.unive.lisa.type.ArrayType
Yields the base type of this array type.
getBody() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
Yields the Statements contained in the body of this loop.
getBooleanType() - Method in class it.unive.lisa.type.TypeSystem
Yields the BooleanType of this type system.
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
 
getCallees(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields all the CodeMembers that are called by the given one, according to the CallGraph that has been built during the analysis.
getCallees(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
getCallees(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers that are called by the given one.
getCallers(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields all the CodeMembers that call the given one, according to the CallGraph that has been built during the analysis.
getCallers(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
getCallers(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers that call the given one.
getCalls() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
Yields the calls underlying this multi call.
getCallSites(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields all the Calls that targets the given CodeMember, according to the CallGraph that has been built during the analysis.
getCallSites(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
getCallSites(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the Calls that targets the given CodeMember.
getCallType() - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields the call type of this call.
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
 
getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
Yields the expression representing the child.
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
 
getCodeLocation() - Method in class it.unive.lisa.program.SyntheticLocation
 
getCodeLocation() - Method in class it.unive.lisa.symbolic.SymbolicExpression
Yields the code location of the statement that has generated this symbolic expression.
getCodeMember() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
Yields the CodeMember represented by this node.
getCodeMember(String) - Method in class it.unive.lisa.program.Unit
Yields the CodeMember defined in this unit having the given signature (CodeMemberDescriptor.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.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the CodeMembers defined in this unit.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.Program
Yields the collection of all the CodeMembers defined in this unit.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CodeMembers defined in this unit.
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.
getCompleteStructure() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields an NodeList containing the full structure (nodes and edges) represented by this conditional structure.
getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
Yields the last computed expression.
getCondition() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields the condition of this structure.
getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Yields the name of the native construct represented by this expression.
getContainer() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
Yields the Unit where the global targeted by this access is defined.
getContainer() - Method in class it.unive.lisa.program.Global
Yields the unit containing this global.
getContainer() - Method in class it.unive.lisa.symbolic.heap.AccessChild
Yields the expression representing the parent.
getControlFlowStructures() - Method in class it.unive.lisa.program.cfg.CFG
Yields the collection of ControlFlowStructures contained in this cfg.

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
getCurrentCount() - Method in class it.unive.lisa.logging.Counter
Yields the current count of this counter.
getDataflowElements() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
Yields the DataflowElements contained in this domain instance.
getDefaultValue() - Method in class it.unive.lisa.program.cfg.Parameter
Yields the default value for this parameter that can be used when a call does not specify a value for it.
getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the description of the graph.
getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Yields the SerializableValue to be used as description.
getDescriptions() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the set of descriptions of the nodes of this graph.
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.AbstractCodeMember
 
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 CodeMemberDescriptor containing the signature of this code member.
getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
 
getDestId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Yields the id of the destination SerializableNode.
getDestination() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
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.
getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.AnalysisState
 
getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
getDomainInstance(Class<T>) - Method in interface it.unive.lisa.analysis.SemanticDomain
Yields the instance of a specific domain, of class domain, contained inside the domain.
getDominators() - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
Yelds the last computed dominators through Dominators.build(Graph).
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.getRuntimeTypes(TypeSystem).
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.BaseGraph
 
getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the edge connecting the two given nodes, if any.
getEdgeConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the edge connecting the two given nodes, if any.
getEdges() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the set of edges of this graph.
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.BaseGraph
 
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the set of edges of this list.
getEdges() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the set of edges of this graph.
getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields all edges connecting the two given nodes, if any.
getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields all edges connecting the two given nodes, if any.
getEdgesConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields all edges connecting the two given nodes, if any.
getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getEdgesCount() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the total number of edges of this graph.
getElements() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
Yields the elements contained in this array.
getEntries() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the entry nodes of this matrix, that is, the nodes that have no predecessors.
getEntries() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the entry nodes of this list, that is, the nodes that have no predecessors.
getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getEntrypoints() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the nodes of this graph that are entrypoints, that is, roots of the graph.
getEntryPoints() - Method in class it.unive.lisa.program.Application
Yields the lazily computed collection of all CFGs that are entrypoints of one of the Programs of this application.
getEntryPoints() - Method in class it.unive.lisa.program.Program
Yields the collection of CFGs that are entry points in this program.
getEntryState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Yields the entry state.
getEvaluationPredecessor() - Method in class it.unive.lisa.program.cfg.statement.Statement
Yields the Statement that is evaluated right before this one, such that querying for the entry state of this expression is equivalent to querying the exit state of the returned one.
getExecutionState() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
Yields the execution state (also called program counter), that might change when evaluating an expression.
getExits() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the exit nodes of this matrix, that is, the nodes that have no followers.
getExits() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the exit nodes of this list, that is, the nodes that have no followers.
getExitState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Yields the exit state.
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.heap.HeapDereference
Yields the expression to be dereferenced.
getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapReference
Yields the referred expression.
getExpression() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
Yields the inner expression, that is transformed by this expression by applying UnaryExpression.getOperator().
getFalseBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
Yields the Statements contained in the false branch of this if-then-else.
getFeatures() - Method in class it.unive.lisa.program.Program
Yields the language-specific features, algorithms and semantics of this program.
getFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
Yields the fields of this object.
getFiles() - Method in class it.unive.lisa.outputs.json.JsonReport
Yields the collection of file names contained into this report.
getFirstFollower() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields the first follower of this structure, that is, the first statement after the conditional structure exits.
getFormals() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the array containing the formal parameters of the CFG associated with this descriptor.
getFullName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the full name of the CFG associated with this descriptor.
getFullSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the full signature of this cfg, that is, CodeMemberDescriptor.getSignature() preceded by the cfg's return type.
getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the full signature of this cfg including parameters names, that is, CodeMemberDescriptor.getSignatureWithParNames() preceded by the cfg's return type.
getFullTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields the full name of the target of the call.
getGenericProgramPoint() - Method in class it.unive.lisa.program.cfg.CFG
Yields a generic ProgramPoint happening inside this cfg.
getGlobal() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
Yields the global where this warning was reported on.
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.
getGlobalsRecursively() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the Globals defined in this unit.
getGlobalsRecursively() - Method in class it.unive.lisa.program.Program
Yields the collection of all the Globals defined in this unit.
getGlobalsRecursively() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the Globals defined in this unit.
getGraph() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
Yields the parent BaseCallGraph containing this node.
getGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of all the ControlFlowStructures, regardless of their type, containing the given program point.
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
 
getHigh() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields the upper bound of this interval.
getId() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Yields a string meant to identify this specific result, based on how it has been produced.
getId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
Yields the id of this node.
getId() - Method in class it.unive.lisa.program.annotations.AnnotationMember
Yields the identifier of this annotation member.
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().
getIfThenElseGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of all the IfThenElse containing the given program point.
getImmediateAncestors() - Method in class it.unive.lisa.program.ClassUnit
 
getImmediateAncestors() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that are this unit directly inherits from, regardless of their type.
getImmediateAncestors() - Method in class it.unive.lisa.program.InterfaceUnit
 
getIndex() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the index of this variable.
getInferred() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
Yields the instance of InferredValue representing the inferred value.
getInferredDynamicType() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
getInferredDynamicType() - Method in interface it.unive.lisa.analysis.value.TypeDomain
Yields the dynamic type that this analysis inferred for the last computed expression.
getInferredRuntimeTypes() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
getInferredRuntimeTypes() - Method in interface it.unive.lisa.analysis.value.TypeDomain
Yields the runtime types that this analysis inferred for the last computed expression.
getInferredValue() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
Yields the ingoing edges.
getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
Yields the ingoing edges.
getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the ingoing edges to the given node.
getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the ingoing edges to the given node.
getIngoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the ingoing edges to the given node.
getInnerType() - Method in interface it.unive.lisa.type.ArrayType
Yields the type of the inner dimension of this array type.
getInnerTypes() - Method in interface it.unive.lisa.type.PointerType
Yields the inner types, that is, the types of the memory region that variables with this type point to.
getInnerTypes() - Method in class it.unive.lisa.type.ReferenceType
 
getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
 
getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
 
getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
 
getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
Yields all the SerializableValues that are contained into this one, recursively.
getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CFGs defined in this unit.
getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the first instance CodeMember defined in this unit having the given signature (CodeMemberDescriptor.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.
getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance constructs (NativeCFGs) defined in this unit.
getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the first 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 ClassUnits that are instances of this one, including itself.
getIntegerType() - Method in class it.unive.lisa.type.TypeSystem
Yields the integer type of this type system, that is, the integral NumericType that is typically used to index array elements and performing string operations.
getInterfaces() - Method in class it.unive.lisa.program.ClassUnit
Yields the list of InterfaceUnits implemented by this class.
getInvolvedIdentifiers() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Yields all the Identifiers that are involved in the definition of this element.
getKeys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the set of keys currently in this lattice.
getKind() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Yields the kind of this edge.
getLeft() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
Yields the left-most (first) sub-expression of this expression.
getLeft() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
Yields the left-most (first) sub-expression of this 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.CodeMemberDescriptor
 
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 program.
getLocation() - Method in class it.unive.lisa.program.Global
 
getLocation() - Method in class it.unive.lisa.program.ProgramUnit
 
getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
Yields the string representation of the location where this warning was reported, surrounded by square brackets.
getLoopGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of all Loops containing the given program point.
getLow() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields the lower bound of this interval.
getMap() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the map associated with this functional lattice element.
getMatchingCodeMember(CodeMemberDescriptor) - Method in class it.unive.lisa.program.Unit
Finds all the code members whose signature matches the one of the given CodeMemberDescriptor, according to CodeMemberDescriptor.matchesSignature(CodeMemberDescriptor).
getMatchingInstanceCodeMembers(CodeMemberDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Finds all the instance code members whose signature matches the one of the given CodeMemberDescriptor, according to CodeMemberDescriptor.matchesSignature(CodeMemberDescriptor).
getMatchingStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
Yields the ParameterMatchingStrategy encoding how actual parameters of a call are matched against the formal ones of its targets.
getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
Yields the message of this warning.
getMessage() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Yields the message of this warning.
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
 
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.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.program.cfg.statement.TernaryExpression
Yields the middle (second) sub-expression of this expression.
getMiddle() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
Yields the middle operand of this expression.
getMostRecentGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of the most recent ControlFlowStructure, regardless of its type, containing the given program point.
getMostRecentIfThenElseGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of the most recent IfThenElse containing the given program point.
getMostRecentLoopGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of the most recent Loop containing the given program point.
getName() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
Yields the name represented by this symbol.
getName() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
Yields the name represented by this symbol.
getName() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the name of the graph.
getName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
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 global.
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.
getNodeId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Yields the id of the SerializableNode that this description refers to.
getNodeList() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Yields the node list backing this graph.
getNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the set of nodes of this graph.
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.BaseGraph
 
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the collection of nodes of this list.
getNodes() - Method in interface 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.BaseGraph
 
getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getNodesCount() - Method in interface 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
 
getOffset() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeNode
Yields the offset of this node relative to its containing graph.
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().
getOrder() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Yields the EvaluationOrder of the sub-expressions.
getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
Yields the outgoing edges.
getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
Yields the outgoing edges.
getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the outgoing edges from the given node.
getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the outgoing edges from the given node.
getOutgoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields the outgoing edges from the given node.
getParameterName() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
Yields the name of the parameter targeted by this expression.
getParameters() - Method in class it.unive.lisa.program.cfg.statement.call.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.
getPossibleTypesOfReceiver(Expression, Set<Type>) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Returns all the possible types of the given expression that should be considered as possible receivers of the call.
getProgram() - Method in interface it.unive.lisa.program.cfg.ProgramPoint
Yields the Program where this program point is defined.
getProgram() - Method in class it.unive.lisa.program.Program
 
getProgram() - Method in class it.unive.lisa.program.ProgramUnit
 
getProgram() - Method in class it.unive.lisa.program.Unit
Yields the Program where this unit is defined.
getPrograms() - Method in class it.unive.lisa.program.Application
Yields the program that build this application.
getProgramValidationLogic() - Method in class it.unive.lisa.program.language.LanguageFeatures
Yields the ProgramValidationLogic that validates the structure of a program, identifying erroneous situations (e.g., code members with the same signature) that can crash the analysis.
getProperties() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
Yields the set collection of textual properties defined for this representation.
getProperties() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
Yields the additional properties to use as metadata.
getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
Yields the qualifier represented by this symbol.
getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
Yields the qualifier represented by this symbol.
getQualifier() - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields the optional qualifier of the target of the call.
getReceiver() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
Yields the expression that determines the receiver of the global access defined by this expression.
getReferencedLocation() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
Yields the heap location pointed by this pointer.
getResolvedVersion(UnresolvedCall) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields the resolved version of the given call, according to the CallGraph that has been built during the analysis.
getResultOf(CFG) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields the analysis results stored in this tool for the given CFG.
getReturnType() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the return type of the CFG associated with this descriptor.
getRight() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
Yields the right-most (second) sub-expression of this expression.
getRight() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
Yields the right-most (third) sub-expression of this 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 interface it.unive.lisa.analysis.nonrelational.value.NonRelationalTypeDomain
Yields the set containing the types held by this instance.
getRuntimeTypes(TypeSystem) - Method in class it.unive.lisa.symbolic.SymbolicExpression
Yields the runtime types of this expression.
getScope() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
Returns the scope of the identifier.
getScopeEnd() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the statement where this variable is last visible.
getScoper() - Method in class it.unive.lisa.analysis.ScopeToken
Yields the element that this scope refers to.
getScopeStart() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the statement where this variable is first visible.
getSeen() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
Yields the elements visited (and this no longer able to be added to this working set) by this object.
getSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the signature of this cfg, composed by its CodeMemberDescriptor.getFullName() followed by its parameters types.
getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the signature of this cfg, composed by its CodeMemberDescriptor.getFullName() followed by its parameters (types and names).
getSource() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
getSource() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
getSource() - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields the call that this call originated from, if any.
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.
getSourceId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Yields the id of the source SerializableNode.
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.analysis.nonrelational.inference.InferredValue.InferredPair
Yields the instance of InferredValue representing the execution state.
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.
getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
 
getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
Yields the Statement that precedes the given one, assuming that other is contained into this expression.
getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
 
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 global.
getStaticType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
Yields the static type of this expression.
getStringType() - Method in class it.unive.lisa.type.TypeSystem
Yields the StringType of this type system.
getSubExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
Yields the only sub-expression of this unary expression.
getSubExpressions() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Yields the sub-expressions of this expression, to be evaluated left-to-right.
getSubNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
Yields the id of the nodes that are subnodes of this one, in the order they appear.
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.nonrelational.heap.HeapEnvironment
 
getSuperclasses() - Method in class it.unive.lisa.program.ClassUnit
Yields the list of ClassUnits that this class inherits from.
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.GlobalWarning
 
getTag() - Method in class it.unive.lisa.checks.warnings.StatementWarning
 
getTag() - Method in class it.unive.lisa.checks.warnings.UnitWarning
 
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.
getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
Yields the Global targeted by this expression.
getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
Yields the instance Global targeted by this expression.
getTargetedCFGs() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
Yields the CFGs that are targeted by this CFG call.
getTargetedConstructs() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
Yields the NativeCFGs that are targeted by this native call.
getTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields the name of the target of the 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.call.CFGCall
 
getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
 
getTargets() - Method in interface it.unive.lisa.program.cfg.statement.call.ResolvedCall
Yields the targets of the Call.
getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
getText() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
Yields the text of this node.
getTitle() - Method in class it.unive.lisa.outputs.GraphmlGraph
Yields the title of the graph.
getTraversalStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
Yields the HierarcyTraversalStrategy that expresses how a class hierarchy is traversed, starting from a leaf and visiting all of its ancestors recursively, when searching for program members in it.
getTrueBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
Yields the Statements contained in the true branch of this if-then-else.
getType(String) - Method in class it.unive.lisa.type.TypeSystem
Yields the Type instance with the given name.
getTypes() - Method in class it.unive.lisa.program.Program
Yields the type system knowing about the types that appear in the program.
getTypes() - Method in class it.unive.lisa.type.TypeSystem
Yields the collection of Types that have been registered in this type system.
getTypes() - Method in class it.unive.lisa.type.TypeTokenType
Yields the Types represented by this type token.
getTypeState() - Method in interface it.unive.lisa.analysis.AbstractState
Yields the instance of ValueDomain and TypeDomain that contains the information on runtime types of program variables and concretized memory locations.
getTypeState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
getUnit() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
Yields the unit containing the global where this warning was reported on.
getUnit() - Method in class it.unive.lisa.checks.warnings.UnitWarning
Yields the unit where this warning was reported on.
getUnit() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
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 ClassUnit 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 ClassUnits defined in this program.
getValue() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
Yields the textual representation of the value.
getValue() - Method in class it.unive.lisa.program.annotations.AnnotationMember
Yields the annotation value of this annotation member.
getValue() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
Yields the value of this literal.
getValue() - Method in class it.unive.lisa.symbolic.value.Constant
Yields the constant value.
getValueOnStack() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
getValues() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the values of this functional lattice.
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.CodeMemberDescriptor
Yields the list of VariableTableEntrys that have been added to this descriptor.
getWarnings() - Method in class it.unive.lisa.checks.syntactic.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.outputs.json.JsonReport
Yields the collection of JsonReport.JsonWarnings contained into this report.
glb(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Performs the greatest lower bound operation between this satisfiability and the given one.
glb(M) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Performs the greatest lower bound between this environment and other.
glb(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Performs the greatest lower bound between this inverse set lattice element and the given one.
glb(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
Performs the greatest lower bound between this set lattice element and the given one.
glb(T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
glb(T) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
Performs the greatest lower bound operation between this domain element and other.
glb(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
glb(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Performs the greatest lower bound operation between this inferred value and other, assuming that base cases have already been handled.
glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Performs the greatest lower bound operation between this domain element and other, assuming that base cases have already been handled.
glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Performs the greatest lower bound operation between this domain element and other, assuming that base cases have already been handled.
glbAux(T, Map<Identifier, T>, HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
glbAux(T, Map<Identifier, T>, InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
glbAux(T, Map<Identifier, T>, TypeEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
glbAux(T, Map<Identifier, T>, ValueEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
glbAux(T, Map<Identifier, T>, M) - Method in class it.unive.lisa.analysis.nonrelational.Environment
Auxiliary glb operation, invoked after the result has been computed to create the concrete instance of environment.
glbKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the intersection of the keys between k1 and k2.
Global - Class in it.unive.lisa.program
A global variable, scoped by its container.
Global(CodeLocation, Unit, String, boolean) - Constructor for class it.unive.lisa.program.Global
Builds an untyped global variable, identified by its name.
Global(CodeLocation, Unit, String, boolean, Type) - Constructor for class it.unive.lisa.program.Global
Builds the global reference, identified by its name and its type, happening at the given location in the program.
Global(CodeLocation, Unit, String, boolean, Type, Annotations) - Constructor for class it.unive.lisa.program.Global
Builds the global reference, identified by its name and its type, happening at the given location in the program.
GlobalWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on one of the Globals under analysis.
GlobalWarning(Unit, Global, String) - Constructor for class it.unive.lisa.checks.warnings.GlobalWarning
Builds the warning.
graph - Variable in class it.unive.lisa.outputs.GraphStreamWrapper
The wrapped graph.
Graph<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
Interface of a generic graph structure.
GraphmlGraph - Class in it.unive.lisa.outputs
A graph that can be dumped into compound GraphML format.
GraphmlGraph(String) - Constructor for class it.unive.lisa.outputs.GraphmlGraph
Builds a graph.
GraphStreamWrapper - Class in it.unive.lisa.outputs
A graph instance that decorates a graphstream Graph, offering custom/improved dumping.
GraphStreamWrapper() - Constructor for class it.unive.lisa.outputs.GraphStreamWrapper
Builds the wrapper.
GraphVisitor<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>,​V> - Interface in it.unive.lisa.util.datastructures.graph
A visitor of a Graph.
GreaterOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the greater or equal operation (>=).
GreaterOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterOrEqual
Builds the greater or equal.
GreaterThan - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the greater than operation (>).
GreaterThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterThan
Builds the greater than.

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.CFGWithAnalysisResults
 
hashCode() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
hashCode() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
 
hashCode() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
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.nonrelational.heap.HeapEnvironment
 
hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
hashCode() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.ScopeToken
 
hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
hashCode() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
 
hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
 
hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
 
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.GlobalWarning
 
hashCode() - Method in class it.unive.lisa.checks.warnings.StatementWarning
 
hashCode() - Method in class it.unive.lisa.checks.warnings.UnitWarning
 
hashCode() - Method in class it.unive.lisa.checks.warnings.Warning
 
hashCode() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
 
hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
 
hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport
 
hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
 
hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.Annotation
 
hashCode() - Method in class it.unive.lisa.program.annotations.AnnotationMember
 
hashCode() - Method in class it.unive.lisa.program.annotations.Annotations
 
hashCode() - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
 
hashCode() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
 
hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
 
hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
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.call.Call
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.Expression
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
hashCode() - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
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.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.symbolic.heap.AccessChild
 
hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
 
hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
 
hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapReference
 
hashCode() - Method in class it.unive.lisa.symbolic.SymbolicExpression
 
hashCode() - Method in class it.unive.lisa.symbolic.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.common.BoolType
 
hashCode() - Method in class it.unive.lisa.type.common.Float32Type
 
hashCode() - Method in class it.unive.lisa.type.common.Float64Type
 
hashCode() - Method in class it.unive.lisa.type.common.Int16Type
 
hashCode() - Method in class it.unive.lisa.type.common.Int32Type
 
hashCode() - Method in class it.unive.lisa.type.common.Int64Type
 
hashCode() - Method in class it.unive.lisa.type.common.Int8Type
 
hashCode() - Method in class it.unive.lisa.type.common.StringType
 
hashCode() - Method in class it.unive.lisa.type.common.UInt16Type
 
hashCode() - Method in class it.unive.lisa.type.common.UInt32Type
 
hashCode() - Method in class it.unive.lisa.type.common.UInt64Type
 
hashCode() - Method in class it.unive.lisa.type.common.UInt8Type
 
hashCode() - Method in class it.unive.lisa.type.NullType
 
hashCode() - Method in class it.unive.lisa.type.ReferenceType
 
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.collections.externalSet.UniversalExternalSet
 
hashCode() - Method in class it.unive.lisa.util.collections.IterableArray
 
hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
hashCode() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
hashCode() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
hashCode() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
 
hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
 
hashCode() - Method in class it.unive.lisa.util.numeric.IntInterval
 
hashCode() - Method in class it.unive.lisa.util.numeric.MathNumber
 
hasRuntimeTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
Yields true if this expression's runtime types have been set (even to the empty set).
HEAP_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
The key that should be used to store the instance of HeapDomain inside the DomainRepresentation returned by SemanticDomain.representation().
HeapAllocation - Class in it.unive.lisa.symbolic.heap
An allocation of a memory location.
HeapAllocation(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapAllocation
Builds the heap allocation.
HeapDereference - Class in it.unive.lisa.symbolic.heap
A heap dereference expression.
HeapDereference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapDereference
Builds the heap dereference.
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.
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.
HeapEnvironment(T, Map<Identifier, T>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an environment containing the given mapping.
HeapExpression - Class in it.unive.lisa.symbolic.heap
A symbolic expression that identifies a location in the program's heap.
HeapExpression(Type, CodeLocation) - 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(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.HeapLocation
Builds the heap location.
HeapReference - Class in it.unive.lisa.symbolic.heap
A reference to a memory location, identified by its name.
HeapReference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapReference
Builds the heap reference.
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 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.
HierarcyTraversalStrategy - Interface in it.unive.lisa.program.language.hierarchytraversal
A strategy for traversing hierarchies of CompilationUnit to search for implementations of call targets or global implementations.
highIsPlusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if the upper bound of this interval is set to plus infinity.
HOURS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as hours.
HtmlGraph - Class in it.unive.lisa.outputs
A graph that can be dumped as an html page using javascript to visualize the graphs.
HtmlGraph(GraphmlGraph, boolean, SortedMap<Integer, Pair<String, SerializableNodeDescription>>, String, String) - Constructor for class it.unive.lisa.outputs.HtmlGraph
Builds the graph.

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(Type, String, boolean, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
Builds the identifier.
Identifier(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
Builds the identifier.
IfThenElse - Class in it.unive.lisa.program.cfg.controlFlow
A ControlFlowStructure representing a if-then-else.
IfThenElse(NodeList<CFG, Statement, Edge>, Statement, Statement, Collection<Statement>, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.IfThenElse
Builds the if-then-else.
includes(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this interval includes the given one.
indexOf(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the index where the given element is stored in this cache.
IndexOf - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string indexOf operation.
IndexOf(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.IndexOf
Builds the indexOf.
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.nonrelational.inference
An inference system that model standard derivation systems (e.g., types systems, small step semantics, big step semantics, ...).
InferenceSystem(InferenceSystem<T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
Builds an inference system identical to the given one, except for the execution state that will be set to the given one.
InferenceSystem(T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
Builds an empty inference system.
InferenceSystem(T, Map<Identifier, T>, InferredValue.InferredPair<T>) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
Builds an environment containing the given mapping.
InferredPair(T, T, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
Builds the pair.
InferredValue<T extends InferredValue<T>> - Interface in it.unive.lisa.analysis.nonrelational.inference
A NonRelationalElement that can be inferred by InferenceSystems.
InferredValue.InferredPair<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
A pair of instances of InferredValue, representing the result of an evaluation in the form of <inferred value, new execution state>.
INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [-Inf, +Inf].
INHERIT_FROM_SEALED - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for inheritance from a sealed CompilationUnit.
init(Application) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
init(Application) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Initializes the call graph of the given program.
init(Application, CallGraph, OpenCallPolicy) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Initializes the interprocedural analysis of the given program.
InMemoryType - Interface in it.unive.lisa.type
A type that can only live in-memory, without being used for local variables.
INSTANCE - it.unive.lisa.program.cfg.statement.call.Call.CallType
Only instance code members are targeted by the call.
INSTANCE - Static variable in class it.unive.lisa.interprocedural.ReturnTopPolicy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.interprocedural.WorstCasePolicy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.SyntheticLocation
Singleton instance of the synthetic location.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringContains
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.StringLength
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.type.common.BoolType
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.type.common.Float32Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Float64Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int16Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int32Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int64Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int8Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.StringType
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt16Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt32Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt64Type
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt8Type
The unique singleton instance of this type.
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.
instances - Variable in class it.unive.lisa.program.CompilationUnit
The lazily computed collection of instances of this unit, that is, the collection of compilation units that directly or indirectly inherit from this unit.
Int16Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 16-bit signed Literal representing a constant integral value.
Int16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int16Literal
Builds the literal.
Int16Type - Class in it.unive.lisa.type.common
A signed 16-bit integral NumericType.
Int16Type() - Constructor for class it.unive.lisa.type.common.Int16Type
Builds the type.
Int32Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 32-bit signed Literal representing a constant integral value.
Int32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int32Literal
Builds the literal.
Int32Type - Class in it.unive.lisa.type.common
A signed 32-bit integral NumericType.
Int32Type() - Constructor for class it.unive.lisa.type.common.Int32Type
Builds the type.
Int64Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 64-bit signed Literal representing a constant integral value.
Int64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int64Literal
Builds the literal.
Int64Type - Class in it.unive.lisa.type.common
A signed 64-bit integral NumericType.
Int64Type() - Constructor for class it.unive.lisa.type.common.Int64Type
Builds the type.
Int8Literal - Class in it.unive.lisa.program.cfg.statement.literal
An 8-bit signed Literal representing a constant integral value.
Int8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int8Literal
Builds the literal.
Int8Type - Class in it.unive.lisa.type.common
A signed 8-bit integral NumericType.
Int8Type() - Constructor for class it.unive.lisa.type.common.Int8Type
Builds the type.
IntAnnotationValue - Class in it.unive.lisa.program.annotations.values
An integer annotation value.
IntAnnotationValue(int) - Constructor for class it.unive.lisa.program.annotations.values.IntAnnotationValue
Builds an integer annotation value.
INTERFACE_WITH_GLOBALS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for Globals inside InterfaceUnits.
InterfaceUnit - Class in it.unive.lisa.program
A interface unit of the program to analyze.
InterfaceUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.InterfaceUnit
Builds an interface unit, defined at the given location.
InterproceduralAnalysis<A extends AbstractState<A,​H,​V,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Interface in it.unive.lisa.interprocedural
The definition of interprocedural analyses.
InterproceduralAnalysisException - Exception in it.unive.lisa.interprocedural
An exception that occurred while performing an interprocedural analysis.
InterproceduralAnalysisException() - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
Builds the exception.
InterproceduralAnalysisException(String) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
Builds the exception.
InterproceduralAnalysisException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
Builds the exception.
InterproceduralAnalysisException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
Builds the exception.
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.
intersects(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this interval intersects with the given one.
IntInterval - Class in it.unive.lisa.util.numeric
An interval with integer bounds.
IntInterval(int, int) - Constructor for class it.unive.lisa.util.numeric.IntInterval
Builds a new interval.
IntInterval(MathNumber, MathNumber) - Constructor for class it.unive.lisa.util.numeric.IntInterval
Builds a new interval.
IntInterval(Integer, Integer) - Constructor for class it.unive.lisa.util.numeric.IntInterval
Builds a new interval.
INVALID_CFSTRUCTURE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for invalid ControlFlowStructures.
INVALID_NODE_LIST - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for invalid NodeLists.
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>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
Builds the lattice.
is(int) - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this is a singleton interval containing only n.
is(int) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is number represents exactly the given integer.
is16Bits() - Method in class it.unive.lisa.type.common.Float32Type
 
is16Bits() - Method in class it.unive.lisa.type.common.Float64Type
 
is16Bits() - Method in class it.unive.lisa.type.common.Int16Type
 
is16Bits() - Method in class it.unive.lisa.type.common.Int32Type
 
is16Bits() - Method in class it.unive.lisa.type.common.Int64Type
 
is16Bits() - Method in class it.unive.lisa.type.common.Int8Type
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt16Type
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt32Type
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt64Type
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.type.common.Float32Type
 
is32Bits() - Method in class it.unive.lisa.type.common.Float64Type
 
is32Bits() - Method in class it.unive.lisa.type.common.Int16Type
 
is32Bits() - Method in class it.unive.lisa.type.common.Int32Type
 
is32Bits() - Method in class it.unive.lisa.type.common.Int64Type
 
is32Bits() - Method in class it.unive.lisa.type.common.Int8Type
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt16Type
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt32Type
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt64Type
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.type.common.Float32Type
 
is64Bits() - Method in class it.unive.lisa.type.common.Float64Type
 
is64Bits() - Method in class it.unive.lisa.type.common.Int16Type
 
is64Bits() - Method in class it.unive.lisa.type.common.Int32Type
 
is64Bits() - Method in class it.unive.lisa.type.common.Int64Type
 
is64Bits() - Method in class it.unive.lisa.type.common.Int8Type
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt16Type
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt32Type
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt64Type
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.type.common.Float32Type
 
is8Bits() - Method in class it.unive.lisa.type.common.Float64Type
 
is8Bits() - Method in class it.unive.lisa.type.common.Int16Type
 
is8Bits() - Method in class it.unive.lisa.type.common.Int32Type
 
is8Bits() - Method in class it.unive.lisa.type.common.Int64Type
 
is8Bits() - Method in class it.unive.lisa.type.common.Int8Type
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt16Type
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt32Type
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt64Type
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.CFGWithAnalysisResults
 
isBottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
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.lattices.FunctionalLattice
Yields true if and only if this object represents the bottom of the lattice.
isBottom() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
isBottom() - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
isBottom() - Method in class it.unive.lisa.analysis.StatementStore
 
isEmpty() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Returns true if this set contains no elements.
isEmpty() - Method in class it.unive.lisa.analysis.lattices.SetLattice
Returns true if this set contains no elements.
isEmpty() - Method in class it.unive.lisa.program.annotations.Annotations
Yields true if and only if the set of annotations represented by this instance is empty.
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.collections.workset.ConcurrentFIFOWorkingSet
 
isEmpty() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
isEmpty() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
isEmpty() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
isEmpty() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
isEmpty() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
Yields true if and only if this working set is empty.
isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
isEqualTo(G) - Method in interface 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.
isFinite() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this is interval is finite, that is, if neither bound is set to infinity.
isFinite() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is finite (i.e.
isGuarded(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields true if and only if the given program point is inside the body of a ControlFlowStructure, regardless of its type.

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
isInfinite() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this is interval is not finite, that is, if at least one bound is set to infinity.
isInfinite() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is infinite (i.e.
isInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this is the interval representing infinity, that is, [-Inf, +Inf].
isInherited() - Method in class it.unive.lisa.program.annotations.Annotation
Yields true if this annotation can be inherited, false otherwise.
isInMemoryType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of InMemoryType.
isInsideIfThenElse(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields true if and only if the given program point is inside one of the branches of an IfThenElse.

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
isInsideLoop(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields true if and only if the given program point is inside the body of a Loop.

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
isInstance() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields true if and only if the cfg associated to this descriptor is an instance cfg.
isInstance() - Method in class it.unive.lisa.program.Global
Yields true if and only if this is an instance global.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
 
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.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
 
isIntegral() - Method in class it.unive.lisa.type.common.Float32Type
 
isIntegral() - Method in class it.unive.lisa.type.common.Float64Type
 
isIntegral() - Method in class it.unive.lisa.type.common.Int16Type
 
isIntegral() - Method in class it.unive.lisa.type.common.Int32Type
 
isIntegral() - Method in class it.unive.lisa.type.common.Int64Type
 
isIntegral() - Method in class it.unive.lisa.type.common.Int8Type
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt16Type
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt32Type
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt64Type
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.
isLogging() - Method in class it.unive.lisa.logging.Counter
Yields true if this counter is currently logging updates.
isMinusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is minus infinity.
isNaN() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is not a number, that is, obtained from an operation that does not produce a result (e.g.
isNegative() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is negative.
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.CodeMemberDescriptor
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.
isPlusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is plus infinity.
isPointerType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of PointerType.
isPositiveOrZero() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is positive or equal to zero.
isReferenceType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of ReferenceType.
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.
isSingleton() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if this is a singleton interval, that is, if the lower bound and the upper bound are the same.
isStringType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of StringType.
isTop - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
isTop - Variable in class it.unive.lisa.analysis.lattices.SetLattice
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
isTop() - Method in class it.unive.lisa.analysis.AnalysisState
 
isTop() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
isTop() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
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.lattices.FunctionalLattice
Yields true if and only if this object represents the top of the lattice.
isTop() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
isTop() - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
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.
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
isUnconditional() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
Yields true if and only if this edge represent unconditional execution flow between its bounds.
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.type.common.Float32Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.Float64Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int16Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int32Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int64Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int8Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt16Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt32Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt64Type
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt8Type
 
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.dataflow - package it.unive.lisa.analysis.dataflow
 
it.unive.lisa.analysis.heap - package it.unive.lisa.analysis.heap
 
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.inference - package it.unive.lisa.analysis.nonrelational.inference
 
it.unive.lisa.analysis.nonrelational.value - package it.unive.lisa.analysis.nonrelational.value
 
it.unive.lisa.analysis.representation - package it.unive.lisa.analysis.representation
 
it.unive.lisa.analysis.symbols - package it.unive.lisa.analysis.symbols
 
it.unive.lisa.analysis.value - package it.unive.lisa.analysis.value
 
it.unive.lisa.checks - package it.unive.lisa.checks
 
it.unive.lisa.checks.semantic - package it.unive.lisa.checks.semantic
 
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.interprocedural - package it.unive.lisa.interprocedural
 
it.unive.lisa.interprocedural.callgraph - package it.unive.lisa.interprocedural.callgraph
 
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.outputs.json - package it.unive.lisa.outputs.json
 
it.unive.lisa.outputs.serializableGraph - package it.unive.lisa.outputs.serializableGraph
 
it.unive.lisa.program - package it.unive.lisa.program
 
it.unive.lisa.program.annotations - package it.unive.lisa.program.annotations
 
it.unive.lisa.program.annotations.matcher - package it.unive.lisa.program.annotations.matcher
 
it.unive.lisa.program.annotations.values - package it.unive.lisa.program.annotations.values
 
it.unive.lisa.program.cfg - package it.unive.lisa.program.cfg
 
it.unive.lisa.program.cfg.controlFlow - package it.unive.lisa.program.cfg.controlFlow
 
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.program.cfg.statement.call - package it.unive.lisa.program.cfg.statement.call
 
it.unive.lisa.program.cfg.statement.comparison - package it.unive.lisa.program.cfg.statement.comparison
 
it.unive.lisa.program.cfg.statement.evaluation - package it.unive.lisa.program.cfg.statement.evaluation
 
it.unive.lisa.program.cfg.statement.global - package it.unive.lisa.program.cfg.statement.global
 
it.unive.lisa.program.cfg.statement.literal - package it.unive.lisa.program.cfg.statement.literal
 
it.unive.lisa.program.cfg.statement.logic - package it.unive.lisa.program.cfg.statement.logic
 
it.unive.lisa.program.cfg.statement.numeric - package it.unive.lisa.program.cfg.statement.numeric
 
it.unive.lisa.program.cfg.statement.string - package it.unive.lisa.program.cfg.statement.string
 
it.unive.lisa.program.language - package it.unive.lisa.program.language
 
it.unive.lisa.program.language.hierarchytraversal - package it.unive.lisa.program.language.hierarchytraversal
 
it.unive.lisa.program.language.parameterassignment - package it.unive.lisa.program.language.parameterassignment
 
it.unive.lisa.program.language.resolution - package it.unive.lisa.program.language.resolution
 
it.unive.lisa.program.language.validation - package it.unive.lisa.program.language.validation
 
it.unive.lisa.symbolic - package it.unive.lisa.symbolic
 
it.unive.lisa.symbolic.heap - package it.unive.lisa.symbolic.heap
 
it.unive.lisa.symbolic.value - package it.unive.lisa.symbolic.value
 
it.unive.lisa.symbolic.value.operator - package it.unive.lisa.symbolic.value.operator
 
it.unive.lisa.symbolic.value.operator.binary - package it.unive.lisa.symbolic.value.operator.binary
 
it.unive.lisa.symbolic.value.operator.ternary - package it.unive.lisa.symbolic.value.operator.ternary
 
it.unive.lisa.symbolic.value.operator.unary - package it.unive.lisa.symbolic.value.operator.unary
 
it.unive.lisa.type - package it.unive.lisa.type
 
it.unive.lisa.type.common - package it.unive.lisa.type.common
 
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.collections.workset - package it.unive.lisa.util.collections.workset
 
it.unive.lisa.util.datastructures.graph - package it.unive.lisa.util.datastructures.graph
 
it.unive.lisa.util.datastructures.graph.algorithms - package it.unive.lisa.util.datastructures.graph.algorithms
 
it.unive.lisa.util.datastructures.graph.code - package it.unive.lisa.util.datastructures.graph.code
 
it.unive.lisa.util.file - package it.unive.lisa.util.file
 
it.unive.lisa.util.numeric - package it.unive.lisa.util.numeric
 
IterableArray<E> - Class in it.unive.lisa.util.collections
An iterable over an array of elements.
IterableArray(E[]) - Constructor for class it.unive.lisa.util.collections.IterableArray
Builds the iterable.
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.
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.program.annotations.Annotations
 
iterator() - Method in class it.unive.lisa.util.collections.CastIterable
 
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.collections.IterableArray
 
iterator() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
iterator() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
 

J

JavaLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
A strategy where the first parameter is tested using RuntimeTypesMatchingStrategy if it represents the receiver of an instance call, otherwise it is tested with StaticTypesMatchingStrategy.
join(C, C, C, BiPredicate<T, T>, BinaryOperator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
Joins (union) two collections, using a custom equality test to determine if two elements are to be considered equals and thus joined together through the given joiner.
join(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Joins two CFGWithAnalysisResults together.
join(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
Given a node and two states, joins the states (i.e.
JsonReport - Class in it.unive.lisa.outputs.json
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.json.JsonReport
Builds an empty report.
JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.json.JsonReport
Builds the report, containing the given warnings and files.
JsonReport.JsonWarning - Class in it.unive.lisa.outputs.json
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.json.JsonReport.JsonWarning
Builds an empty warning with no message.
JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Builds the warning, cloning the information from the given Warning.

K

keyLift(Set<K>, Set<K>) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.KeyFunctionalLift
Yields the lift of first and second key sets.
kill(Identifier, ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow kill operation, yielding the dataflow elements that are killed by the assignment of the given expression to the given id.
kill(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow kill operation, yielding the dataflow elements that are killed by evaluating the given non-assigning expression.

L

LABEL - Static variable in class it.unive.lisa.outputs.DotGraph
The label attribute name.
LanguageFeatures - Class in it.unive.lisa.program.language
Logical grouping of all language-specific features, such as strategies for matching call parameters or traversing type hierarchies.
LanguageFeatures() - Constructor for class it.unive.lisa.program.language.LanguageFeatures
 
last(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
Yields the index of the last sub-expression that has to be evaluated.
last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
 
last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
 
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.
LeftToRightEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
A left-to-right EvaluationOrder, evaluating expressions in the given order.
Length - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string length operation.
Length(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Length
Builds the length.
lessOrEqual(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
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.
LessOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the less or equal operation (<=).
LessOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessOrEqual
Builds the less or equal.
lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
 
lessOrEqualAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
 
lessOrEqualAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
lessOrEqualAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
lessOrEqualAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
lessOrEqualAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
lessOrEqualAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
lessOrEqualAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
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
 
LessThan - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the less than operation (<).
LessThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessThan
Builds the less than.
LIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
A last-in, first-out working set.
lift(V, V) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.FunctionalLift
Yields the lift of first and second lattice element.
list - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
The node list of this graph.
ListRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a list of values.
ListRepresentation(DomainRepresentation...) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
Builds a new representation containing the given elements.
ListRepresentation(List<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
Builds a new representation starting from the given list.
ListRepresentation(List<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
Builds a new representation containing the given list.
Literal<E> - Class in it.unive.lisa.program.cfg.statement.literal
A literal, representing a constant value.
Literal(CFG, CodeLocation, E, Type) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Literal
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
LogicalAnd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to Boolean values, a BinaryExpression using this operator computes the logical conjunction of those values, without short-circuiting.

First argument expression type: BooleanType
Second argument expression type: BooleanType
Computed expression type: BooleanType
LogicalAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
Builds the type.
LogicalNegation - Class in it.unive.lisa.symbolic.value.operator.unary
Given an expression that evaluates to a Boolean value, a UnaryExpression using this operator computes the logical negation of the expression: if it evaluates to true, it is transformed to false, and vice versa.

Argument expression type: BooleanType
Computed expression type: BooleanType
LogicalNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
Builds the type.
LogicalOperation - Class in it.unive.lisa.symbolic.value.operator.binary
A common implementation for classes implementing BinaryOperator and LogicalOperator, providing a LogicalOperation.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no BooleanType can be found in one of the arguments, and a singleton set containing TypeSystem.getBooleanType() otherwise.
LogicalOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
 
LogicalOperator - Interface in it.unive.lisa.symbolic.value.operator
A logical operation on operand(s) of type BooleanType.
LogicalOr - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to Boolean values, a BinaryExpression using this operator computes the logical disjunction of those values, without short-circuiting.

First argument expression type: BooleanType
Second argument expression type: BooleanType
Computed expression type: BooleanType
LogicalOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
Builds the type.
LongAnnotationValue - Class in it.unive.lisa.program.annotations.values
A long annotation value.
LongAnnotationValue(long) - Constructor for class it.unive.lisa.program.annotations.values.LongAnnotationValue
Builds a long annotation value.
Loop - Class in it.unive.lisa.program.cfg.controlFlow
A ControlFlowStructure representing a loop.
Loop(NodeList<CFG, Statement, Edge>, Statement, Statement, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.Loop
Builds the loop.
lowIsMinusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if the lower bound of this interval is set to minus infinity.
lub(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
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(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
 
lubAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
lubAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
lubAux(ExpressionSet<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
lubAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
lubAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
lubAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
lubAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
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
 
lubKeys(Set<Identifier>, Set<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
lubKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields the union of the keys between k1 and k2.

M

map - Variable in class it.unive.lisa.analysis.representation.MapRepresentation
The mappings of contained in this map.
MapRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a key-value mapping.
MapRepresentation(Map<DomainRepresentation, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
Builds a new representation containing the given map.
MapRepresentation(Map<K, V>, Function<K, DomainRepresentation>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
Builds a new representation starting from the given map.
markSubNode(SerializableNode, SerializableNode) - Method in class it.unive.lisa.outputs.GraphmlGraph
Takes note that inner is a subnode of node instead of a proper node of the graph.
matchCodeMemberName(UnresolvedCall, String, String) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Matches the name (qualifier + target name) of the given call against the given code member.
matches(Annotation) - Method in interface it.unive.lisa.program.annotations.matcher.AnnotationMatcher
Returns true if this matcher matches the input annotation, false otherwise.
matches(Annotation) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
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(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
 
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
 
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in interface it.unive.lisa.program.language.resolution.ParameterMatchingStrategy
Yields true if and only if the parameter list of a cfg is matched by the given actual parameters, according to this strategy.
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
 
matchesSignature(CodeMemberDescriptor) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
MathNumber - Class in it.unive.lisa.util.numeric
A wrapper around BigDecimal to represent the mathematical concept of a number, that can be also plus or minus infinity, in a convenient way.
MathNumber(double) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
MathNumber(long) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
MathNumber(BigDecimal) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
max(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the maximum number between this and other.
MEMBER_MISMATCH - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for a CodeMember not matching its own signature.
MemoryPointer - Class in it.unive.lisa.symbolic.value
A memory pointer to a heap location.
MemoryPointer(Type, HeapLocation, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
Builds a memory pointer.
MemoryPointer(Type, HeapLocation, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
Builds a memory pointer with empty annotations.
mergeWith(AdjacencyMatrix<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Merges this matrix with the given one, by adding all nodes and all edges contained in other.
mergeWith(NodeList<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Merges this list with the given one, by adding all nodes and all edges contained in other.
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.
mightBeFalse() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Yields whether or not this element can represent a false result.
mightBeTrue() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Yields whether or not this element can represent a true result.
MILLIS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as milliseconds.
min(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the minimum number between this and other.
MINUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant for minus infinity.
MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [-1, -1].
MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant -1.
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.
MISSING_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for missing override of an AbstractCodeMember.
mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
Yields a new, empty working set.
mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
Yields a new, empty working set.
mk() - Static method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
Yields a new, empty working set.
mk() - Static method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
Yields a new, empty working set.
mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
Utility for creating a concrete instance of DataflowDomain given its core fields.
mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
 
mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
 
mk(H) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
Creates a new instance of this domain containing the same abstract information of reference.
mk(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>) - Method in class it.unive.lisa.analysis.StatementStore
 
mk(Aliases, Map<Symbol, Aliases>) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
 
mk(WorkingSet<E>) - Static method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
Yields a new, empty working set.
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<Symbol>) - Method in class it.unive.lisa.analysis.symbols.Aliases
 
mk(Set<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
mk(V, Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Builds a instance of this class from the given lattice instance and the given mapping.
mkDotFile(String, FileManager.WriteAction) - 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.
mkGraphmlFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name, appending the graphml extension.
mkHtmlFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name, appending the html extension.
mkJsonFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name, appending the json extension.
mkNewFunction(Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Creates a new instance of the underlying function.
mkOutputFile(String, boolean, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name.
mkOutputFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name.
mkOutputFile(String, String, boolean, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
Creates a UTF-8 encoded file with the given name.
mkOutputFile(String, String, FileManager.WriteAction) - 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.
ModuleOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a module (reminder) between its operands.
mul(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval multiplication between this and other.
MultiCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more CodeMembers under analysis, implemented through a sequence of calls.
MultiCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Builds the multi call, happening at the given location in the program.
MultiCall(CFG, CodeLocation, Call.CallType, String, String, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Builds the multi-call, happening at the given location in the program.
MultiCall(UnresolvedCall, Call...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Creates a multi call as the resolved version of the given source call, copying all its data.
MULTIPLE_OVERRIDES - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for multiple overrides of the same CodeMember inside the same CompilationUnit.
Multiplication - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the multiplication operation (*).
Multiplication(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Multiplication
Builds the multiplication.
MultiplicationOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a multiplication between its operands.
multiply(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this * other.
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

NamedParameterExpression - Class in it.unive.lisa.program.cfg.statement.call
An expression that can be used to for by-name parameter passing to Calls.
NamedParameterExpression(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
Builds the expression.
NameSymbol - Class in it.unive.lisa.analysis.symbols
A Symbol that represents a name (e.g.
NameSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.NameSymbol
Builds the symbol.
NaN - Static variable in class it.unive.lisa.util.numeric.MathNumber
A constant for representing numbers obtained from an operation that does not produce a result (e.g.
NANOS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as nanoseconds.
NaryExpression - Class in it.unive.lisa.program.cfg.statement
A generic expression with n sub-expressions.
NaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
Builds the expression, happening at the given location in the program.
NaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
Builds the expression, happening at the given location in the program.
NaryExpression(CFG, CodeLocation, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
Builds the expression, happening at the given location in the program.
NaryExpression(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
Builds the expression, happening at the given location in the program.
NativeCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more NativeCFGs under analysis.
NativeCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Builds the native call, happening at the given location in the program.
NativeCall(CFG, CodeLocation, Call.CallType, String, String, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Builds the native call, happening at the given location in the program.
NativeCall(UnresolvedCall, Collection<NativeCFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Creates a native call as the resolved version of the given source call, copying all its data.
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(CodeMemberDescriptor, Class<? extends NaryExpression>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
Builds the native control flow graph.
NegatableOperator - Interface in it.unive.lisa.symbolic.value.operator
A logical operation on operand(s) of type BooleanType.
negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Negates the current satisfiability, getting the opposite result.
Negation - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the numerical negation operation (-).
Negation(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Negation
Builds the numerical negation.
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.code.CodeEdge
Builds a new instance of this edge, connecting the given nodes.
next(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
Assuming that pos is the index of a sub-expression, yields the index of the sub-expression that has to be evaluated after the given one.
next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
 
next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
 
NO_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for Statements with no followers.
Node<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<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.
NodeList<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
A list of nodes of a CodeGraph, together with the edges connecting them.
NodeList(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Builds a new list.
NodeList(E, boolean) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Builds a new list.
NodeList(NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Copies the given list.
NodeList.NodeEdges<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
nodeName(long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
Given a code, builds the name of a node that can be added to, removed from or retrieved from the wrapped graph.
NoEntryPointException - Exception in it.unive.lisa.interprocedural
A FixpointException signaling that no entry points have been found.
NoEntryPointException() - Constructor for exception it.unive.lisa.interprocedural.NoEntryPointException
Builds the exception.
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 NonRelationalElement that models the standard concept of non-relational abstract domain, and that is able to compute the value of a SymbolicExpressions of type E by knowing the values of all program variables.
NonRelationalElement<T extends NonRelationalElement<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.
NonRelationalTypeDomain<T extends NonRelationalTypeDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
A non-relational type domain, that is able to compute the types of a ValueExpression by knowing the types 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, 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 - Class in it.unive.lisa.program.cfg.statement.logic
An expression modeling the logical negation (! or not).
Not(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.Not
Builds the logical negation.
NOT_SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
Represent the fact that an expression is not satisfied.
NotEqual - Class in it.unive.lisa.program.cfg.statement.comparison
An expression modeling the inequality test (!=).
NotEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.NotEqual
Builds the inequality test.
NullConstant - Class in it.unive.lisa.symbolic.value
A Constant that represent the null value.
NullConstant(CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.NullConstant
Builds a null constant.
NullLiteral - Class in it.unive.lisa.program.cfg.statement.literal
A literal representing the null constant.
NullLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.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.CollectionUtilities
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}.
NullType() - Constructor for class it.unive.lisa.type.NullType
Builds the type.
Numeric16BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic addition of those values.
Numeric16BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
Builds the type.
Numeric16BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic division of those values.
Numeric16BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
Builds the type.
Numeric16BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic remainder of those values.
Numeric16BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
Builds the type.
Numeric16BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic multiplication of those values.
Numeric16BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
Builds the type.
Numeric16BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic subtraction of those values.
Numeric16BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
Builds the type.
Numeric32BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic addition of those values.
Numeric32BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
Builds the type.
Numeric32BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic division of those values.
Numeric32BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
Builds the type.
Numeric32BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic remainder of those values.
Numeric32BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
Builds the type.
Numeric32BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic multiplication of those values.
Numeric32BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
Builds the type.
Numeric32BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic subtraction of those values.
Numeric32BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
Builds the type.
Numeric64BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic addition of those values.
Numeric64BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
Builds the type.
Numeric64BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic division of those values.
Numeric64BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
Builds the type.
Numeric64BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic remainder of those values.
Numeric64BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
Builds the type.
Numeric64BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic multiplication of those values.
Numeric64BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
Builds the type.
Numeric64BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic subtraction of those values.
Numeric64BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
Builds the type.
Numeric8BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic addition of those values.
Numeric8BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
Builds the type.
Numeric8BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic division of those values.
Numeric8BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
Builds the type.
Numeric8BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic remainder of those values.
Numeric8BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
Builds the type.
Numeric8BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic multiplication of those values.
Numeric8BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
Builds the type.
Numeric8BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic subtraction of those values.
Numeric8BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
Builds the type.
NumericComparison - Class in it.unive.lisa.symbolic.value.operator.binary
A common implementation for classes implementing BinaryOperator and ComparisonOperator, providing a NumericComparison.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no NumericType can be found in one of the arguments or if NumericType.commonNumericalType(Set, Set) returns an empty set, and a singleton set containing TypeSystem.getBooleanType() otherwise.
NumericComparison() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
 
NumericNegation - Class in it.unive.lisa.symbolic.value.operator.unary
Given an expression that evaluates to a numeric value, a UnaryExpression using this operator computes the arithmetic negation (i.e., multiplication by -1) of that value.

Argument expression type: NumericType
Computed expression type: NumericType (same of the argument, but signed)
NumericNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
Builds the type.
NumericNonOverflowingAdd - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic addition of those values.
NumericNonOverflowingAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
Builds the type.
NumericNonOverflowingDiv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic division of those values.
NumericNonOverflowingDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
Builds the type.
NumericNonOverflowingMod - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic remainder of those values.
NumericNonOverflowingMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
Builds the type.
NumericNonOverflowingMul - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic multiplication of those values.
NumericNonOverflowingMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
Builds the type.
NumericNonOverflowingSub - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to numeric values, a BinaryExpression using this operator computes the arithmetic subtraction of those values.
NumericNonOverflowingSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
Builds the type.
NumericOperation - Class in it.unive.lisa.symbolic.value.operator.binary
A common implementation for classes implementing BinaryOperator, providing a NumericOperation.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no NumericType, and the result of NumericType.commonNumericalType(Set, Set) otherwise.
NumericOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
 
NumericType - Interface in it.unive.lisa.type
Numeric type interface.

O

ObjectRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a complex object with fields.
ObjectRepresentation(Map<String, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
Builds a new representation containing the given map.
ObjectRepresentation(Map<String, V>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
Builds a new representation starting from the given map.
of(Class<? extends WorkingSet<E>>) - Static method in interface it.unive.lisa.util.collections.workset.WorkingSet
Yields a WorkingSet instance by invoking a static mk() method on the given class.
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.
ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [1, 1].
ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant 1.
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.call
A call to a CFG that is not under analysis.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(UnresolvedCall) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Creates an open call as the resolved version of the given source call, copying all its data.
OpenCallPolicy - Interface in it.unive.lisa.interprocedural
Policy that determines what happens to the AnalysisState when an OpenCall is encountered during the fixpoint.
Operator - Interface in it.unive.lisa.symbolic.value
An operator that causes a transformation of one or more SymbolicExpressions.
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
 
opposite() - Method in interface it.unive.lisa.symbolic.value.operator.NegatableOperator
Yields the opposite operator of this operator (e.g., ComparisonLe to ComparisonGt, ComparisonLt to ComparisonGe).
opposite() - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
or(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Performs a logical or between this satisfiability and the given one.
Or - Class in it.unive.lisa.program.cfg.statement.logic
An expression modeling the logical disjunction (|| or or).
Or(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.Or
Builds the logical disjunction.
OrderPreservingAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
A strategy that passes the parameters in the same order as they are specified.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Concat
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Contains
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.EndsWith
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Equals
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.IndexOf
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Length
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Replace
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.StartsWith
Statement that has been rewritten to this operation, if any.
originating - Variable in class it.unive.lisa.program.cfg.statement.string.Substring
Statement that has been rewritten to this operation, if any.
OutOfScopeIdentifier - Class in it.unive.lisa.symbolic.value
An identifier outside the current scope of the call, that is, in a method that is in the call stack but not the last one.
OutOfScopeIdentifier(Identifier, ScopeToken, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
Builds the identifier outside the scope.
OutputDumpingException - Exception in it.unive.lisa.outputs
An exception thrown when creating or dumping one of the outputs of the analysis.
OutputDumpingException() - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
Builds the exception.
OutputDumpingException(String) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
Builds the exception.
OutputDumpingException(String, Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
Builds the exception.
OutputDumpingException(Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
Builds the exception.
OverflowingOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that might overflow or underflow.
overriddenBy() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the collection of CodeMember that override the cfg associated with this descriptor.
overrides() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
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) - Constructor for class it.unive.lisa.program.cfg.Parameter
Builds an untyped parameter reference, identified by its name.
Parameter(CodeLocation, String, Expression) - 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(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(CodeLocation, String, Type, Expression, Annotations) - 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.
ParameterAssigningStrategy - Interface in it.unive.lisa.program.language.parameterassignment
A strategy for assigning parameters at call sites.
ParameterMatchingStrategy - Interface in it.unive.lisa.program.language.resolution
A strategy for matching call signatures.
parameterTypes(StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.Call
Yields an array containing the runtime types of the parameters of this call, retrieved by accessing the given StatementStore.
peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
peek() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
peek() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
peek() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
peek() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
Returns the next element to be processed from this working set without removing it.
perform(Writer) - Method in interface it.unive.lisa.util.file.FileManager.WriteAction
Performs the operation on the given writer.
PluggableStatement - Interface in it.unive.lisa.program.cfg.statement
A Statement that can be dynamically plugged into a CFG in place of another statement.
plus(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval addition between this and other.
PLUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant for plus infinity.
PointerType - Interface in it.unive.lisa.type
Pointer type interface.
pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
pop() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
Removes the next element to be processed from this working set and returns it.
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.AnalysisState
 
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Pop a scope to the dataflow element.
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
 
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
Pops the scope identified by the given token from the set.
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.SemanticDomain
Pops the scope identified by the given token from the domain.
popScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.heap.HeapExpression
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.SymbolicExpression
Pops the scope identified by the given token from the expression.
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Constant
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.HeapLocation
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.PushAny
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Skip
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
 
popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Variable
 
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.BaseGraph
 
predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
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 list going from such node to the given one.
predecessorsOf(N) - Method in interface 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.
prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
 
prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy
Prepares the entryState for the targets of the given Call, assuming that the state when the call is executed (after the evaluation of the parameters) is callState, and each parameter to the call is represented by an element of parameters.
prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
 
preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
 
preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Callback that is invoked on a node before simplifying it.
previous(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
Assuming that pos is the index of a sub-expression, yields the index of the sub-expression that has to be evaluated before the given one.
previous(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
 
previous(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
 
processedUnits - Variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
The set of CompilationUnits, represented by their names, that have been already processed by BaseValidationLogic.validateAndFinalize(CompilationUnit).
Program - Class in it.unive.lisa.program
A program that LiSA can analyze.
Program(LanguageFeatures, TypeSystem) - 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.
ProgramUnit - Class in it.unive.lisa.program
A unit that is part of a LiSA Program.
ProgramUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.ProgramUnit
Builds a unit, defined at the given location.
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.
ProgramValidationLogic - Interface in it.unive.lisa.program.language.validation
A logic for validating Programs.
push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
push(E) - Method in interface it.unive.lisa.util.collections.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(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.PushAny
Builds the push any.
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.AnalysisState
 
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
pushScope(ScopeToken) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Push a scope to the dataflow element.
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
 
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
Pushes a new scope, identified by the give token, in the set.
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
pushScope(ScopeToken) - Method in interface it.unive.lisa.analysis.SemanticDomain
Pushes a new scope, identified by the give token, in the domain.
pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.heap.HeapExpression
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.SymbolicExpression
Pushes a new scope, identified by the give token, in the expression.
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Constant
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.HeapLocation
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.PushAny
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Skip
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
 
pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Variable
 
put(Statement, AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.StatementStore
Stores the given state for the given statement.
putState(Symbol, Symbol) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
Registers an alias for the given symbol.
putState(K, V) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
Yields an instance of this class equal to the receiver of the call, but with key mapped to state.
PythonLikeAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
A Python-like assigning strategy.
PythonLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
A Python-like matching strategy.
PythonLikeMatchingStrategy(FixedOrderMatchingStrategy) - Constructor for class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
Builds the strategy.
pythonLogic(Parameter[], Expression[], T[], Set<Type>[], T[], Set<Type>[], T[], Set<Type>[], F) - Static method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
Python logic for preparing an argument list for a method call.

Q

QualifiedNameSymbol - Class in it.unive.lisa.analysis.symbols
A Symbol that represents a fully qualified name, composed of both a name and a qualifier.
QualifiedNameSymbol(String, String) - Constructor for class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
Builds the symbol.
QualifierSymbol - Class in it.unive.lisa.analysis.symbols
A Symbol that represents a qualifier (i.e.
QualifierSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.QualifierSymbol
Builds the symbol.

R

read(Reader) - Static method in class it.unive.lisa.outputs.json.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.
readGraph(Reader) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Reads a graph through the given Reader, deserializing it as a JSON file.
reduce(T, BinaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Reduces this set to a single element.
ReferenceType - Class in it.unive.lisa.type
A type for references to memory regions.
ReferenceType(Type) - Constructor for class it.unive.lisa.type.ReferenceType
Builds the type for a reference to a location containing values of types t.
ReferenceType(Set<Type>) - Constructor for class it.unive.lisa.type.ReferenceType
Builds the type for a reference to a location containing values of types innerTypes.
registerCall(CFGCall) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
registerCall(CFGCall) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Registers an already resolved CFGCall in this CallGraph.
registerType(Type) - Method in class it.unive.lisa.type.TypeSystem
Registers a new Type that appears in the program.
Remainder - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the remainder operation (%).
Remainder(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Remainder
Builds the module.
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
 
removeEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Removes the given edge from the matrix.
removeEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Removes the given edge from the list.
removeFirstParameter() - Method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
Yields an instance of TruncatedParamsCall that wraps a copy of the receiver of this call up to the parameters, where the first one has been removed.
removeFirstParameter() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
removeFirstParameter() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
removeFrom(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Removes every node and edge that is reachable from the given root.
removeNegations() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
 
removeNegations() - Method in class it.unive.lisa.symbolic.value.ValueExpression
Yields the same value expression removing any negation, namely the LogicalNegation operator, preserving its semantics, if possible.
removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Removes the given node from the matrix, together with all its connected edges.
removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Removes the given node from the list, together with all its connected edges.
Replace - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string replace operation.
Replace(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Replace
Builds the replace.
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 - Variable in class it.unive.lisa.analysis.representation.StringRepresentation
The textual representation.
representation() - Method in class it.unive.lisa.analysis.AnalysisState
 
representation() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
representation() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Yields a DomainRepresentation of the information contained in this domain's instance.
representation() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
Yields a DomainRepresentation of the information contained in this set.
representation() - Method in class it.unive.lisa.analysis.nonrelational.Environment
 
representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
Yields a DomainRepresentation of the information contained in this pair.
representation() - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
Yields a DomainRepresentation of the information contained in this domain's instance.
representation() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
representation() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
 
representation() - Method in interface it.unive.lisa.analysis.SemanticDomain
Yields a DomainRepresentation of the information contained in this domain's instance.
representation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
ResolvedCall - Interface in it.unive.lisa.program.cfg.statement.call
Marker for Calls that have already been resolved, and that thus know what are their targets.
resolveInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Resolves the given call as an instance call.
resolveNonInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Resolves the given call as regular (non-instance) call.
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
 
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
 
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
 
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
 
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
 
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
Yields the Type of this operation's result.
resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
 
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, 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.
RETURNED_VARIABLE_NAME - Static variable in interface it.unive.lisa.interprocedural.OpenCallPolicy
The name of the variable storing the return value of the call, if any.
ReturnTopPolicy - Class in it.unive.lisa.interprocedural
An OpenCallPolicy, where the post state is exactly the entry state, with the only difference of having a synthetic variable named "open_call_return" assigned to top only if the call returns a value.
rewrite(Statement, Expression...) - Method in class it.unive.lisa.program.cfg.NativeCFG
Produces an NaryExpression providing the semantics of this native cfg.
rewrite(SymbolicExpression, HeapEnvironment<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
Rewrites a SymbolicExpression, getting rid of the parts that access heap structures, substituting them with synthetic HeapLocations representing the accessed locations.
rewrite(SymbolicExpression, ProgramPoint) - Method in interface it.unive.lisa.analysis.heap.HeapDomain
Rewrites a SymbolicExpression, getting rid of the parts that access heap structures, substituting them with synthetic HeapLocations representing the accessed locations.
rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
rewriteAll(ExpressionSet<SymbolicExpression>, HeapEnvironment<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
Rewrites all SymbolicExpressions, getting rid of the parts that access heap structures, substituting them with synthetic HeapLocations representing the accessed locations.
rewriteAll(ExpressionSet<SymbolicExpression>, ProgramPoint) - Method in interface it.unive.lisa.analysis.heap.HeapDomain
Rewrites all SymbolicExpressions, getting rid of the parts that access heap structures, substituting them with synthetic HeapLocations representing the accessed locations.
Rewriter() - Constructor for class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
RightToLeftEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
A right-to-left EvaluationOrder, evaluating expressions in reversed order.
roundDown() - Method in class it.unive.lisa.util.numeric.MathNumber
Rounds down this number to the next integer value towards minus infinity (see RoundingMode.FLOOR).
roundUp() - Method in class it.unive.lisa.util.numeric.MathNumber
Rounds down this number to the next integer value towards plus infinity (see RoundingMode.CEILING).
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.
RuntimeTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
A strategy where the 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, then FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[]) returns true.

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.
sameNumericTypes(NumericType) - Method in interface it.unive.lisa.type.NumericType
Checks if the two implementations of NumericType of this and other represent the same type, and can thus be used interchangeably.
sameStructure(SerializableGraph) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Checks if this graph and the given one share the same structure, that is, if they are equal up to the descriptions of their nodes.
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.NonRelationalElement
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, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
 
satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
satisfies(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
satisfies(ValueExpression, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
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.dataflow.DataflowDomain
 
satisfiesAbstractValue(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the satisfiability of an runtime types 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>.
satisfiesAbstractValue(T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of an abstract value of type <T>.
satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the satisfiability of a BinaryExpression applying operator to two expressions whose runtime types 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.
satisfiesBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
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.nonrelational.value.BaseNonRelationalTypeDomain
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.
satisfiesNonNullConstant(Constant, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of the given non-null constant on this abstract domain.
satisfiesNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
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.
satisfiesNullConstant(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of the null constant NullConstant on this abstract domain.
satisfiesPushAny(PushAny, T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of the push any expression.
satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the satisfiability of a TernaryExpression applying operator to three expressions whose runtime types 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.
satisfiesTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
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.nonrelational.value.BaseNonRelationalTypeDomain
Yields the satisfiability of a UnaryExpression applying operator to an expression whose runtime types are 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.
satisfiesUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of a UnaryExpression applying operator to an expression whose abstract value is arg, returning an instance of SemanticDomain.Satisfiability.
ScopeToken - Class in it.unive.lisa.analysis
A token that can be used for pushing and popping scopes on local variables through SemanticDomain.pushScope(ScopeToken) and SemanticDomain.popScope(ScopeToken).
ScopeToken(CodeElement) - Constructor for class it.unive.lisa.analysis.ScopeToken
Builds a new scope, referring to the given code element.
searchCodeMembers(Predicate<CodeMember>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Searches among instance code members, returning a collection containing all members that satisfy the given condition.
searchGlobals(Predicate<Global>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Searches among instance globals, returning a collection containing all globals that satisfy the given condition.
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.
SemanticCheck<A extends AbstractState<A,​H,​V,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Interface in it.unive.lisa.checks.semantic
A Check that is able to exploit both the syntactic structure of the program and the semantic information produced with the fixpoint iteration.
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.
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.
SemanticExceptionWrapper - Exception in it.unive.lisa.analysis
A runtime exception that wraps a SemanticException, so that it can be thrown within lambdas.
SemanticExceptionWrapper(SemanticException) - Constructor for exception it.unive.lisa.analysis.SemanticExceptionWrapper
Builds the exception wrapper.
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.NullLiteral
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Semantics of an n-ary expression is evaluated by computing the semantics of its sub-expressions, from left to right, using the analysis state from each sub-expression's computation as entry state for the next one.
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Ret
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Return
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - 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, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Throw
 
semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
 
semantics(N, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
Given a node and its entry state, computes its exit state relying on its semantics.

This callback is invoked after the overall entry state for a node has been computed through Fixpoint.FixpointImplementation.union(Object, Object, Object) of the exit states of its predecessors.
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.
SequentialEdge - Class in it.unive.lisa.program.cfg.edge
A sequential edge connecting two statement.
SequentialEdge() - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
Builds an "empty" edge, meaning that it does not have endpoints.
SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
Builds the edge.
SerializableArray - Class in it.unive.lisa.outputs.serializableGraph
An array of serializable values, represented through a list.
SerializableArray() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
Builds the array.
SerializableArray(SortedMap<String, String>, List<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
Builds the array.
SerializableCFG - Class in it.unive.lisa.outputs.serializableGraph
Utility class to build SerializableGraphs from CFGs.
SerializableEdge - Class in it.unive.lisa.outputs.serializableGraph
An edge of a SerializableGraph.
SerializableEdge() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Builds an empty (invalid) edge.
SerializableEdge(int, int, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Builds an edge.
SerializableGraph - Class in it.unive.lisa.outputs.serializableGraph
A graph that can be serialized.
SerializableGraph() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Builds an empty graph.
SerializableGraph(String, String, SortedSet<SerializableNode>, SortedSet<SerializableEdge>, SortedSet<SerializableNodeDescription>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Builds a graph.
SerializableNode - Class in it.unive.lisa.outputs.serializableGraph
A node of a SerializableGraph, represented by a numeric id.
SerializableNode() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
Builds an empty (invalid) node.
SerializableNode(int, List<Integer>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
Builds a node.
SerializableNodeDescription - Class in it.unive.lisa.outputs.serializableGraph
A description for a SerializableNode, pairing it with a SerializableValue.
SerializableNodeDescription() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Builds an empty (invalid) description.
SerializableNodeDescription(int, SerializableValue) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Builds a description.
SerializableObject - Class in it.unive.lisa.outputs.serializableGraph
A complex serializable object, represented through a set of named serializable fields.
SerializableObject() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
Builds an empty object.
SerializableObject(SortedMap<String, String>, SortedMap<String, SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
Builds an object.
SerializableString - Class in it.unive.lisa.outputs.serializableGraph
A single serializable value, represented in its textual form.
SerializableString() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
Builds an empty (invalid) string.
SerializableString(SortedMap<String, String>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
Builds a string.
SerializableValue - Class in it.unive.lisa.outputs.serializableGraph
A value that can be serialized, as part of a SerializableNodeDescription.
SerializableValue() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
Builds the value.
SerializableValue(SortedMap<String, String>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
Builds the value.
serialize(SerializableValue, JsonGenerator, SerializerProvider) - Method in class it.unive.lisa.outputs.serializableGraph.ValueSerializer
 
setFirstFollower(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Sets the first follower of this structure, that is, the first statement after the conditional structure exits.
setId(String) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
Sets the string meant to identify this specific result, based on how it has been produced.
setIndex(int) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Sets the index of this variable.
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>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.SetLattice
Builds the lattice.
setMessage(String) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Sets the message of this warning.
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
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.code.CodeNode
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.CodeMemberDescriptor
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.
setProperty(String, String) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
Sets a textual property to enrich the information represented by this instance.
setProperty(String, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
Sets a textual property to enrich the information represented by this value.
SetRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a set of values.
SetRepresentation(Set<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
Builds a new representation starting from the given set.
SetRepresentation(Set<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
Builds a new representation containing the given set.
setRuntimeTypes(Set<Type>) - Method in class it.unive.lisa.symbolic.SymbolicExpression
Sets the runtime types to the given set of types.
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.
setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.Call
Sets the call that this call originated from.
setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
 
SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
The shape attribute name.
ShortAnnotationValue - Class in it.unive.lisa.program.annotations.values
A short annotation value.
ShortAnnotationValue(short) - Constructor for class it.unive.lisa.program.annotations.values.ShortAnnotationValue
Builds a short annotation value.
SimpleAbstractState<H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - 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, T) - 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() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Simplifies this structure, removing all NoOps from its body.
simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
simplify(Class<? extends N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Simplifies the adjacency matrix beneath this graph, removing all nodes that are instances of <T> and rewriting the edge set accordingly.
simplify(Iterable<N>, Collection<N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Simplifies this list, removing all the given nodes and rewriting the edge set accordingly.
SingleInheritanceTraversalStrategy - Class in it.unive.lisa.program.language.hierarchytraversal
A HierarcyTraversalStrategy that assumes a single super unit per each unit (Java-like).
size() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Returns the number of elements in this lattice (its cardinality).
size() - Method in class it.unive.lisa.analysis.lattices.SetLattice
Returns the number of elements in this lattice (its cardinality).
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.collections.IterableArray
Yields the size of this iterable, that is, the length of the array behind this iterable.
size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
size() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
size() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
size() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
size() - Method in interface it.unive.lisa.util.collections.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(CodeLocation) - 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.dataflow.DataflowDomain
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
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).
StartsWith - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string startsWith operation.
StartsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.StartsWith
Builds the startsWith.
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,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
A functional lattice that stores instances of AnalysisState computed on statements.
StatementStore(AnalysisState<A, H, V, T>) - 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 - it.unive.lisa.program.cfg.statement.call.Call.CallType
Only non-instance code members are targeted by the call.
StaticTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
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, then FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[]) 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
 
StringAnnotationValue - Class in it.unive.lisa.program.annotations.values
A string annotation value.
StringAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.StringAnnotationValue
Builds a string annotation value.
StringConcat - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator computes the concatenation of the string from the first argument with the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: StringType
StringConcat() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringConcat
Builds the type.
StringContains - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator checks if the string from the first argument contains the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: BooleanType
StringContains() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringContains
Builds the type.
StringEndsWith - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator checks if the string from the first argument is suffixed by the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: BooleanType
StringEndsWith() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
Builds the type.
StringEquals - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator checks if the string from the first argument is equal (in terms of contents, that is different from ComparisonEq) to the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: BooleanType
StringEquals() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEquals
Builds the type.
StringIndexOf - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator computes the starting index of the first occurrence of the string from the second argument inside the one of the first argument, producing -1 if no occurrence can be found.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: NumericType (integral)
StringIndexOf() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
Builds the type.
StringLength - Class in it.unive.lisa.symbolic.value.operator.unary
Given an expression that evaluates to a string value, a UnaryExpression using this operator computes an integral value, from 0 upwards, representing the length of that value.

Argument expression type: StringType
Computed expression type: NumericType (integral)
StringLength() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.StringLength
Builds the type.
StringLiteral - Class in it.unive.lisa.program.cfg.statement.literal
A Literal representing a constant string value.
StringLiteral(CFG, CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.statement.literal.StringLiteral
Builds the literal.
StringOperation - Class in it.unive.lisa.symbolic.value.operator.binary
A common implementation for classes implementing BinaryOperator and StringOperator, providing a StringOperation.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no StringType can be found in one of the arguments, and a singleton set containing StringOperation.resultType(TypeSystem) otherwise.
StringOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringOperation
 
StringOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation manipulating one or more values of type StringType.
StringReplace - Class in it.unive.lisa.symbolic.value.operator.ternary
Given three expressions that all evaluate to string values, a TernaryExpression using this operator computes a new string corresponding to the first argument's string where all occurrences of the second argument's string have been replaced with the third argument's string.
Note that: if the first argument's string is empty, the empty string is returned if the second argument's string is empty, the third argument's string is added in any position of the first argument's string if the third argument's string is empty, occurrences of the second argument's string are simply removed from the first argument's string
First argument expression type: StringType
Second argument expression type: StringType
Third argument expression type: StringType
Computed expression type: StringType
StringReplace() - Constructor for class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
Builds the type.
StringRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a single string element.
StringRepresentation(Object) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
Builds a new representation starting from the given object.
StringRepresentation(String) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
Builds a new representation containing the given string.
StringStartsWith - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions that both evaluate to string values, a BinaryExpression using this operator checks if the string from the first argument is prefixed by the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: BooleanType
StringStartsWith() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
Builds the type.
StringSubstring - Class in it.unive.lisa.symbolic.value.operator.ternary
Given three expressions, with the first one evaluating to a string value and the second and third one evaluating to integral numerical values, a TernaryExpression using this operator computes a new string corresponding to the portion of first argument's string starting at the second argument's number position (inclusive) and ending at the third argument's number position (exclusive).
Note that: both second and third argument's numbers must be non-negative and less than the length of the first argument's string, with the second one's less or equal than the third one's if the second and third argument's numbers are equal, the empty string is returned
First argument expression type: StringType
Second argument expression type: NumericType
Third argument expression type: NumericType
Computed expression type: StringType
StringSubstring() - Constructor for class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
Builds the type.
StringType - Class in it.unive.lisa.type.common
An implementation of the StringType.
StringType - Interface in it.unive.lisa.type
String type interface.
StringType() - Constructor for class it.unive.lisa.type.common.StringType
Builds the type.
STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
The style attribute name.
Substring - Class in it.unive.lisa.program.cfg.statement.string
An expression modeling the string substring operation.
Substring(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Substring
Builds the substring.
subtract(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this - other.
Subtraction - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the subtraction operation (-).
Subtraction(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Subtraction
Builds the subtraction.
SubtractionOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a subtraction between its operands.
supertype(NumericType) - Method in interface it.unive.lisa.type.NumericType
Determines which of the two NumericTypes between this and other is supertype for the other.
Symbol - Interface in it.unive.lisa.analysis.symbols
A symbol that can be aliased or used as an alias.
SymbolAliasing - Class in it.unive.lisa.analysis.symbols
A FunctionalLattice mapping Symbols to Aliases, that is, sets of symbols.
SymbolAliasing() - Constructor for class it.unive.lisa.analysis.symbols.SymbolAliasing
Builds an empty map of aliases.
SymbolicExpression - Class in it.unive.lisa.symbolic
A symbolic expression that can be evaluated by SemanticDomains.
SymbolicExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.SymbolicExpression
Builds the symbolic expression.
SyntacticCheck - Interface in it.unive.lisa.checks.syntactic
A Check that is able to exploit only the syntactic structure of the program.
SyntheticLocation - Class in it.unive.lisa.program
A synthetic code location.

T

TernaryExpression - Class in it.unive.lisa.program.cfg.statement
An NaryExpression with exactly three sub-expressions.
TernaryExpression - Class in it.unive.lisa.symbolic.value
A bynary expression that applies a TernaryExpression to three SymbolicExpressions.
TernaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the untyped expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the untyped expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the expression, happening at the given location in the program.
TernaryExpression(Type, SymbolicExpression, SymbolicExpression, SymbolicExpression, TernaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.TernaryExpression
Builds the binary expression.
TernaryOperator - Interface in it.unive.lisa.symbolic.value.operator.ternary
A ternary Operator that can be applied to three SymbolicExpression.
ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Replace
 
ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Substring
 
ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
Computes the semantics of the expression, after the semantics of the sub-expressions 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.
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.LoggableAction - Interface in it.unive.lisa.logging
A Runnable executing a function with no arguments a no return value.
TimerLogger.LoggableSupplier<R> - Interface in it.unive.lisa.logging
A Supplier producing one element.
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() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Converts this graph to a DotGraph.
toGraphml(boolean) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Converts this graph to a GraphmlGraph.
toHtml(boolean, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Converts this graph to an HtmlGraph.
top() - Method in class it.unive.lisa.analysis.AnalysisState
 
top() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
top() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
top() - Method in interface it.unive.lisa.analysis.Lattice
Yields the top element of this lattice.
top() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
 
top() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
top() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
 
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() - Method in class it.unive.lisa.analysis.symbols.Aliases
 
top() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
 
TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
A string constant that can be used to represent top values.
topRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
Yields a fresh DomainRepresentation that can be used to represent top values.
toSerializableGraph() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields an instance of SerializableGraph built from this one.
toSerializableGraph(Function<Statement, SerializableValue>) - Method in class it.unive.lisa.program.cfg.CFG
 
toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
toSerializableGraph(Function<N, SerializableValue>) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
Yields an instance of SerializableGraph built from this one.
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
Produces a serializable version of this representation.
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
 
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
 
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
 
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
 
toSerializableValue() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
 
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.dataflow.DataflowDomain
 
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.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.inference.BaseInferredValue
 
toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
 
toString() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
 
toString() - Method in class it.unive.lisa.analysis.ScopeToken
 
toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
toString() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
 
toString() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
 
toString() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
 
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.GlobalWarning
 
toString() - Method in class it.unive.lisa.checks.warnings.StatementWarning
 
toString() - Method in class it.unive.lisa.checks.warnings.UnitWarning
 
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.interprocedural.callgraph.CallGraphEdge
 
toString() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
 
toString() - Method in class it.unive.lisa.outputs.GraphStreamWrapper
 
toString() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
 
toString() - Method in class it.unive.lisa.outputs.json.JsonReport
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
 
toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
 
toString() - Method in class it.unive.lisa.program.annotations.Annotation
 
toString() - Method in class it.unive.lisa.program.annotations.AnnotationMember
 
toString() - Method in class it.unive.lisa.program.annotations.Annotations
 
toString() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
 
toString() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
 
toString() - Method in class it.unive.lisa.program.cfg.CFG
 
toString() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
 
toString() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
 
toString() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
toString() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
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.NativeCFG
 
toString() - Method in class it.unive.lisa.program.cfg.Parameter
 
toString() - Method in class it.unive.lisa.program.cfg.statement.Assignment
 
toString() - Method in class it.unive.lisa.program.cfg.statement.call.Call
 
toString() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
 
toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
 
toString() - Method in class it.unive.lisa.program.cfg.statement.literal.StringLiteral
 
toString() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
 
toString() - Method in class it.unive.lisa.program.cfg.statement.NoOp
 
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.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.heap.HeapDereference
 
toString() - Method in class it.unive.lisa.symbolic.heap.HeapReference
 
toString() - Method in class it.unive.lisa.symbolic.SymbolicExpression
 
toString() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
 
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.MemoryPointer
 
toString() - Method in class it.unive.lisa.symbolic.value.NullConstant
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
 
toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
 
toString() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
 
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 class it.unive.lisa.symbolic.value.UnaryExpression
 
toString() - Method in class it.unive.lisa.symbolic.value.Variable
 
toString() - Method in class it.unive.lisa.type.common.BoolType
 
toString() - Method in class it.unive.lisa.type.common.Float32Type
 
toString() - Method in class it.unive.lisa.type.common.Float64Type
 
toString() - Method in class it.unive.lisa.type.common.Int16Type
 
toString() - Method in class it.unive.lisa.type.common.Int32Type
 
toString() - Method in class it.unive.lisa.type.common.Int64Type
 
toString() - Method in class it.unive.lisa.type.common.Int8Type
 
toString() - Method in class it.unive.lisa.type.common.StringType
 
toString() - Method in class it.unive.lisa.type.common.UInt16Type
 
toString() - Method in class it.unive.lisa.type.common.UInt32Type
 
toString() - Method in class it.unive.lisa.type.common.UInt64Type
 
toString() - Method in class it.unive.lisa.type.common.UInt8Type
 
toString() - Method in class it.unive.lisa.type.NullType
 
toString() - Method in class it.unive.lisa.type.ReferenceType
 
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.collections.IterableArray
 
toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
toString() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
 
toString() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
 
toString() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
 
toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
 
toString() - Method in class it.unive.lisa.util.numeric.IntInterval
 
toString() - Method in class it.unive.lisa.util.numeric.MathNumber
 
toSymbolicVariable() - Method in class it.unive.lisa.program.cfg.Parameter
Creates a Variable that represent this parameter, that can be used by SemanticDomains to reference this parameter.
toSymbolicVariable(CodeLocation) - Method in class it.unive.lisa.program.Global
Creates a Variable that represent this global, that can be used by SemanticDomains to reference it.
tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
 
tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
 
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(UnaryOperator<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(E, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
Given an edge and a state, computes a new state by modifying the given one assuming that the edge gets traversed.

This callback is invoked while computing the overall entry state for a node to filter a state according to the logic of the edge (an edge might be always traversed, or only if a condition holds).
traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.Edge
Traverses this edge, optionally modifying the given sourceState by applying semantic assumptions.
traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
traverse(Statement, CompilationUnit) - Method in interface it.unive.lisa.program.language.hierarchytraversal.HierarcyTraversalStrategy
Yields an iterable containing (or generating on-the-fly) compilation units in the order they should be visited for traversing a type hierarchy to find targets of calls or global accesses.
traverse(Statement, CompilationUnit) - Method in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
 
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.
TrueLiteral - Class in it.unive.lisa.program.cfg.statement.literal
A Literal representing the true boolean value.
TrueLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.TrueLiteral
Builds the literal.
truncate(Expression[]) - Static method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
Truncates the given array of expressions by removing the first element.
TruncatedParamsCall - Class in it.unive.lisa.program.cfg.statement.call
A call that wraps another one that has been created through CanRemoveReceiver.removeFirstParameter().
TruncatedParamsCall(Call) - Constructor for class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
Builds the call.
Type - Interface in it.unive.lisa.type
Type interface.
TYPE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
The key that should be used to store the instance of TypeDomain inside the DomainRepresentation returned by SemanticDomain.representation().
TypeCast - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions, with the second one evaluating to a type token, a BinaryExpression using this operator casts the type of the first argument to the type of the second argument.
TypeCast() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCast
Builds the type.
TypeCheck - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions, with the second one evaluating to a type token, a BinaryExpression using this operator checks if the runtime types of the value the first argument evaluates to are subtypes of the ones contained in the token.

First argument expression type: any Type
Second argument expression type: TypeTokenType
Computed expression type: BooleanType
TypeCheck() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
Builds the type.
TypeConv - Class in it.unive.lisa.symbolic.value.operator.binary
Given two expressions, with the second one evaluating to a type token, a BinaryExpression using this operator converts the type of the first argument to the type of the second argument.
TypeConv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeConv
Builds the type.
TypeDomain<T extends TypeDomain<T>> - Interface in it.unive.lisa.analysis.value
An domain that is able to determine the runtime types of an expression given the runtime types of its operands.
TypeEnvironment<T extends NonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
An environment for a NonRelationalTypeDomain, that maps Identifiers to instances of such domain.
TypeEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
Builds an empty environment.
TypeEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
Builds an environment containing the given mapping.
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
 
typeInference(TypeSystem, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.unary.UnaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the argument of this expression has the given types.
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.binary.BinaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
TypeOf - Class in it.unive.lisa.symbolic.value.operator.unary
Given any expression, a UnaryExpression using this operator computes the type(s) of that expression.

Argument expression type: any Type
Computed expression type: TypeTokenType containing all types of argument
TypeOf() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.TypeOf
Builds the type.
TypeOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation manipulating the types of concrete values.
TypeSystem - Class in it.unive.lisa.type
A type system, knowing about the types that can appear in a Program.
TypeSystem() - Constructor for class it.unive.lisa.type.TypeSystem
Builds an empty type system, where only TypeSystem.getBooleanType(), TypeSystem.getStringType() and TypeSystem.getIntegerType() are registered.
TypeTokenType - Class in it.unive.lisa.type
The type of type tokens, used as reference to types in code.
TypeTokenType(Set<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
Builds the type token representing the given types.

U

UInt16Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 16-bit unsigned Literal representing a constant integral value.
UInt16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt16Literal
Builds the literal.
UInt16Type - Class in it.unive.lisa.type.common
An unsigned 16-bit integral NumericType.
UInt16Type() - Constructor for class it.unive.lisa.type.common.UInt16Type
Builds the type.
UInt32Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 32-bit unsigned Literal representing a constant integral value.
UInt32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt32Literal
Builds the literal.
UInt32Type - Class in it.unive.lisa.type.common
An unsigned 32-bit integral NumericType.
UInt32Type() - Constructor for class it.unive.lisa.type.common.UInt32Type
Builds the type.
UInt64Literal - Class in it.unive.lisa.program.cfg.statement.literal
A 64-bit unsigned Literal representing a constant integral value.
UInt64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt64Literal
Builds the literal.
UInt64Type - Class in it.unive.lisa.type.common
An unsigned 64-bit integral NumericType.
UInt64Type() - Constructor for class it.unive.lisa.type.common.UInt64Type
Builds the type.
UInt8Literal - Class in it.unive.lisa.program.cfg.statement.literal
An 8-bit unsigned Literal representing a constant integral value.
UInt8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt8Literal
Builds the literal.
UInt8Type - Class in it.unive.lisa.type.common
An unsigned 8-bit integral NumericType.
UInt8Type() - Constructor for class it.unive.lisa.type.common.UInt8Type
Builds the type.
UnaryExpression - Class in it.unive.lisa.program.cfg.statement
An NaryExpression with a single sub-expression.
UnaryExpression - Class in it.unive.lisa.symbolic.value
A unary expression that applies a UnaryOperator to a SymbolicExpression.
UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the untyped expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the untyped expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the expression, happening at the given location in the program.
UnaryExpression(Type, SymbolicExpression, UnaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
Builds the unary expression.
UnaryOperator - Interface in it.unive.lisa.symbolic.value.operator.unary
A unary Operator that can be applied to a single SymbolicExpression.
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
 
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
 
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.Not
 
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Negation
 
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Length
 
unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
Computes the semantics of the expression, after the semantics of the sub-expression 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.
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.
union(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
Given a node and two states, computes their union (i.e.
Unit - Class in it.unive.lisa.program
A unit of the program to analyze.
Unit(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 ClassUnit.
UnitWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on one of the Units under analysis.
UnitWarning(Unit, String) - Constructor for class it.unive.lisa.checks.warnings.UnitWarning
Builds the warning.
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.
UNKNOWN - it.unive.lisa.program.cfg.statement.call.Call.CallType
Both instance and non-instance code members are targeted by the call.
UNKNOWN_ENTRYPOINTS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for entrypoints not defined inside the Program.
UnresolvedCall - Class in it.unive.lisa.program.cfg.statement.call
A call that happens inside the program to analyze.
UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Builds the unresolved call, happening at the given location in the program.
UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Builds the unresolved call, happening at the given location in the program.
UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Builds the unresolved call, happening at the given location in the program.
UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Builds the unresolved call, happening at the given location in the program.
Untyped - Class in it.unive.lisa.type
The untyped type, corresponding to an unknown/untyped type.
Untyped() - Constructor for class it.unive.lisa.type.Untyped
Builds the type.
UP_TO_HOURS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as hours, minutes, seconds, milliseconds and nanoseconds.
UP_TO_MILLIS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as milliseconds and nanoseconds.
UP_TO_MINUTES - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as minutes, seconds, milliseconds and nanoseconds.
UP_TO_SECONDS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as seconds, milliseconds and nanoseconds.

V

validate() - Method in class it.unive.lisa.program.cfg.CFG
Validates this cfg, ensuring that the code contained in it is well formed.
validate() - Method in interface it.unive.lisa.program.cfg.CodeMember
Validates this cfg, ensuring that the code contained in it is well formed.
validate(CodeMember, boolean) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given CodeMember, checking that no other code member exists in its containing Unit with the same signature, according to CodeMemberDescriptor.matchesSignature(CodeMemberDescriptor).
validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Validates this matrix, ensuring that the it is well formed.
validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Validates this list, ensuring that the it is well formed.
validateAndFinalize(AbstractClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given AbstractClassUnit.
validateAndFinalize(ClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given ClassUnit.
validateAndFinalize(CodeUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given CodeUnit.
validateAndFinalize(CompilationUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given CompilationUnit.
validateAndFinalize(InterfaceUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given InterfaceUnit.
validateAndFinalize(Program) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given Program, ensuring its consistency.
validateAndFinalize(Program) - Method in interface it.unive.lisa.program.language.validation.ProgramValidationLogic
Validates the given Program, ensuring its consistency.
validateAndFinalize(Unit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
Validates the given unit, ensuring its consistency.
VALUE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
The key that should be used to store the instance of ValueDomain inside the DomainRepresentation returned by SemanticDomain.representation().
ValueDeserializer - Class in it.unive.lisa.outputs.serializableGraph
Custom Jackson deserializer for SerializableValues, built to read back what is serialized by ValueSerializer.
ValueDeserializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
Builds the deserializer.
ValueDeserializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
Builds the deserializer.
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.
ValueEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
Builds an environment containing the given mapping.
ValueExpression - Class in it.unive.lisa.symbolic.value
A symbolic expression that represents an operation on the program's state.
ValueExpression(Type, CodeLocation) - 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.call.Call.CallType
Returns the enum constant of this type with the specified name.
values() - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum it.unive.lisa.logging.TimeFormat
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum it.unive.lisa.program.cfg.statement.call.Call.CallType
Returns an array containing the constants of this enum type, in the order they are declared.
ValueSerializer - Class in it.unive.lisa.outputs.serializableGraph
Custom Jackson serializer for SerializableValues that tries to reduce the size of the generated json files.
ValueSerializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
Builds the serializer.
ValueSerializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
Builds the serializer.
variable(Identifier, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
Yields a fixed abstraction of the given variable.
Variable - Class in it.unive.lisa.symbolic.value
An identifier of a real program variable.
Variable(Type, String, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
Builds the variable with annotations.
Variable(Type, String, CodeLocation) - 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) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
Builds the untyped variable reference, 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.
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(CodeLocation, int, Statement, Statement, 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.
VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type, Annotations) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds the variable table entry with its annotations, identified by its index, representing a variable defined at the given location in the program.
VariableTableEntry(CodeLocation, int, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
Builds an untyped variable table entry, identified by its index.
visit(AccessChild, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(AccessChild, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits an AccessChild.
visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(HeapAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a HeapAllocation.
visit(HeapDereference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(HeapDereference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a HeapDereference.
visit(HeapReference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(HeapReference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a HeapReference.
visit(BinaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(BinaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(BinaryExpression, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
visit(Constant, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(Constant, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a Constant.
visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(Identifier, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits an Identifier.
visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(PushAny, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a PushAny.
visit(Skip, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(Skip, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a Skip.
visit(TernaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(TernaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(TernaryExpression, T, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
visit(UnaryExpression, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
 
visit(UnaryExpression, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
 
visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
 
visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
 
visit(UnaryExpression, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a UnaryExpression.
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.
visitGlobal(T, Unit, Global, boolean) - Method in interface it.unive.lisa.checks.Check
Visits the given global.
VisitOnceWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
A working set that guarantees that each element will be added to this working set no more than once.
visitUnit(T, Unit) - Method in interface it.unive.lisa.checks.Check
Visits the given unit.
VoidType - Class in it.unive.lisa.type
The void type.
VoidType() - Constructor for class it.unive.lisa.type.VoidType
Builds the type.

W

warn(String) - Method in class it.unive.lisa.checks.syntactic.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(CFG, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the declaration of the given cfg.
warnOn(CodeMemberDescriptor, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the declaration of the cfg represented by the given descriptor.
warnOn(Expression, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the given expression.
warnOn(Statement, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the given statement.
warnOn(Unit, Global, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the declaration of the given global.
warnOn(Unit, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
Reports a new warning with the given message on the declaration of the given unit.
widening(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
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(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
 
wideningAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
wideningAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
 
wideningAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
wideningAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
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.
WorkingSet<E> - Interface in it.unive.lisa.util.collections.workset
A working set, containing items to be processed.
WorstCasePolicy - Class in it.unive.lisa.interprocedural
A worst-case OpenCallPolicy, where the whole analysis state becomes top and all information is lost.

Z

ZERO - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [0, 0].
ZERO - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant 0.
A B C D E F G H I J K L M N O P Q R S T U V W Z 
All Classes All Packages