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

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 class it.unive.lisa.util.datastructures.graph.Graph
Accepts the given GraphVisitor.
accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Node
Accepts the given GraphVisitor.
accept(GraphVisitor<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 CompilationUnit.
AccessInstanceGlobal(CFG, CodeLocation, Expression, Global) - 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
 
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.CFGDescriptor
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.
addCFG(CFG) - Method in class it.unive.lisa.program.Unit
Adds a new CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addCompilationUnit(CompilationUnit) - Method in class it.unive.lisa.program.Program
Adds a new CompilationUnit, identified by its name (Unit.getName()), to this program.
addConstruct(NativeCFG) - Method in class it.unive.lisa.program.Unit
Adds a new NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
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.Graph
Adds an edge to this graph.
addEdge(E, String, String) - Method in class it.unive.lisa.outputs.DotGraph
Adds an edge to the graph.
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.
addInstanceCFG(CFG) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addInstanceConstruct(NativeCFG) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit.
addInstanceGlobal(Global) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new instance Global, identified by its name (Global.getName()), to this unit.
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(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Adds the given node to the set of nodes.
addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes, optionally setting that as root.
addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, reachable executable from other graphs).
addNode(N, boolean, boolean, Function<N, String>) - Method in class it.unive.lisa.outputs.DotGraph
Adds a node to the graph.
addSource(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Adds an Identifier to the set of identifiers that are the sources of this replacement.
addSuperUnit(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Adds a new CompilationUnit as superunit of this unit.
addTarget(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Adds an Identifier to the set of identifiers that are the targets of this replacement.
addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Adds a VariableTableEntry at the end of the variable table.
adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.Graph
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
AdjacencyMatrix<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
An adjacency matrix for a graph that has Nodes as nodes and Edges as edges.
AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Builds a new matrix.
AdjacencyMatrix(AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Copies the given matrix by keeping the same edge ExternalSetCache, shallow-copying the Nodes and deep-copying the values.
AdjacencyMatrix.NodeEdges<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
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() - Method in class it.unive.lisa.type.common.BoolType
 
allInstances() - Method in class it.unive.lisa.type.common.Float32
 
allInstances() - Method in class it.unive.lisa.type.common.Float64
 
allInstances() - Method in class it.unive.lisa.type.common.Int16
 
allInstances() - Method in class it.unive.lisa.type.common.Int32
 
allInstances() - Method in class it.unive.lisa.type.common.Int64
 
allInstances() - Method in class it.unive.lisa.type.common.Int8
 
allInstances() - Method in class it.unive.lisa.type.common.StringType
 
allInstances() - Method in class it.unive.lisa.type.common.UInt16
 
allInstances() - Method in class it.unive.lisa.type.common.UInt32
 
allInstances() - Method in class it.unive.lisa.type.common.UInt64
 
allInstances() - Method in class it.unive.lisa.type.common.UInt8
 
allInstances() - Method in class it.unive.lisa.type.NullType
 
allInstances() - Method in class it.unive.lisa.type.ReferenceType
 
allInstances() - Method in interface it.unive.lisa.type.Type
Yields all possible instances of this type, including itself.
allInstances() - Method in class it.unive.lisa.type.TypeTokenType
 
allInstances() - Method in class it.unive.lisa.type.Untyped
 
allInstances() - Method in class it.unive.lisa.type.VoidType
 
allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields true iff all the elements contained in this set satisfy the given predicate.
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>) - Constructor for class it.unive.lisa.analysis.AnalysisState
Builds a new state.
AnalysisState(A, ExpressionSet<SymbolicExpression>, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
Builds a new state.
AnalysisState(A, SymbolicExpression) - 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.
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.
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
 
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
 
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
 
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
 
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
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)
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
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.
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.
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.
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
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.
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_REPR - Static variable in interface it.unive.lisa.analysis.Lattice
A DomainRepresentation that can be used to represent bottom values.
BOTTOM_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
A string constant 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

Caches - Class in it.unive.lisa.caches
A holder of ExternalSetCaches, to ensure that all ExternalSets built to hold a given element type will share the same unique cache.
Call - Class in it.unive.lisa.program.cfg.statement.call
A call to another cfg.
Call(CFG, CodeLocation, ParameterAssigningStrategy, 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, ParameterAssigningStrategy, 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.Float32
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float64
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int16
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int32
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int64
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int8
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.StringType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt16
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt32
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt64
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt8
 
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
 
canBeSimplified() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
canBeSimplified() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Yields true if and only if this edge could be simplified if one of the nodes connected to it is simplified (i.e., removed from the graph).
canProcess(SymbolicExpression) - Method in 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(ExternalSet<Type>, ExternalSet<Type>) - Static method in interface it.unive.lisa.type.Type
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(ExternalSet<Type>, ExternalSet<Type>, AtomicBoolean) - Static method in interface it.unive.lisa.type.Type
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, 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(CFGDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFG(CFGDescriptor, Collection<Statement>, AdjacencyMatrix<Statement, Edge, CFG>) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFGCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more of the CFGs under analysis.
CFGCall(CFG, CodeLocation, ParameterAssigningStrategy, 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, ParameterAssigningStrategy, 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(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.
CFGDescriptor - Class in it.unive.lisa.program.cfg
A descriptor of a CFG, containing the debug informations (source file, line, column) as well as metadata.
CFGDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor with Untyped return type.
CFGDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor.
CFGDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
Builds the descriptor.
CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
CFGDescriptorWarning(CFGDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Builds the warning.
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.
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, ExternalSet<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.
clear() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
clear() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Cleans the cache, removing all elements.
clear() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
CodeElement - Interface in it.unive.lisa.program
Interface for code elements that have to provide information about the location where they appear.
CodeLocation - Interface in it.unive.lisa.program.cfg
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
CodeMember - Interface in it.unive.lisa.program.cfg
A program member that has code within it.
collect() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a concrete list containing all the elements corresponding to the bits in this set.
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(ExternalSet<Type>, ExternalSet<Type>) - Static method in interface it.unive.lisa.type.NumericType
Computes the ExternalSet 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.Float32
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float64
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int16
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int32
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int64
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int8
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.StringType
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt16
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt32
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt64
 
commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt8
 
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
 
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.JsonReport.JsonWarning
 
compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
 
compareTo(CodeLocation) - Method in class it.unive.lisa.program.SyntheticLocation
 
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.
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
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
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
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
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.
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
A compilation unit of the program to analyze.
CompilationUnit(CodeLocation, String, boolean) - Constructor for class it.unive.lisa.program.CompilationUnit
Builds a compilation unit, defined at the given program point.
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.
containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields true if the given node is contained in this matrix.
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(AdjacencyMatrix<Statement, Edge, CFG>, Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Builds the structure.
convert(ExternalSet<Type>, ExternalSet<Type>) - Static method in interface it.unive.lisa.type.Type
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.
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.
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<N,​E,​G>,​E extends Edge<N,​E,​G>> - 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.
DotCFG - Class in it.unive.lisa.outputs
An DotGraph built from a CFG.
DotGraph<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Class in it.unive.lisa.outputs
An auxiliary graph built from a Graph that can be dumped in dot format, together with a legend.
DotGraph(String, Graph) - 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.JsonReport
Dumps this report to the given Writer instance, serializing it as a json object.
dump(Writer) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Dumps the content of this graph in the given writer, formatted as a dot file.
dump(Writer, Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Dumps the content of this graph in the given writer, formatted as a dot file.
dumpDot(Writer) - Method in class it.unive.lisa.outputs.DotGraph
Dumps this graph through the given Writer.

E

Edge - Class in it.unive.lisa.program.cfg.edge
An edge of a control flow graph, connecting two statements.
Edge<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
An edge of a Graph.
Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
Builds the edge.
elements - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
The set of elements contained in the lattice.
elements - Variable in class it.unive.lisa.analysis.lattices.SetLattice
The set of elements contained in the lattice.
elements() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
Yields the set of elements contained in this lattice element.
elements() - Method in class it.unive.lisa.analysis.lattices.SetLattice
Yields the set of elements contained in this lattice element.
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.Graph
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.MapRepresentation
 
equals(Object) - Method in class it.unive.lisa.analysis.representation.PairRepresentation
 
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.Aliases
 
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.DotGraph
 
equals(Object) - Method in class it.unive.lisa.outputs.JsonReport
 
equals(Object) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
 
equals(Object) - Method in class it.unive.lisa.program.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.CFGDescriptor
 
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.call.UnresolvedCall
 
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.Float32
 
equals(Object) - Method in class it.unive.lisa.type.common.Float64
 
equals(Object) - Method in class it.unive.lisa.type.common.Int16
 
equals(Object) - Method in class it.unive.lisa.type.common.Int32
 
equals(Object) - Method in class it.unive.lisa.type.common.Int64
 
equals(Object) - Method in class it.unive.lisa.type.common.Int8
 
equals(Object) - Method in class it.unive.lisa.type.common.StringType
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt16
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt32
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt64
 
equals(Object) - Method in class it.unive.lisa.type.common.UInt8
 
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.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.
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, Program, 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.
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.
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.cfg.statement.call.resolution
A resolution strategy that does not permit by-name (e.g.
FixedOrderMatchingStrategy() - Constructor for class it.unive.lisa.program.cfg.statement.call.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<N,​E,​G>,​E extends Edge<N,​E,​G>,​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.
Float32 - Class in it.unive.lisa.type.common
A signed 32-bit floating point NumericType.
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.
Float64 - Class in it.unive.lisa.type.common
A signed 64-bit floating point NumericType.
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.
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.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.
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, String, Function<Statement, String>) - Static method in class it.unive.lisa.outputs.DotCFG
Builds a DotCFG from a CFG.
function - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
The function implemented by this lattice.
FunctionalLattice<F extends FunctionalLattice<F,​K,​V>,​K,​V extends Lattice<V>> - Class in it.unive.lisa.analysis.lattices
A generic functional abstract domain that performs the functional lifting of the lattice on the elements of the co-domain.
FunctionalLattice(V) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
Builds the lattice.
FunctionalLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
Builds the lattice by cloning the given function.
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.
get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
Yields the pos-th element of this cache.
getAbstractResultOf(CFGCall, AnalysisState<A, H, V, 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.Graph
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.CompilationUnit
Yields the collection of all the CFGs defined in this unit.
getAllCFGs() - Method in class it.unive.lisa.program.Program
Yields the collection of all the CFGs defined in this unit.
getAllCFGs() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CFGs defined in this unit.
getAllCodeMembers() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CodeMembers defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the NativeCFGs defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.Program
Yields the collection of all the NativeCFGs defined in this unit.
getAllConstructs() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the NativeCFGs defined in this unit.
getAllExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller, or throwing an error (i.e., all such statements on which either Statement.stopsExecution() or Statement.throwsError() hold).
getAllGlobals() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the Globals defined in this unit.
getAllGlobals() - Method in class it.unive.lisa.program.Program
Yields the collection of all the Globals defined in this unit.
getAllGlobals() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the Globals defined in this unit.
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.CFGDescriptor
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.cfg.statement.call.Call
Yields the ParameterAssigningStrategy of the parameters of this call.
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.
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
 
getCFG(String) - Method in class it.unive.lisa.program.Unit
Yields the CFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getCFGs() - Method in class it.unive.lisa.program.Unit
Yields the collection of CFGs defined in this unit.
getCFGsByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all CFGs defined in this unit that have the given name.
getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
Yields the expression representing the child.
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 (CFGDescriptor.getSignature()), if any.
getCodeMembers() - Method in class it.unive.lisa.program.Unit
Yields the collection of CodeMembers defined in this unit.
getCodeMembersByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all CodeMembers defined in this unit that have the given name.
getCol() - Method in class it.unive.lisa.program.SourceCodeLocation
Yields the column where this code element happens in the source file.
getCommons() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Yields a collection containing all the pair of elements (deemed to be equal) that are contained in both collections used to create this builder.
getCompleteStructure() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields an AdjacencyMatrix 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.
getConstruct(String) - Method in class it.unive.lisa.program.Unit
Yields the NativeCFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Yields the name of the native construct represented by this expression.
getConstructs() - Method in class it.unive.lisa.program.Unit
Yields the collection of constructs (NativeCFGs) defined in this unit.
getConstructsByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all NativeCFGs defined in this unit that have the given name.
getContainer() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
Yields the Unit where the global targeted by this access is defined.
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.
getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Yields the cfg where this warning was reported on.
getDescriptor() - Method in class it.unive.lisa.program.cfg.CFG
Yields the name of this control flow graph.
getDescriptor() - Method in interface it.unive.lisa.program.cfg.CodeMember
Yields the CFGDescriptor containing the signature of this code member.
getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
 
getDestination() - Method in class it.unive.lisa.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().
getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the edge connecting the two given nodes, if any.
getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the edge connecting the two given nodes, if any.
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the set of edges of this matrix.
getEdges() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the set of edges of this graph.
getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the total number of edges of this graph.
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.
getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
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.
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.
getFiles() - Method in class it.unive.lisa.outputs.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.CFGDescriptor
Yields the array containing the formal parameters of the CFG associated with this descriptor.
getFullName() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the full name of the CFG associated with this descriptor.
getFullSignature() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the full signature of this cfg, that is, CFGDescriptor.getSignature() preceded by the cfg's return type.
getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the full signature of this cfg including parameters names, that is, CFGDescriptor.getSignatureWithParNames() preceded by the cfg's return type.
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.
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.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.
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.
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.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
 
getInstanceCFG(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance CFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CFGs defined in this unit.
getInstanceCFGsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance CFGs defined in this unit that have the given name.
getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance CodeMember defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CodeMembers defined in this unit.
getInstanceCodeMembersByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance CodeMembers defined in this unit that have the given name.
getInstanceConstruct(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance NativeCFG defined in this unit having the given signature (CFGDescriptor.getSignature()), if any.
getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance constructs (NativeCFGs) defined in this unit.
getInstanceConstructsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance NativeCFGs defined in this unit that have the given name.
getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the instance Global defined in this unit having the given name (Global.getName()), if any.
getInstanceGlobals(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance Globals defined in this unit.
getInstances() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that are instances of this one, including itself.
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.
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.CFGDescriptor
 
getLocation() - Method in class it.unive.lisa.program.cfg.Parameter
 
getLocation() - Method in class it.unive.lisa.program.cfg.statement.Statement
 
getLocation() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
 
getLocation() - Method in interface it.unive.lisa.program.CodeElement
Yields the location where this code element appears in the program.
getLocation() - Method in class it.unive.lisa.program.CompilationUnit
 
getLocation() - Method in class it.unive.lisa.program.Global
 
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(CFGDescriptor) - Method in class it.unive.lisa.program.Unit
Finds all the code members whose signature matches the one of the given CFGDescriptor, according to CFGDescriptor.matchesSignature(CFGDescriptor).
getMatchingInstanceCodeMembers(CFGDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Finds all the instance code members whose signature matches the one of the given CFGDescriptor, according to CFGDescriptor.matchesSignature(CFGDescriptor).
getMatchingStrategy() - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Yields the ParameterMatchingStrategy of the parameters of this call.
getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
Yields the message of this warning.
getMessage() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
Yields the message of this warning.
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.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.program.cfg.CFGDescriptor
Yields the name of the CFG associated with this descriptor.
getName() - Method in class it.unive.lisa.program.cfg.Parameter
Yields the name of this parameter.
getName() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
Yields the name of this variable.
getName() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the name of this variable.
getName() - Method in class it.unive.lisa.program.Global
Yields the name of this 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.
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the collection of nodes of this matrix.
getNodes() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the set of nodes of this graph.
getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
Yields the total number of nodes of this graph.
getNormalExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller without throwing an error (i.e., all such statements on which Statement.stopsExecution() holds but Statement.throwsError() does not).
getOffset() - Method in class it.unive.lisa.program.cfg.statement.Statement
Yields the offset of this statement relative to its containing cfg.
getOnlyFirst() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Yields a collection containing all the elements that are contained only in the first collection used to create this builder.
getOnlySecond() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Yields a collection containing all the elements that are contained only in the second collection used to create this builder.
getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
Yields the operator that is applied to BinaryExpression.getLeft() and BinaryExpression.getRight().
getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
getOperator() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
Yields the operator that is applied to UnaryExpression.getExpression().
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.
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.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, ExternalSet<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.
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.
getRegisteredTypes() - Method in class it.unive.lisa.program.Program
Yields the collection of Types that have been registered in this program.
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.CFGDescriptor
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 ExternalSet containing the types held by this instance.
getRuntimeTypes() - 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.CFGDescriptor
Yields the signature of this cfg, composed by its CFGDescriptor.getFullName() followed by its parameters types.
getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the signature of this cfg, composed by its CFGDescriptor.getFullName() followed by its parameters (types and names).
getSource() - Method in class it.unive.lisa.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.
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.
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.
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
 
getSuperUnits() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that this unit directly 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.
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
Yields the CFGs that are targeted by this CFG call.
getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
Yields the NativeCFGs that are targeted by this native call.
getTraversalStrategy() - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
Yields the HierarcyTraversalStrategy of this call.
getTrueBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
Yields the Statements contained in the true branch of this if-then-else.
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.CFGDescriptor
Yields the Unit containing the cfg associated to this descriptor.
getUnit() - Method in interface it.unive.lisa.type.UnitType
Yields the CompilationUnit that induces this type.
getUnit(String) - Method in class it.unive.lisa.program.Program
Yields the CompilationUnit defined in this unit having the given name (Unit.getName()), if any.
getUnits() - Method in class it.unive.lisa.program.Program
Yields the collection of CompilationUnits defined in this program.
getValue() - Method in class it.unive.lisa.program.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.CFGDescriptor
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.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, String) - Constructor for class it.unive.lisa.program.Global
Builds an untyped global variable, identified by its name.
Global(CodeLocation, String, 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, String, 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<G extends Graph<G,​N,​E>,​N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>> - Class in it.unive.lisa.util.datastructures.graph
A generic graph, backed by an AdjacencyMatrix.

Note that this class does not define Object.equals(Object) nor Object.hashCode(), since we leave the decision to be unique instances to implementers.
Graph() - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Builds the graph.
Graph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Clones the given graph.
Graph(Collection<N>, AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
Builds the graph.
GraphVisitor<G extends Graph<G,​N,​E>,​N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​V> - Interface in it.unive.lisa.util.datastructures.graph
A visitor of a Graph.
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.MapRepresentation
 
hashCode() - Method in class it.unive.lisa.analysis.representation.PairRepresentation
 
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.Aliases
 
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.DotGraph
 
hashCode() - Method in class it.unive.lisa.outputs.JsonReport
 
hashCode() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
 
hashCode() - Method in class it.unive.lisa.program.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.CFGDescriptor
 
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.call.UnresolvedCall
 
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.Float32
 
hashCode() - Method in class it.unive.lisa.type.common.Float64
 
hashCode() - Method in class it.unive.lisa.type.common.Int16
 
hashCode() - Method in class it.unive.lisa.type.common.Int32
 
hashCode() - Method in class it.unive.lisa.type.common.Int64
 
hashCode() - Method in class it.unive.lisa.type.common.Int8
 
hashCode() - Method in class it.unive.lisa.type.common.StringType
 
hashCode() - Method in class it.unive.lisa.type.common.UInt16
 
hashCode() - Method in class it.unive.lisa.type.common.UInt32
 
hashCode() - Method in class it.unive.lisa.type.common.UInt64
 
hashCode() - Method in class it.unive.lisa.type.common.UInt8
 
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.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).
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.
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.cfg.statement.call.traversal
A strategy for traversing hierarchies of CompilationUnit to search for implementations of call targets.
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.

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(AdjacencyMatrix<Statement, Edge, CFG>, 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.
InferredPair(T, T, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
Builds the pair.
InferredPairRepresentation(InferredValue.InferredPair<?>) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPairRepresentation
Builds a new representation.
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>.
InferredValue.InferredPairRepresentation - Class in it.unive.lisa.analysis.nonrelational.inference
INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [-Inf, +Inf].
init(Program) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
init(Program) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
Initializes the call graph of the given program.
init(Program, 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.call.assignment.OrderPreservingAssigningStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.call.assignment.PythonLikeAssigningStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.call.resolution.JavaLikeMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.call.resolution.RuntimeTypesMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.call.resolution.StaticTypesMatchingStrategy
The singleton instance of this class.
INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.call.traversal.SingleInheritanceTraversalStrategy
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.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.Float32
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Float64
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int16
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int32
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int64
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.Int8
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.UInt16
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt32
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt64
The unique singleton instance of this type.
INSTANCE - Static variable in class it.unive.lisa.type.common.UInt8
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.
Int16 - Class in it.unive.lisa.type.common
A signed 16-bit integral NumericType.
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.
Int32 - Class in it.unive.lisa.type.common
A signed 32-bit integral NumericType.
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.
Int64 - Class in it.unive.lisa.type.common
A signed 64-bit integral NumericType.
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.
Int8 - Class in it.unive.lisa.type.common
A signed 8-bit integral NumericType.
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.
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.
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.
InverseSetLattice<S extends InverseSetLattice<S,​E>,​E> - Class in it.unive.lisa.analysis.lattices
A generic inverse set lattice containing a set of elements.
InverseSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
Builds the lattice.
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.Float32
 
is16Bits() - Method in class it.unive.lisa.type.common.Float64
 
is16Bits() - Method in class it.unive.lisa.type.common.Int16
 
is16Bits() - Method in class it.unive.lisa.type.common.Int32
 
is16Bits() - Method in class it.unive.lisa.type.common.Int64
 
is16Bits() - Method in class it.unive.lisa.type.common.Int8
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt16
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt32
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt64
 
is16Bits() - Method in class it.unive.lisa.type.common.UInt8
 
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.Float32
 
is32Bits() - Method in class it.unive.lisa.type.common.Float64
 
is32Bits() - Method in class it.unive.lisa.type.common.Int16
 
is32Bits() - Method in class it.unive.lisa.type.common.Int32
 
is32Bits() - Method in class it.unive.lisa.type.common.Int64
 
is32Bits() - Method in class it.unive.lisa.type.common.Int8
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt16
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt32
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt64
 
is32Bits() - Method in class it.unive.lisa.type.common.UInt8
 
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.Float32
 
is64Bits() - Method in class it.unive.lisa.type.common.Float64
 
is64Bits() - Method in class it.unive.lisa.type.common.Int16
 
is64Bits() - Method in class it.unive.lisa.type.common.Int32
 
is64Bits() - Method in class it.unive.lisa.type.common.Int64
 
is64Bits() - Method in class it.unive.lisa.type.common.Int8
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt16
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt32
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt64
 
is64Bits() - Method in class it.unive.lisa.type.common.UInt8
 
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.Float32
 
is8Bits() - Method in class it.unive.lisa.type.common.Float64
 
is8Bits() - Method in class it.unive.lisa.type.common.Int16
 
is8Bits() - Method in class it.unive.lisa.type.common.Int32
 
is8Bits() - Method in class it.unive.lisa.type.common.Int64
 
is8Bits() - Method in class it.unive.lisa.type.common.Int8
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt16
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt32
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt64
 
is8Bits() - Method in class it.unive.lisa.type.common.UInt8
 
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.ExpressionSet
 
isBottom() - Method in class it.unive.lisa.analysis.nonrelational.Environment
Yields true if and only if this object represents the bottom of the lattice.
isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
isBottom() - Method in class it.unive.lisa.analysis.StatementStore
 
isBottom() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
 
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.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.CFGDescriptor
Yields true if and only if the cfg associated to this descriptor is an instance cfg.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Yields true if and only if this unit is an instance of the given one.
isIntegral() - Method in class it.unive.lisa.type.common.Float32
 
isIntegral() - Method in class it.unive.lisa.type.common.Float64
 
isIntegral() - Method in class it.unive.lisa.type.common.Int16
 
isIntegral() - Method in class it.unive.lisa.type.common.Int32
 
isIntegral() - Method in class it.unive.lisa.type.common.Int64
 
isIntegral() - Method in class it.unive.lisa.type.common.Int8
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt16
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt32
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt64
 
isIntegral() - Method in class it.unive.lisa.type.common.UInt8
 
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.CFGDescriptor
Yields true if and only if the cfg associated to this descriptor is can be overridden by cfgs in Units that inherit for the cfg's unit.
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.
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() - 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.ExpressionSet
 
isTop() - Method in class it.unive.lisa.analysis.nonrelational.Environment
Yields true if and only if this object represents the top of the lattice.
isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
 
isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
isTop() - Method in class it.unive.lisa.analysis.StatementStore
 
isTop() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
 
isTypeTokenType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of TypeTokenType.
isUnitType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of UnitType.
isUnsigned() - Method in class it.unive.lisa.type.common.Float32
 
isUnsigned() - Method in class it.unive.lisa.type.common.Float64
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int16
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int32
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int64
 
isUnsigned() - Method in class it.unive.lisa.type.common.Int8
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt16
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt32
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt64
 
isUnsigned() - Method in class it.unive.lisa.type.common.UInt8
 
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.caches - package it.unive.lisa.caches
 
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.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.call.assignment - package it.unive.lisa.program.cfg.statement.call.assignment
 
it.unive.lisa.program.cfg.statement.call.resolution - package it.unive.lisa.program.cfg.statement.call.resolution
 
it.unive.lisa.program.cfg.statement.call.traversal - package it.unive.lisa.program.cfg.statement.call.traversal
 
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.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.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
 

J

JavaLikeMatchingStrategy - Class in it.unive.lisa.program.cfg.statement.call.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
A report of an executed analysis that can be dumped in json format, and that can be read from a json file.
JsonReport() - Constructor for class it.unive.lisa.outputs.JsonReport
Builds an empty report.
JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.JsonReport
Builds the report, containing the given warnings and files.
JsonReport.JsonWarning - Class in it.unive.lisa.outputs
A warning that is ready to dump into a JsonReport.
JsonReportComparer - Class in it.unive.lisa.outputs.compare
A class providing capabilities for finding differences between two JsonReports.
JsonReportComparer() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer
 
JsonReportComparer.DiffReporter - Interface in it.unive.lisa.outputs.compare
An object that provides callbacks for reporting differences when comparing JsonReports.
JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
An enumeration defining the different type of reports that can be issued.
JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
An enumeration defining the different components of a JsonReport, in order to distinguish which one of them caused a difference being reported.
JsonWarning() - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
Builds an empty warning with no message.
JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
Builds the warning, cloning the information from the given Warning.

K

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.
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.
left - Variable in class it.unive.lisa.analysis.representation.PairRepresentation
The left-most element.
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.
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
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
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
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(AdjacencyMatrix<Statement, Edge, CFG>, 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

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.
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, ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.call.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, ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.call.resolution.JavaLikeMatchingStrategy
 
matches(Call, int, Parameter, Expression, ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.call.resolution.RuntimeTypesMatchingStrategy
 
matches(Call, int, Parameter, Expression, ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.call.resolution.StaticTypesMatchingStrategy
 
matches(Call, Parameter[], Expression[], ExternalSet<Type>[]) - Method in class it.unive.lisa.program.cfg.statement.call.resolution.FixedOrderMatchingStrategy
 
matches(Call, Parameter[], Expression[], ExternalSet<Type>[]) - Method in interface it.unive.lisa.program.cfg.statement.call.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[], ExternalSet<Type>[]) - Method in class it.unive.lisa.program.cfg.statement.call.resolution.PythonLikeMatchingStrategy
 
matchesSignature(CFGDescriptor) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
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.
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<N, E, G>) - 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.
MetaVariableCreator - Interface in it.unive.lisa.program.cfg.statement
Objects implementing this interface will produce a meta-variable to represent the value that they produce on the stack during the computation of their semantic.
MILLIS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as milliseconds.
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.
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.
mkDotFile(String, 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.
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.
Module - 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 CFGs and/or NativeCFGs under analysis, implemented through a sequence of calls.
MultiCall(CFG, CodeLocation, ParameterAssigningStrategy, 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, ParameterAssigningStrategy, 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(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.
Multiplication - Class in it.unive.lisa.program.cfg.statement.numeric
An expression modeling the multiplication operation (*).
Multiplication - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a multiplication between its operands.
Multiplication(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Multiplication
Builds the multiplication.
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, ParameterAssigningStrategy, 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, ParameterAssigningStrategy, 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(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(CFGDescriptor, 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(CallGraphNode, CallGraphNode) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
Builds a new instance of this edge, connecting the given nodes.
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
 
Node<N extends Node<N,​E,​G>,​E extends Edge<N,​E,​G>,​G extends Graph<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
A node of a Graph.
NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
The default shape of a node.
noneMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields true iff none of the elements contained in this set satisfy the given predicate.
NonRelationalDomain<T extends NonRelationalDomain<T,​E,​F>,​E extends SymbolicExpression,​F extends FunctionalLattice<F,​Identifier,​T>> - Interface in it.unive.lisa.analysis.nonrelational
A 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}.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
NumericType - Interface in it.unive.lisa.type
Numeric type interface.

O

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.cfg.statement.call.assignment
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.
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.CFGDescriptor
Yields the collection of CodeMember that override the cfg associated with this descriptor.
overrides() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Yields the collection of CodeMember that the cfg associated with this descriptor overrides.

P

PairRepresentation - Class in it.unive.lisa.analysis.representation
A DomainRepresentation in the form of a pair of elements.
PairRepresentation(DomainRepresentation, DomainRepresentation) - Constructor for class it.unive.lisa.analysis.representation.PairRepresentation
Builds a new representation containing the given pair of elements.
PairRepresentation(L, R, Function<L, DomainRepresentation>, Function<R, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.PairRepresentation
Builds a new representation starting from the given pair of elements.
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.cfg.statement.call.assignment
A strategy for assigning parameters at call sites.
ParameterMatchingStrategy - Interface in it.unive.lisa.program.cfg.statement.call.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.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.cfg.statement.call.assignment.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.cfg.statement.call.assignment.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.cfg.statement.call.assignment.PythonLikeAssigningStrategy
 
preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
 
preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Callback that is invoked on a node before simplifying it.
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
 
Program - Class in it.unive.lisa.program
A program that LiSA can analyze.
Program() - Constructor for class it.unive.lisa.program.Program
Builds an empty program.
PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
The name of the program.
ProgramPoint - Interface in it.unive.lisa.program.cfg
A program point, representing an instruction that is happening in one of the CFG under analysis.
ProgramValidationException - Exception in it.unive.lisa.program
A generic Exception that indicates that something has gone wrong while validating a Program's structure or when computing unit's hierarchies and cfgs' overridings.
ProgramValidationException() - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String, Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
push(E) - Method in class it.unive.lisa.util.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.cfg.statement.call.assignment
A Python-like assigning strategy.
PythonLikeMatchingStrategy - Class in it.unive.lisa.program.cfg.statement.call.resolution
A Python-like matching strategy.
PythonLikeMatchingStrategy(FixedOrderMatchingStrategy) - Constructor for class it.unive.lisa.program.cfg.statement.call.resolution.PythonLikeMatchingStrategy
Builds the strategy.
pythonLogic(Parameter[], Expression[], T[], ExternalSet<Type>[], T[], ExternalSet<Type>[], T[], ExternalSet<Type>[], F) - Static method in class it.unive.lisa.program.cfg.statement.call.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.JsonReport
Reads a JsonReport from a Reader instance, deserializing it as a json object.
readDot(Reader) - Static method in class it.unive.lisa.outputs.DotGraph
Reads a graph through the given Reader.
reduce(T, 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(ExternalSet<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.program.Program
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.
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.AdjacencyMatrix
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.
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() - 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.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, ExternalSet<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
resolve(UnresolvedCall, ExternalSet<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, ExternalSet<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
resolveInstance(UnresolvedCall, ExternalSet<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, ExternalSet<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Resolves the given call as regular (non-instance) call.
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
 
right - Variable in class it.unive.lisa.analysis.representation.PairRepresentation
The right-most element.
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.cfg.statement.call.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[], ExternalSet[]) 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, NumericType) - Static method in interface it.unive.lisa.type.NumericType
Checks if two implementations of NumericType represent the same type, and can thus be used interchangeably.
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.
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(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
Builds the edge.
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>) - Constructor for class it.unive.lisa.analysis.lattices.SetLattice
Builds the lattice.
setMessage(String) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
Sets the message of this warning.
setOffset(int) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
 
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.Node
Sets the offset of this node to the given value, and then proceeds by setting the one of its nested nodes (if any) to subsequent values.
setOriginatingStatement(Statement) - Method in interface it.unive.lisa.program.cfg.statement.PluggableStatement
Sets the original Statement that got rewritten by theis pluggable statement.
setOverridable(boolean) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
Sets whether or not the cfg associated to this descriptor can be overridden.
setParentStatement(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
Sets the Statement that contains this expression.
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(ExternalSet<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.Graph
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.AdjacencyMatrix
Simplifies this matrix, removing all the given nodes and rewriting the edge set accordingly.
SingleInheritanceTraversalStrategy - Class in it.unive.lisa.program.cfg.statement.call.traversal
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.cfg.statement.call.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[], ExternalSet[]) 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
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
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
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
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)
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)
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.
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
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
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
StringType - Class in it.unive.lisa.type.common
An implementation of the StringType.
StringType - Interface in it.unive.lisa.type
String type interface.
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, NumericType) - Static method in interface it.unive.lisa.type.NumericType
Determines which of the two NumericTypes 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(Function<CallGraphNode, String>) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
toDot(Function<Statement, String>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
 
toDot(Function<Statement, String>) - Method in class it.unive.lisa.program.cfg.CFG
 
toDot(Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
Converts this graph to a DotGraph instance.
top() - Method in class it.unive.lisa.analysis.AnalysisState
 
top() - Method in class it.unive.lisa.analysis.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_REPR - Static variable in interface it.unive.lisa.analysis.Lattice
A DomainRepresentation that can be used to represent top values.
TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
A string constant that can be used to represent top values.
toString() - Method in class it.unive.lisa.analysis.AnalysisState
 
toString() - Method in class it.unive.lisa.analysis.BaseLattice
 
toString() - Method in class it.unive.lisa.analysis.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.inference.InferredValue.InferredPairRepresentation
 
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.MapRepresentation
 
toString() - Method in class it.unive.lisa.analysis.representation.PairRepresentation
 
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.DotGraph
 
toString() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
 
toString() - Method in class it.unive.lisa.outputs.JsonReport
 
toString() - Method in class it.unive.lisa.program.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.CFGDescriptor
 
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.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.Float32
 
toString() - Method in class it.unive.lisa.type.common.Float64
 
toString() - Method in class it.unive.lisa.type.common.Int16
 
toString() - Method in class it.unive.lisa.type.common.Int32
 
toString() - Method in class it.unive.lisa.type.common.Int64
 
toString() - Method in class it.unive.lisa.type.common.Int8
 
toString() - Method in class it.unive.lisa.type.common.StringType
 
toString() - Method in class it.unive.lisa.type.common.UInt16
 
toString() - Method in class it.unive.lisa.type.common.UInt32
 
toString() - Method in class it.unive.lisa.type.common.UInt64
 
toString() - Method in class it.unive.lisa.type.common.UInt8
 
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.Graph
 
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.
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(Call, CompilationUnit) - Method in interface it.unive.lisa.program.cfg.statement.call.traversal.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 call targets.
traverse(Call, CompilationUnit) - Method in class it.unive.lisa.program.cfg.statement.call.traversal.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.
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.
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
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.
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.
typeInference(ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
 
typeInference(ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
typeInference(ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
 
typeInference(ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
 
typeInference(ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
 
typeInference(ExternalSet<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(ExternalSet<Type>, ExternalSet<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(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
 
typeInference(ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
 
typeInference(ExternalSet<Type>, ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
 
typeInference(ExternalSet<Type>, ExternalSet<Type>, ExternalSet<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
 
typeInference(ExternalSet<Type>, ExternalSet<Type>, ExternalSet<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
TypeOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation manipulating the types of concrete values.
typeRepresentation() - Method in interface it.unive.lisa.analysis.AbstractState
Yields a DomainRepresentation of the information contained in this domain's instance.
typeRepresentation() - Method in class it.unive.lisa.analysis.AnalysisState
Yields a DomainRepresentation of the information contained in this domain's instance.
typeRepresentation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
 
types() - Static method in class it.unive.lisa.caches.Caches
Yields the globally defined cache for ExternalSets containing Types.
TypeTokenType - Class in it.unive.lisa.type
The type of type tokens, used as reference to types in code.
TypeTokenType(ExternalSet<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
Builds the type token representing the given types.

U

UInt16 - Class in it.unive.lisa.type.common
An unsigned 16-bit integral NumericType.
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.
UInt32 - Class in it.unive.lisa.type.common
An unsigned 32-bit integral NumericType.
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.
UInt64 - Class in it.unive.lisa.type.common
An unsigned 64-bit integral NumericType.
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.
UInt8 - Class in it.unive.lisa.type.common
An unsigned 8-bit integral NumericType.
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.
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 CompilationUnit.
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.
UnresolvedCall - Class in it.unive.lisa.program.cfg.statement.call
A call that happens inside the program to analyze.
UnresolvedCall(CFG, CodeLocation, ParameterAssigningStrategy, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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, ParameterAssigningStrategy, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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, ParameterAssigningStrategy, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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, ParameterAssigningStrategy, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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.
UnresolvedCall(CFG, CodeLocation, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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, ParameterMatchingStrategy, HierarcyTraversalStrategy, 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.
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(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Validates this matrix, ensuring that the it is well formed.
validateAndFinalize() - Method in class it.unive.lisa.program.CompilationUnit
Validates this unit, ensuring its consistency.
validateAndFinalize() - Method in class it.unive.lisa.program.Program
Validates this unit, ensuring its consistency.
validateAndFinalize() - Method in class it.unive.lisa.program.Unit
Validates this unit, ensuring its consistency.
ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis.value
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations.
ValueEnvironment<T extends NonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
An environment for a NonRelationalValueDomain, that maps Identifiers to instances of such domain.
ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
Builds an empty environment.
ValueExpression - Class in it.unive.lisa.symbolic.value
A symbolic expression that represents an operation on the program's state.
ValueExpression(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.
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, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits an AccessChild.
visit(HeapAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a HeapAllocation.
visit(HeapDereference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
Visits a HeapDereference.
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, 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 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 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 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 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, 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, 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.
visitCompilationUnit(T, CompilationUnit) - Method in interface it.unive.lisa.checks.Check
Visits the given compilation unit.
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.
VoidType - Class in it.unive.lisa.type
The void 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(CFGDescriptor, 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(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(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(D) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
 
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.
wideningAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
 
wideningAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
 
WorkingSet<E> - Interface in it.unive.lisa.util.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