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
All Classes All Packages
All Classes All Packages
A
- ABSTRACT_METHODS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
AbstractCodeMember
s in non-AbstractClassUnit
s. - ABSTRACT_NON_INSTANCE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
AbstractCodeMember
that is not instance. - ABSTRACT_SEALED_UNIT - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for sealed
AbstractClassUnit
s. - AbstractClassUnit - Class in it.unive.lisa.program
-
A compilation unit of the program to analyze.
- AbstractClassUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.AbstractClassUnit
-
Builds a concrete compilation unit, defined at the given program point.
- AbstractCodeMember - Class in it.unive.lisa.program.cfg
-
A signature control flow graph, that has no graph implementation but just its signature.
Note that this class does not implementObject.equals(Object)
norObject.hashCode()
since all cfgs are unique. - AbstractCodeMember(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.AbstractCodeMember
-
Builds the signature control flow graph.
- AbstractState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations.
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Accepts an
ExpressionVisitor
, visiting this expression recursively. - accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Constant
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.PushAny
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Skip
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Variable
- accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Accepts the given
GraphVisitor
. - accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Accepts the given
GraphVisitor
. - accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Node
-
Accepts the given
GraphVisitor
. - accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.edge.Edge
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Ret
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- AccessChild - Class in it.unive.lisa.symbolic.heap
-
An expression that accesses a memory location that is a child of another one, that is, the former is reachable from the latter.
- AccessChild(Type, SymbolicExpression, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.AccessChild
-
Builds the child access.
- AccessGlobal - Class in it.unive.lisa.program.cfg.statement.global
- 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
- AccessInstanceGlobal(CFG, CodeLocation, Expression, String) - Constructor for class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Builds the global access, happening at the given location in the program.
- add(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this + other
. - add(T) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- add(T) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAll(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Adds to this set all elements contained into
other
. - addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
- addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new
CompilationUnit
as direct inheritance ancestor (i.e., superclass, interface, or superinterface) of this unit. - addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.annotations.Annotations
-
Adds an annotations to this annotation collection.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Adds an annotations to this descriptor.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.Parameter
-
Adds an annotations to this parameter.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Adds an annotation to the annotations of this variable table entry.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds an annotation to the annotations of this compilation unit.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.Global
-
Adds an annotation to the annotations of this global.
- addAnnotation(Annotation) - Method in class it.unive.lisa.symbolic.value.Identifier
-
Adds an annotation to the annotations of this identifier.
- addCodeMember(CodeMember) - Method in class it.unive.lisa.program.Unit
-
Adds a new
CodeMember
, identified by its signature (CodeMemberDescriptor.getSignature()
), to this unit. - addControlFlowStructure(ControlFlowStructure) - Method in class it.unive.lisa.program.cfg.CFG
-
Adds the given
ControlFlowStructure
to the ones contained in this cfg. - addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Adds an edge to this matrix.
- addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- addEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Adds an edge to this list.
- addEdge(E) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Adds an edge to this graph.
- addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.DotGraph
-
Adds an edge to the graph.
- addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Adds an edge to the graph.
- addEdge(SerializableEdge) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Adds the given edge to the graph.
- addEntryPoint(CFG) - Method in class it.unive.lisa.program.Program
-
Adds a new
CFG
to the entry points of this program. - addGlobal(Global) - Method in class it.unive.lisa.program.Unit
-
Adds a new
Global
, identified by its name (Global.getName()
), to this unit. - addInstance(Unit) - Method in class it.unive.lisa.program.ClassUnit
- addInstance(Unit) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds the given unit as an instance of this one, thus marking the former as a type that inherits from the latter.
- addInstance(Unit) - Method in class it.unive.lisa.program.InterfaceUnit
- addInstanceCodeMember(CodeMember) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new instance
CodeMember
, identified by its signature (CodeMemberDescriptor.getSignature()
), to this unit. - addInstanceGlobal(Global) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new instance
Global
, identified by its name (Global.getName()
), to this unit. - addInterface(InterfaceUnit) - Method in class it.unive.lisa.program.ClassUnit
-
Adds a new
InterfaceUnit
as interface of this unit. - Addition - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the addition operation (
+
). - Addition(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Addition
-
Builds the addition.
- AdditionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs an addition between its operands.
- addNode(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Adds the given node to the graph.
- addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.DotGraph
-
Adds a node to the graph.
- addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Adds a node to the graph.
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Adds the given node to the set of nodes.
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Adds the given node to the list of nodes.
- addNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes.
- addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- addNode(N, boolean) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, root).
- addNodeDescription(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Adds the given node description to the graph.
- addSource(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifier
to the set of identifiers that are the sources of this replacement. - addSuperclass(ClassUnit) - Method in class it.unive.lisa.program.ClassUnit
-
Adds a new
ClassUnit
as superclass of this unit. - addSuperinterface(InterfaceUnit) - Method in class it.unive.lisa.program.InterfaceUnit
-
Adds the given
InterfaceUnit
to the list of direct ancestors of this interface. - addTarget(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifier
to the set of identifiers that are the targets of this replacement. - addUnit(Unit) - Method in class it.unive.lisa.program.Program
-
Adds a new
ClassUnit
, identified by its name (Unit.getName()
), to this program. - addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Adds a
VariableTableEntry
at the end of the variable table. - adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
- AdjacencyMatrix<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
- AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Builds a new matrix.
- AdjacencyMatrix(AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Copies the given matrix by shallow-copying the
Node
s and deep-copying the values. - AdjacencyMatrix.NodeEdges<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
-
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
- afterExecution(T) - Method in interface it.unive.lisa.checks.Check
-
Callback invoked only once after the end of the inspection of the program.
- alias(Symbol, Symbol) - Method in class it.unive.lisa.analysis.AnalysisState
-
Registers an alias for the given symbol.
- Aliases - Class in it.unive.lisa.analysis.symbols
-
A
SetLattice
ofSymbol
s to be used as aliases. - Aliases() - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds an empty set of aliases, representing the top of the lattice.
- Aliases(Symbol) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds the set of aliases.
- Aliases(Set<Symbol>) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds the set of aliases.
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.BoolType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int16Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int8Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.StringType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt16Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt8Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.NullType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.ReferenceType
- allInstances(TypeSystem) - Method in interface it.unive.lisa.type.Type
-
Yields all possible instances of this type, including itself.
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.TypeTokenType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.Untyped
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.VoidType
- allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
true
iff all the elements contained in this set satisfy the given predicate. - allStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields all the
Statement
s contained in this structure, including the condition and the first follower. - AnalysisException - Exception in it.unive.lisa
-
A generic
Exception
that indicates that something has gone wrong during the analysis. - AnalysisException() - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(String) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisException(Throwable) - Constructor for exception it.unive.lisa.AnalysisException
-
Builds the exception.
- AnalysisExecutionException - Exception in it.unive.lisa
-
A generic
RuntimeException
that indicates that something has gone wrong during the analysis. - AnalysisExecutionException() - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisSetupException - Exception in it.unive.lisa
-
An
AnalysisException
that happens during the setup of the analysis. - AnalysisSetupException() - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(String) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
The abstract analysis state at a given program point.
- AnalysisState(A, ExpressionSet<SymbolicExpression>, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, SymbolicExpression, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- and(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical and between this satisfiability and the given one.
- And - Class in it.unive.lisa.program.cfg.statement.logic
-
An expression modeling the logical conjunction (
&&
orand
). - And(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.And
-
Builds the logical conjunction.
- Annotation - Class in it.unive.lisa.program.annotations
-
A single annotation.
- Annotation(String) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name .
- Annotation(String, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name.
- Annotation(String, List<AnnotationMember>) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name and its members that cannot be inherited.
- Annotation(String, List<AnnotationMember>, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name and its members.
- AnnotationMatcher - Interface in it.unive.lisa.program.annotations.matcher
-
Interface for an annotation matcher.
- AnnotationMember - Class in it.unive.lisa.program.annotations
-
A member of an annotation.
- AnnotationMember(String, AnnotationValue) - Constructor for class it.unive.lisa.program.annotations.AnnotationMember
-
Builds an annotation member from its identifier and its annotation value.
- Annotations - Class in it.unive.lisa.program.annotations
-
A collection of annotations.
- Annotations() - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds an empty list of annotations.
- Annotations(Annotation) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations containing only the given one.
- Annotations(Annotation...) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations from an array of annotations.
- Annotations(Collection<Annotation>) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations from a given collection.
- AnnotationValue - Interface in it.unive.lisa.program.annotations.values
-
An annotation value.
- anyMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
true
iff at least one element contained in this set satisfies the given predicate. - Application - Class in it.unive.lisa.program
-
An complete application, collecting several
Program
s that need to be analyzed together. - Application(Program...) - Constructor for class it.unive.lisa.program.Application
-
Builds the application.
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.interprocedural.OpenCallPolicy
-
Applies the policy to the given open call.
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.ReturnTopPolicy
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.WorstCasePolicy
- applySubstitution(List<HeapSemanticOperation.HeapReplacement>, ProgramPoint) - Method in interface it.unive.lisa.analysis.value.ValueDomain
-
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in the
HeapDomain
of the analysis. - ArithmeticOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A numerical operation on operand(s) of type
NumericType
. - ArrayAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An array annotation value.
- ArrayAnnotationValue(BasicAnnotationValue[]) - Constructor for class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
-
Builds an array annotation value.
- ArrayType - Interface in it.unive.lisa.type
-
Array type interface.
- asArrayType() - Method in interface it.unive.lisa.type.Type
- asBooleanType() - Method in interface it.unive.lisa.type.Type
- asInMemoryType() - Method in interface it.unive.lisa.type.Type
- asNullType() - Method in interface it.unive.lisa.type.Type
- asNumericType() - Method in interface it.unive.lisa.type.Type
- asPointerType() - Method in interface it.unive.lisa.type.Type
- asReferenceType() - Method in interface it.unive.lisa.type.Type
- assign(I, E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, where
id
has been assigned tovalue
. - 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 tovalue
: ifid
is not anIdentifier
, 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
totarget
, 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
totarget
, 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
totarget
, 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
totarget
, happening at the given location in the program. - asStringType() - Method in interface it.unive.lisa.type.Type
- 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 expressionexpression
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 operatoroperator
, left argumentleft
, and right argumentright
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 operatoroperator
, left argumentleft
, and right argumentright
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 operatoroperator
, left argumentleft
, middle argumentmiddle
,and right argumentright
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 operatoroperator
, left argumentleft
, middle argumentmiddle
,and right argumentright
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 operatoroperator
and argumentexpression
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 operatoroperator
and argumentexpression
holds. - asTypeTokenType() - Method in interface it.unive.lisa.type.Type
- asUnitType() - Method in interface it.unive.lisa.type.Type
- asUntyped() - Method in interface it.unive.lisa.type.Type
- asVoidType() - Method in interface it.unive.lisa.type.Type
B
- BaseCallGraph - Class in it.unive.lisa.interprocedural.callgraph
-
An instance of
CallGraph
that provides the basic mechanism to resolveUnresolvedCall
s.
The graph underlying this call graph is built lazily through each call to resolve: querying for information about the graph before the completion of the analysis might lead to wrong results. - BaseCallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- BaseGraph<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
-
A generic
Graph
, backed by anAdjacencyMatrix
.
Note that this class does not defineObject.equals(Object)
norObject.hashCode()
, since we leave the decision to be unique instances to implementers. - BaseGraph() - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Builds the graph.
- BaseGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Clones the given graph.
- BaseGraph(Collection<N>, AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Builds the graph.
- BaseHeapDomain<H extends BaseHeapDomain<H>> - Class in it.unive.lisa.analysis.heap
-
A base implementation of the
HeapDomain
interface, handling base cases ofBaseHeapDomain.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
InferredValue
s. - BaseInferredValue() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- BaseInferredValue.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.inference
-
A
ExpressionVisitor
forBaseInferredValue
instances. - 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
NonRelationalTypeDomain
s. - BaseNonRelationalTypeDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- BaseNonRelationalTypeDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
-
A
ExpressionVisitor
forBaseNonRelationalTypeDomain
instances. - BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalValueDomain
s. - BaseNonRelationalValueDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- BaseNonRelationalValueDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
-
A
ExpressionVisitor
forBaseNonRelationalValueDomain
instances. - BaseValidationLogic - Class in it.unive.lisa.program.language.validation
-
A simple implementation of
ProgramValidationLogic
, providing the minimum reasoning for considering aProgram
valid for LiSA. - BaseValidationLogic() - Constructor for class it.unive.lisa.program.language.validation.BaseValidationLogic
- BasicAnnotationMatcher - Class in it.unive.lisa.program.annotations.matcher
-
An annotation matcher based on the annotation name.
- BasicAnnotationMatcher(Annotation) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
-
Builds the matcher from the name of the annotation.
- BasicAnnotationMatcher(String) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
-
Builds the matcher from the name of the annotation.
- BasicAnnotationValue - Interface in it.unive.lisa.program.annotations.values
-
Abstract class representing a basic annotation value, namely annotation values that can be inside an
ArrayAnnotationValue
. - beforeExecution(T) - Method in interface it.unive.lisa.checks.Check
-
Callback invoked only once before the beginning of the inspection of the program.
- BinaryExpression - Class in it.unive.lisa.program.cfg.statement
-
An
NaryExpression
with exactly two sub-expressions. - BinaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
BinaryOperator
to twoSymbolicExpression
s. - 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 ofSymbolicExpression
. - 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 to1
only if the corresponding bits of both operands are1
) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType
- BitwiseAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
-
Builds the type.
- BitwiseNegation - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a numeric value, a
UnaryExpression
using this operator computes the bitwise negation (i.e., flipping every single bit independently) of that value.
Argument expression type:NumericType
Computed expression type:NumericType
(same as argument) - BitwiseNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
-
Builds the type.
- BitwiseOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that treats its operand(s) as bit vectors, operating on each bit individually.
- BitwiseOr - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the OR operation (i.e., setting each bit to1
only if at least one of the corresponding bits of the operands are1
) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType
- BitwiseOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
-
Builds the type.
- BitwiseShiftLeft - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes a new number built with the bits of the first argument's value shifted to the left by an amount specified by the second argument's value. - BitwiseShiftLeft() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
-
Builds the type.
- BitwiseShiftRight - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes a new number built with the bits of the first argument's value shifted to the right by an amount specified by the second argument's value. - BitwiseShiftRight() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
-
Builds the type.
- BitwiseUnsignedShiftRight - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes a new number built with the bits of the first argument's value shifted to the right by an amount specified by the second argument's value. - BitwiseUnsignedShiftRight() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
-
Builds the type.
- BitwiseXor - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the XOR operation (i.e., setting each bit to1
only the corresponding bits of the operands are different) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType
- BitwiseXor() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
-
Builds the type.
- bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields all the
Statement
s contained in the body of this structure (thus excluding the condition and the first follower). - bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- BoolAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A Boolean annotation value.
- BoolAnnotationValue(boolean) - Constructor for class it.unive.lisa.program.annotations.values.BoolAnnotationValue
-
Builds a Boolean annotation value.
- BooleanType - Interface in it.unive.lisa.type
-
Boolean type interface.
- BoolType - Class in it.unive.lisa.type.common
-
An internal implementation of the
BooleanType
. - BoolType() - Constructor for class it.unive.lisa.type.common.BoolType
-
Builds the type.
- bottom() - Method in class it.unive.lisa.analysis.AnalysisState
- bottom() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- bottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- bottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the bottom element of this lattice.
- bottom() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- bottom() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- bottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- bottom() - Method in class it.unive.lisa.analysis.StatementStore
- bottom() - Method in class it.unive.lisa.analysis.symbols.Aliases
- bottom() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- BOTTOM - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that the satisfiability evaluation resulted in an error.
- BOTTOM_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent bottom values.
- bottomRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
-
Yields a fresh
DomainRepresentation
that can be used to represent bottom values. - build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators for the given graph.
- ByteAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A byte annotation value.
- ByteAnnotationValue(byte) - Constructor for class it.unive.lisa.program.annotations.values.ByteAnnotationValue
-
Builds a byte annotation value.
C
- Call - Class in it.unive.lisa.program.cfg.statement.call
-
A call to another cfg.
- Call(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.Call
-
Builds a call happening at the given source location.
- Call.CallType - Enum in it.unive.lisa.program.cfg.statement.call
-
Possible types of a call, identifying the type of targets (instance or static) it can have.
- CallGraph - Interface in it.unive.lisa.interprocedural.callgraph
-
A callgraph of the program to analyze, that knows how to resolve dynamic targets of
UnresolvedCall
s. - 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
CallGraphNode
s in aBaseCallGraph
. - 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 singleCodeMember
. - CallGraphNode(BaseCallGraph, CodeMember) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphNode
-
Builds the node.
- CallResolutionException - Exception in it.unive.lisa.interprocedural.callgraph
-
An exception that occurred while resolving an
UnresolvedCall
. - CallResolutionException() - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(String) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallWithResult - Class in it.unive.lisa.program.cfg.statement.call
-
A call that evaluate its result directly.
- CallWithResult(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CallWithResult
-
Builds the call, happening at the given location in the program.
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.BoolType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int16Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int8Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.StringType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt16Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt8Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.NullType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.ReferenceType
- canBeAssignedTo(Type) - Method in interface it.unive.lisa.type.Type
-
Determines if the type represented by this
Type
object is either the same as, or is a subtype of, the type represented byother
. - canBeAssignedTo(Type) - Method in class it.unive.lisa.type.TypeTokenType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.Untyped
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.VoidType
- canBeInstantiated() - Method in class it.unive.lisa.program.AbstractClassUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.ClassUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.CodeUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.InterfaceUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.Program
- canBeInstantiated() - Method in class it.unive.lisa.program.Unit
-
Yields
true
if this unit can be instantiated,false
otherwise (e.g., interfaces, abstract classes). - CANNOT_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for the overriding of a non-overridable
CodeMember
. - canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
-
Yields
true
if the domain can processexpression
,false
otherwise. - CanRemoveReceiver - Interface in it.unive.lisa.program.cfg.statement.call
-
Marker for
Call
s whose first parameter can be removed. - cast(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
-
Simulates a cast operation, where an expression with possible runtime types
types
is being cast to one of the possible type tokens intokens
. - cast(Set<Type>, Set<Type>, AtomicBoolean) - Method in class it.unive.lisa.type.TypeSystem
-
Simulates a cast operation, where an expression with possible runtime types
types
is being cast to one of the possible type tokens intokens
. - 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
- CFG(CFG) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Clones the given control flow graph.
- CFG(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFG(CodeMemberDescriptor, Collection<Statement>, NodeList<CFG, Statement, Edge>) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFGCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call to one or more of the CFGs under analysis.
- CFGCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(CFG, CodeLocation, Call.CallType, String, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(UnresolvedCall, Collection<CFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Creates a cfg call as the resolved version of the given
source
call, copying all its data. - CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
- CFGDescriptorWarning(CodeMemberDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
-
Builds the warning.
- cfgMatrix - Variable in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
The matrix of the cfg containing this structure.
- CFGWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the CFGs under analysis.
- CFGWarning(CFG, String) - Constructor for class it.unive.lisa.checks.warnings.CFGWarning
-
Builds the warning.
- CFGWithAnalysisResults<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
- CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, Map<Statement, AnalysisState<A, H, V, T>>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CFGWithAnalysisResults(CFG, StatementStore<A, H, V, T>, StatementStore<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CharAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A char annotation value.
- CharAnnotationValue(char) - Constructor for class it.unive.lisa.program.annotations.values.CharAnnotationValue
-
Builds a char annotation value.
- Check<T> - Interface in it.unive.lisa.checks
-
A check that inspects the syntactic structure of the program to report warnings.
- checkMember(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing, CodeMember, boolean) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Checks if the given code member
cm
is a candidate target for the given call, and proceeds to add it to the set of targets if it is. - ChecksExecutor - Class in it.unive.lisa.checks
-
Utility class that handles the execution of
Check
s. - CheckTool - Class in it.unive.lisa.checks.syntactic
-
An auxiliary tool that can be used by checks during their execution.
- CheckTool() - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool.
- CheckTool(CheckTool) - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool, shallow-copying the set of warnings from the given one.
- CheckToolWithAnalysisResults<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.checks.semantic
-
An extension of
CheckTool
that also contains the results of the fixpoint computation. - CheckToolWithAnalysisResults(CheckTool, Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, copying the given tool and storing the given results.
- CheckToolWithAnalysisResults(Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, storing the given results.
- ClassUnit - Class in it.unive.lisa.program
-
A
CompilationUnit
representing a concrete class that can be instantiated. - ClassUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.ClassUnit
-
Builds a compilation unit, defined at the given program point.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- clear() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Cleans the cache, removing all elements.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- CodeEdge<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph.code
- CodeElement - Interface in it.unive.lisa.program
-
Interface for code elements that have to provide information about the location where they appear.
- CodeGraph<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
- CodeGraph(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Builds the graph.
- CodeGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Clones the given graph.
- CodeGraph(Collection<N>, NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Builds the graph.
- CodeLocation - Interface in it.unive.lisa.program.cfg
-
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
- CodeMember - Interface in it.unive.lisa.program.cfg
-
A program member that has code within it.
- CodeMemberDescriptor - Class in it.unive.lisa.program.cfg
-
A descriptor of a
CodeMember
, containing the debug informations (source file, line, column) as well as metadata. - CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor with
Untyped
return type. - CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor.
- CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor.
- CodeNode<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph.code
- CodeUnit - Class in it.unive.lisa.program
-
A file-based unit of the program to analyze, that logically groups code in files or modules.
- CodeUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.CodeUnit
-
Builds a unit, defined at the given location.
- collect() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a concrete list containing all the elements corresponding to the bits in this set.
- collect(T...) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Stores the given objects into a collection and returns it.
- CollectionsDiffBuilder<T> - Class in it.unive.lisa.util.collections
-
An utility class that can compute the difference between two collections containing the same object types.
- CollectionsDiffBuilder(Class<T>, Collection<T>, Collection<T>) - Constructor for class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Builds the diff builder.
- CollectionUtilities - Class in it.unive.lisa.util.collections
-
Utility methods for operations on
Collection
s. - COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color attribute name.
- COLOR_BLACK - Static variable in class it.unive.lisa.outputs.DotGraph
-
The black color.
- COLOR_BLUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The blue color.
- COLOR_GRAY - Static variable in class it.unive.lisa.outputs.DotGraph
-
The gray color.
- COLOR_RED - Static variable in class it.unive.lisa.outputs.DotGraph
-
The red color.
- COMMON - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present in both reports.
- commonNumericalType(Set<Type>, Set<Type>) - Static method in interface it.unive.lisa.type.NumericType
-
Computes the set of
Type
s representing the common ones among the given sets. - commonSupertype(Type) - Method in class it.unive.lisa.type.common.BoolType
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int16Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int8Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.StringType
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt16Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt8Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.NullType
- commonSupertype(Type) - Method in class it.unive.lisa.type.ReferenceType
- commonSupertype(Type) - Method in interface it.unive.lisa.type.Type
-
Yields the most specific common supertype between this
Type
and the given one. - commonSupertype(Type) - Method in class it.unive.lisa.type.TypeTokenType
- commonSupertype(Type) - Method in class it.unive.lisa.type.Untyped
- commonSupertype(Type) - Method in class it.unive.lisa.type.VoidType
- commonSupertype(Collection<Type>, Type) - Static method in interface it.unive.lisa.type.Type
-
Yields the most specific common supertype of the given collection of types by successive invocations of
Type.commonSupertype(Type)
between its elements. - compare(JsonReport, JsonReport, File, File) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compare(JsonReport, JsonReport, File, File, JsonReportComparer.DiffReporter) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compareTo(DomainRepresentation) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.UnitWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.Warning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- compareTo(JsonReport.JsonWarning) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- compareTo(SerializableEdge) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- compareTo(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- compareTo(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SyntheticLocation
- compareTo(Edge) - Method in class it.unive.lisa.program.cfg.edge.Edge
- compareTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
- compareTo(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
- ComparisonEq - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, a
BinaryExpression
using this operator checks if the values those expressions compute to are different. - ComparisonEq() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
-
Builds the type.
- ComparisonGe - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator checks if the value of the first argument is greater or equal than the value of the right-hand side.
First argument expression type:NumericType
Second argument expression type:NumericType
Computed expression type:BooleanType
- ComparisonGe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
-
Builds the type.
- ComparisonGt - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator checks if the value of the first argument is greater than the value of the second argument.
First argument expression type:NumericType
Second argument expression type:NumericType
Computed expression type:BooleanType
- ComparisonGt() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
-
Builds the type.
- ComparisonLe - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator checks if the value of the first argument is less or equal than the value of the right-hand side.
First argument expression type:NumericType
Second argument expression type:NumericType
Computed expression type:BooleanType
- ComparisonLe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
-
Builds the type.
- ComparisonLt - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator checks if the value of the first argument is less than the value of the second argument.
First argument expression type:NumericType
Second argument expression type:NumericType
Computed expression type:BooleanType
- ComparisonLt() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
-
Builds the type.
- ComparisonNe - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, a
BinaryExpression
using this operator checks if the values those expressions compute to are different. - ComparisonNe() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
-
Builds the type.
- ComparisonOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A logical operation on operand(s) of type
BooleanType
. - CompilationUnit - Class in it.unive.lisa.program
-
An unit of the program to analyze that is part of a hierarchical structure.
- CompilationUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.CompilationUnit
-
Builds an unit with super unit.
- CompilationUnitAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A compilation unit annotation value.
- CompilationUnitAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
-
Builds a compilation unit annotation value.
- compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
-
Computes an analysis state that abstracts the result of this call when
parameters
are used as actual parameters, and the state when the call is executed isentryState
. - 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
ifmatcher
matches at least one of this annotations,false
otherwise. - contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields
true
if the given statement is part of the body of this structure. - contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- contains(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- contains(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Determines if this set contains all elements of another if they share the same cache.
- contains(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- contains(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- Contains - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string contains operation.
- Contains(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Contains
-
Builds the contains.
- containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields
true
if the given edge is contained in this matrix. - containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields
true
if the given edge is contained in this list. - containsEdge(E) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields
true
if the given edge is contained in this graph. - containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields
true
if the given node is contained in this matrix. - containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields
true
if the given node is contained in this list. - containsNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields
true
if the given node is contained in this graph. - ControlFlowExtractor - Class in it.unive.lisa.program.cfg.controlFlow
-
An extractor of
ControlFlowStructure
s fromCFG
s. - ControlFlowExtractor(CFG) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
-
Builds the extractor.
- ControlFlowStructure - Class in it.unive.lisa.program.cfg.controlFlow
-
A control flow structure of a
CFG
. - ControlFlowStructure(NodeList<CFG, Statement, Edge>, Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Builds the structure.
- convert(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
-
Simulates a conversion operation, where an expression with possible runtime types
types
is being converted to one of the possible type tokens intokens
. - 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 aBitExternalSet
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 givenCFG
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
Identifier
s in its definition. - DefiniteForwardDataflowDomain<E extends DataflowElement<DefiniteForwardDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomain
for forward and definite dataflow analysis. - DefiniteForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
-
Builds an empty domain.
- deserialize(JsonParser, DeserializationContext) - Method in class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
- diff(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval subtraction between
this
andother
. - difference(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- difference(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a new set obtained from this by removing the given elements.
- distance(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the minimum distance, in terms of number of edges to traverse, between the condition of this structure and the given node.
- distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
- distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
- div(IntInterval, boolean, boolean) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval division between
this
andother
. - divide(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this / other
. - Division - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the division operation (
/
). - Division(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Division
-
Builds the division.
- DivisionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a division between its operands.
- domain - Variable in class it.unive.lisa.analysis.dataflow.DataflowDomain
-
The underlying domain.
- DomainRepresentation - Class in it.unive.lisa.analysis.representation
-
A structured representation of the abstract information present in a single instance of
SemanticDomain
,NonRelationalDomain
,DataflowElement
or other types of domains. - DomainRepresentation() - Constructor for class it.unive.lisa.analysis.representation.DomainRepresentation
- Dominators<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
An algorithms that evaluates the dominators of each node in a graph.
- Dominators() - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators.
- DotGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped into Dot format.
- DotGraph(String) - Constructor for class it.unive.lisa.outputs.DotGraph
-
Builds a graph.
- DoubleAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A double annotation value.
- DoubleAnnotationValue(double) - Constructor for class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
-
Builds a double annotation value.
- dump(Writer) - Method in class it.unive.lisa.outputs.DotGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.GraphmlGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Dumps this graph through the given
Writer
. - dump(Writer) - Method in class it.unive.lisa.outputs.HtmlGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.json.JsonReport
-
Dumps this report to the given
Writer
instance, serializing it as a json object. - dump(Writer) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Dumps this graph, in JSON format through the given
Writer
. - dump(Writer, boolean) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
This method provides the actual implementation for
GraphmlGraph.dump(Writer)
, optionally avoiding the xml formatting (i.e. - DUPLICATE_MEMBER - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for duplicated
CodeMember
s in the sameUnit
.
E
- Edge - Class in it.unive.lisa.program.cfg.edge
-
An edge of a control flow graph, connecting two statements.
- Edge<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
An edge of a
Graph
. - Edge() - Constructor for class it.unive.lisa.program.cfg.edge.Edge
-
Builds an "empty" edge, meaning that it does not have endpoints.
- Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
-
Builds the edge.
- edgeName(long, long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Given the codes for the source and destination edges, builds the name of an edge that can be added to, removed from or retrieved from the wrapped graph.
- elements - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.lattices.SetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.representation.ListRepresentation
-
The elements of contained in this list.
- elements - Variable in class it.unive.lisa.analysis.representation.SetRepresentation
-
The elements of contained in this set.
- elements() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Yields the set of elements contained in this lattice element.
- elements() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Yields the set of elements contained in this lattice element.
- EndsWith - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string endsWith operation.
- EndsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.EndsWith
-
Builds the endsWith.
- entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- EnumAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An enum annotation value.
- EnumAnnotationValue(String, String) - Constructor for class it.unive.lisa.program.annotations.values.EnumAnnotationValue
-
Builds an enum annotation value.
- Environment<M extends Environment<M,E,T,V>,E extends SymbolicExpression,T extends NonRelationalElement<T,E,M>,V extends Lattice<V>> - Class in it.unive.lisa.analysis.nonrelational
-
An environment for a
NonRelationalDomain
, that mapsIdentifier
s to instances of such domain. - Environment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
-
Builds an empty environment.
- Environment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
-
Builds an environment containing the given mapping.
- Equal - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the equality test (
==
). - Equal(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.Equal
-
Builds the equality test.
- equality(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, yields whether or not the most recent one has to be considered equal to the older one in terms of fixpoint iterations.
- equals(C, C, BiPredicate<T, T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Tests if two collections contain the same elements, using a custom equality test to determine if two elements are to be considered equals.
- equals(Object) - Method in class it.unive.lisa.analysis.AnalysisState
- equals(Object) - Method in class it.unive.lisa.analysis.BaseLattice
- equals(Object) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- equals(Object) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.ScopeToken
- equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.UnitWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.Warning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport
- equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotation
- equals(Object) - Method in class it.unive.lisa.program.annotations.AnnotationMember
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotations
- equals(Object) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- equals(Object) - Method in class it.unive.lisa.program.cfg.edge.Edge
- equals(Object) - Method in class it.unive.lisa.program.cfg.Parameter
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.Call
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Expression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Ret
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Statement
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- equals(Object) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- equals(Object) - Method in class it.unive.lisa.program.Global
- equals(Object) - Method in class it.unive.lisa.program.SourceCodeLocation
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- equals(Object) - Method in class it.unive.lisa.symbolic.SymbolicExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Constant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Identifier
- equals(Object) - Method in class it.unive.lisa.symbolic.value.NullConstant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.PushAny
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Skip
- equals(Object) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- equals(Object) - Method in class it.unive.lisa.type.common.BoolType
- equals(Object) - Method in class it.unive.lisa.type.common.Float32Type
- equals(Object) - Method in class it.unive.lisa.type.common.Float64Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int16Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int32Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int64Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int8Type
- equals(Object) - Method in class it.unive.lisa.type.common.StringType
- equals(Object) - Method in class it.unive.lisa.type.common.UInt16Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt32Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt64Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt8Type
- equals(Object) - Method in class it.unive.lisa.type.NullType
- equals(Object) - Method in class it.unive.lisa.type.ReferenceType
- equals(Object) - Method in class it.unive.lisa.type.TypeTokenType
- equals(Object) - Method in class it.unive.lisa.type.Untyped
- equals(Object) - Method in class it.unive.lisa.type.VoidType
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.IterableArray
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- equals(Object) - Method in class it.unive.lisa.util.numeric.IntInterval
- equals(Object) - Method in class it.unive.lisa.util.numeric.MathNumber
- Equals - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string equals operation.
- Equals(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Equals
-
Builds the equals.
- eval(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
-
Evaluates a
SymbolicExpression
, assuming that the values of program variables are the ones stored inenvironment
. - 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 inenvironment
. - 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
applyingoperator
to two expressions whose runtime types areleft
andright
, respectively. - evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
BinaryExpression
applyingoperator
to two expressions whose abstract value areleft
andright
, respectively. - evalBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
BinaryExpression
applyingoperator
to two expressions whose abstract value areleft
andright
, 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
applyingoperator
to two expressions whose runtime types areleft
,middle
andright
, respectively. - evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
TernaryExpression
applyingoperator
to two expressions whose abstract value areleft
,middle
andright
, respectively. - evalTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
TernaryExpression
applyingoperator
to two expressions whose abstract value areleft
,middle
andright
, respectively. - evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type cast expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type conversion expression.
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Evaluates the given sub-expressions according to this order.
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- EvaluationOrder - Interface in it.unive.lisa.program.cfg.statement.evaluation
-
The order of evaluation of the sub-expressions of an
NaryExpression
. - EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a
UnaryExpression
applyingoperator
to an expression whose runtime types isarg
. - evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
. - evalUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
. - execAction(Logger, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, TimeFormat, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execSupplier(Logger, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, TimeFormat, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- executeAll(T, Application, Iterable<C>) - Static method in class it.unive.lisa.checks.ChecksExecutor
-
Executes all the given checks on the given inputs cfgs.
- EXIT_NODE_EXTRA_ATTR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The name of the extra attribute identifying exit nodes.
- EXIT_NODE_EXTRA_VALUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The value of the extra attribute identifying exit nodes.
- EXIT_WITH_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for terminating
Statement
s with followers. - Expression - Class in it.unive.lisa.program.cfg.statement
-
An expression that is part of a statement of the program.
- Expression(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds an untyped expression happening at the given source location, that is its type is
Untyped.INSTANCE
. - Expression(CFG, CodeLocation, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds a typed expression happening at the given source location.
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Computes the semantics of the expression, after the semantics of all sub-expressions have been computed.
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
- ExpressionSet<T extends SymbolicExpression> - Class in it.unive.lisa.analysis.lattices
-
A set lattice containing a set of symbolic expressions.
- ExpressionSet() - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds the empty set lattice element.
- ExpressionSet(Set<T>) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a set lattice element.
- ExpressionSet(T) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a singleton set lattice element.
- ExpressionVisitor<T> - Interface in it.unive.lisa.symbolic
-
A visitor for
SymbolicExpression
s, to be used as parameter toSymbolicExpression.accept(ExpressionVisitor, Object...)
. - 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
ExternalSet
s 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
ControlFlowStructure
s.
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 thefalse
boolean value. - FalseLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.FalseLiteral
-
Builds the literal.
- fields - Variable in class it.unive.lisa.analysis.representation.ObjectRepresentation
-
The fields of this object, with their values.
- FIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A first-in, first-out working set.
- fileDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Callback invoked by a
JsonReportComparer
whenever files from different reports but with matching names have different content. - FileManager - Class in it.unive.lisa.util.file
-
A file manager that provides standard functionalities for communicating with the file system.
- FileManager(String) - Constructor for class it.unive.lisa.util.file.FileManager
-
Builds a new manager that will produce files in the given
workdir
. - FileManager.WriteAction - Interface in it.unive.lisa.util.file
-
A functional interface for a write operation that can throw
IOException
s. - FILES - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated files.
- filter(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a new external set containing only the elements of this set that satisfy the given predicate.
- first() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the first element inside this set.
- first(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Yields the index of the first sub-expression that has to be evaluated.
- first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- FixedOrderMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A resolution strategy that does not permit by-name (e.g.
- FixedOrderMatchingStrategy() - Constructor for class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
- fixpoint(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<A, H, V, T>, Class<? extends WorkingSet<Statement>>, int) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes a fixpoint over the whole control flow graph, producing a
CFGWithAnalysisResults
for eachCFG
contained in this analysis. - fixpoint(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Runs the fixpoint.
- Fixpoint<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>,T> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
A fixpoint algorithm for a
Graph
, parametric to theFixpoint.FixpointImplementation
that one wants to use to compute the results. - Fixpoint(Graph<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Builds a fixpoint for the given
Graph
. - Fixpoint.FixpointImplementation<N,E,T> - Interface in it.unive.lisa.util.datastructures.graph.algorithms
-
Concrete implementation of the general methods used by a fixpoint algorithm to perform.
- FixpointException - Exception in it.unive.lisa.util.datastructures.graph.algorithms
-
An exception raised during the fixpoint computation.
- FixpointException() - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(String) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(String, Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- Float32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit signed
Literal
representing a constant non-integral value. - Float32Literal(CFG, CodeLocation, float) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float32Literal
-
Builds the literal.
- Float32Type - Class in it.unive.lisa.type.common
-
A signed 32-bit floating point
NumericType
. - Float32Type() - Constructor for class it.unive.lisa.type.common.Float32Type
-
Builds the type.
- Float64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit signed
Literal
representing a constant non-integral value. - Float64Literal(CFG, CodeLocation, double) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float64Literal
-
Builds the literal.
- Float64Type - Class in it.unive.lisa.type.common
-
A signed 64-bit floating point
NumericType
. - Float64Type() - Constructor for class it.unive.lisa.type.common.Float64Type
-
Builds the type.
- FloatAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A float annotation value.
- FloatAnnotationValue(float) - Constructor for class it.unive.lisa.program.annotations.values.FloatAnnotationValue
-
Builds a float annotation value.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this matrix going from the given node to such node.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this list going from the given node to such node.
- followersOf(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this control flow graph going from the given node to such node.
- forceDeleteFolder(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Deletes a folder with all of its contents if it exists.
- forget(Statement) - Method in class it.unive.lisa.analysis.StatementStore
-
Removes the stored state for the given statement.
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets an
Identifier
. - forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- forgetIdentifiers(Iterable<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all the given
Identifier
s. - forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- forgetIdentifiersIf(Predicate<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all
Identifier
s that match the given predicate. - forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- format(long) - Method in enum it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos into a string with time units.
- fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Transforms a boolean value to a
SemanticDomain.Satisfiability
instance. - fromCFG(CFG) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
-
Builds a
SerializableGraph
starting from the givenCFG
, with no extra descriptions for the statements. - fromCFG(CFG, Function<Statement, SerializableValue>) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
-
Builds a
SerializableGraph
starting from the givenCFG
, using the given function to generate extra descriptions for each statement. - function - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
The function implemented by this lattice.
- FunctionalLattice<F extends FunctionalLattice<F,K,V>,K,V extends Lattice<V>> - Class in it.unive.lisa.analysis.lattices
-
A generic functional abstract domain that performs the functional lifting of the lattice on the elements of the co-domain.
- FunctionalLattice(V) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds the lattice.
- FunctionalLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds the lattice by cloning the given function.
- FunctionalLattice.FunctionalLift<V extends Lattice<V>> - Interface in it.unive.lisa.analysis.lattices
-
Interface for the lift of lattice elements.
- FunctionalLattice.KeyFunctionalLift<K> - Interface in it.unive.lisa.analysis.lattices
-
Interface for the left of key sets.
- functionalLift(F, FunctionalLattice.KeyFunctionalLift<K>, FunctionalLattice.FunctionalLift<V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the functional lift between
this
andother
.
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 givenid
. - gen(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
The dataflow gen operation, yielding the dataflow elements that are generated by evaluating the given non-assigning
expression
. - generateHtmlViewerSupportFiles(boolean) - Method in class it.unive.lisa.util.file.FileManager
-
Generates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.
- get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the
pos
-th element of this cache. - getAbstractCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
AbstractCodeMember
s defined in this unit. - getAbstractResultOf(CFGCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes an analysis state that abstracts the execution of the possible targets considering that they were given
parameters
as actual parameters, and the state when the call is executed isentryState
.
Note that the interprocedural analysis is also responsible for registering the call to theCallGraph
, 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 isentryState
. - getAdjacencyMatrix() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Yields the adjacency matrix backing this graph.
- getAliasing() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the symbol aliasing information, that can be used to resolve targets of calls when the names used in the call are different from the ones in the target's signature.
- getAllCFGs() - Method in class it.unive.lisa.program.Application
- getAllCFGs() - Method in class it.unive.lisa.program.Program
-
Yields all the
CFG
s defined in this program, obtained by filtering the results ofProgram.getCodeMembersRecursively()
. - getAllCodeCodeMembers() - Method in class it.unive.lisa.program.Application
-
Yields the lazily computed collection of all
CodeMember
s defined in allProgram
s of this application. - getAllExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller, or throwing an error (i.e., all such statements on which either
Statement.stopsExecution()
orStatement.throwsError()
hold). - getAnalysisResultsOf(CFG) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields the results of the given analysis, identified by its class, on the given
CFG
. - getAnalysisStateAfter(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result at a given statement (exit state).
- getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result before a given statement (entry state).
- getAnnotationMembers() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation members of this annotation.
- getAnnotationName() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation name of this annotation.
- getAnnotations() - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the list of annotations.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the annotations of this descriptor.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the annotations of this parameter.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the annotations of this variable, retrieved from the variable table of the cfg this variable belongs to.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the annotations of this variable.
- getAnnotations() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the annotations of this compilation unit.
- getAnnotations() - Method in class it.unive.lisa.program.Global
-
Yields the annotations of this global element.
- getAnnotations() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the annotations of this identifier.
- getAnnotations(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the annotations that are matched by the matcher
m
. - getAssigningStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
ParameterAssigningStrategy
defining how actual parameters of a call are matched against the formal ones of its targets. - getBaseType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the base type of this array type.
- getBody() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
-
Yields the
Statement
s contained in the body of this loop. - getBooleanType() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the
BooleanType
of this type system. - getCache() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- getCache() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the cache that this set is connected to.
- getCache() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- getCallees(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields all the
CodeMember
s that are called by the given one, according to theCallGraph
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
CodeMember
s that are called by the given one. - getCallers(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields all the
CodeMember
s that call the given one, according to theCallGraph
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
CodeMember
s 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
Call
s that targets the givenCodeMember
, according to theCallGraph
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
Call
s that targets the givenCodeMember
. - getCallType() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the call type of this call.
- getCFG() - Method in class it.unive.lisa.checks.warnings.CFGWarning
-
Yields the cfg where this warning was reported on.
- getCFG() - Method in interface it.unive.lisa.program.cfg.ProgramPoint
-
Yields the
CFG
that this program point belongs to. - getCFG() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the child.
- getCodeLocation() - Method in interface it.unive.lisa.program.cfg.CodeLocation
-
Yields the string code location representation.
- getCodeLocation() - Method in class it.unive.lisa.program.SourceCodeLocation
- getCodeLocation() - Method in class it.unive.lisa.program.SyntheticLocation
- getCodeLocation() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the code location of the statement that has generated this symbolic expression.
- getCodeMember() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
-
Yields the
CodeMember
represented by this node. - getCodeMember(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
CodeMember
defined in this unit having the given signature (CodeMemberDescriptor.getSignature()
), if any. - getCodeMembers() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of
CodeMember
s defined in this unit. - getCodeMembersByName(String) - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all
CodeMember
s defined in this unit that have the given name. - getCodeMembersRecursively() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all the
CodeMember
s defined in this unit. - getCodeMembersRecursively() - Method in class it.unive.lisa.program.Program
-
Yields the collection of all the
CodeMember
s defined in this unit. - getCodeMembersRecursively() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
CodeMember
s defined in this unit. - getCol() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the column where this code element happens in the source file.
- getCommons() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the pair of elements (deemed to be equal) that are contained in both collections used to create this builder.
- getCompleteStructure() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields an
NodeList
containing the full structure (nodes and edges) represented by this conditional structure. - getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the last computed expression.
- getCondition() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the condition of this structure.
- getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the name of the native construct represented by this expression.
- getContainer() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
-
Yields the
Unit
where the global targeted by this access is defined. - getContainer() - Method in class it.unive.lisa.program.Global
-
Yields the unit containing this global.
- getContainer() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the parent.
- getControlFlowStructures() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the collection of
ControlFlowStructure
s 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 aControlFlowExtractor
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
DataflowElement
s contained in this domain instance. - getDefaultValue() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the default value for this parameter that can be used when a call does not specify a value for it.
- getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the description of the graph.
- getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Yields the
SerializableValue
to be used as description. - getDescriptions() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the set of descriptions of the nodes of this graph.
- getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
-
Yields the cfg where this warning was reported on.
- getDescriptor() - Method in class it.unive.lisa.program.cfg.AbstractCodeMember
- getDescriptor() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the name of this control flow graph.
- getDescriptor() - Method in interface it.unive.lisa.program.cfg.CodeMember
-
Yields the
CodeMemberDescriptor
containing the signature of this code member. - getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
- getDestId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the id of the destination
SerializableNode
. - getDestination() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getDestination() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getDestination() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge ends.
- getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.AnalysisState
- getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getDomainInstance(Class<T>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields the instance of a specific domain, of class
domain
, contained inside the domain. - getDominators() - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Yelds the last computed dominators through
Dominators.build(Graph)
. - getDynamicType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the dynamic type of this expression, that is, the most specific common supertype of all its runtime types (available through
SymbolicExpression.getRuntimeTypes(TypeSystem)
. - getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the edge connecting the two given nodes, if any.
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the edge connecting the two given nodes, if any.
- getEdgeConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the edge connecting the two given nodes, if any.
- getEdges() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the set of edges of this graph.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the set of edges of this matrix.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the set of edges of this list.
- getEdges() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of edges of this graph.
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields all edges connecting the two given nodes, if any.
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields all edges connecting the two given nodes, if any.
- getEdgesConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields all edges connecting the two given nodes, if any.
- getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgesCount() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of edges of this graph.
- getElements() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Yields the elements contained in this array.
- getEntries() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the entry nodes of this matrix, that is, the nodes that have no predecessors.
- getEntries() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the entry nodes of this list, that is, the nodes that have no predecessors.
- getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEntrypoints() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the nodes of this graph that are entrypoints, that is, roots of the graph.
- getEntryPoints() - Method in class it.unive.lisa.program.Application
- getEntryPoints() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
CFG
s 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 ofthis
expression is equivalent to querying the exit state of the returned one. - getExecutionState() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Yields the execution state (also called program counter), that might change when evaluating an expression.
- getExits() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the exit nodes of this matrix, that is, the nodes that have no followers.
- getExits() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the exit nodes of this list, that is, the nodes that have no followers.
- getExitState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the exit state.
- getExpression() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
-
Yields the expression where this warning was reported on.
- getExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Yields the expression that is the argument of this unary statement.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
-
Yields the expression to be dereferenced.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapReference
-
Yields the referred expression.
- getExpression() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the inner expression, that is transformed by this expression by applying
UnaryExpression.getOperator()
. - getFalseBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Yields the
Statement
s contained in the false branch of this if-then-else. - getFeatures() - Method in class it.unive.lisa.program.Program
-
Yields the language-specific features, algorithms and semantics of this program.
- getFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Yields the fields of this object.
- getFiles() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of file names contained into this report.
- getFirstFollower() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the first follower of this structure, that is, the first statement after the conditional structure exits.
- getFormals() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the array containing the formal parameters of the CFG associated with this descriptor.
- getFullName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full name of the CFG associated with this descriptor.
- getFullSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full signature of this cfg, that is,
CodeMemberDescriptor.getSignature()
preceded by the cfg's return type. - getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full signature of this cfg including parameters names, that is,
CodeMemberDescriptor.getSignatureWithParNames()
preceded by the cfg's return type. - getFullTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the full name of the target of the call.
- getGenericProgramPoint() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields a generic
ProgramPoint
happening inside this cfg. - getGlobal() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
-
Yields the global where this warning was reported on.
- getGlobal(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
Global
defined in this unit having the given name (Global.getName()
), if any. - getGlobals() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of
Global
s defined in this unit. - getGlobalsRecursively() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all the
Global
s defined in this unit. - getGlobalsRecursively() - Method in class it.unive.lisa.program.Program
-
Yields the collection of all the
Global
s defined in this unit. - getGlobalsRecursively() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
Global
s 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
ControlFlowStructure
s, regardless of their type, containing the given program point. - getHeapState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
HeapDomain
that contains the information on heap structures contained in this abstract state. - getHeapState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getHigh() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields the upper bound of this interval.
- getId() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields a string meant to identify this specific result, based on how it has been produced.
- getId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the id of this node.
- getId() - Method in class it.unive.lisa.program.annotations.AnnotationMember
-
Yields the identifier of this annotation member.
- getIdsToForget() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the collection of identifiers that must be removed after the application of this replacement, that is, the identifiers that are in
HeapSemanticOperation.HeapReplacement.getSources()
but not inHeapSemanticOperation.HeapReplacement.getTargets()
. - getIfThenElseGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all the
IfThenElse
containing the given program point. - getImmediateAncestors() - Method in class it.unive.lisa.program.ClassUnit
- getImmediateAncestors() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of
CompilationUnit
s that are this unit directly inherits from, regardless of their type. - getImmediateAncestors() - Method in class it.unive.lisa.program.InterfaceUnit
- getIndex() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the index of this variable.
- getInferred() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Yields the instance of
InferredValue
representing the inferred value. - getInferredDynamicType() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getInferredDynamicType() - Method in interface it.unive.lisa.analysis.value.TypeDomain
-
Yields the dynamic type that this analysis inferred for the last computed expression.
- getInferredRuntimeTypes() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getInferredRuntimeTypes() - Method in interface it.unive.lisa.analysis.value.TypeDomain
-
Yields the runtime types that this analysis inferred for the last computed expression.
- getInferredValue() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Yields the inferred value of the last
SymbolicExpression
handled by this domain, either throughEnvironment.assign(Identifier, SymbolicExpression, ProgramPoint)
orInferenceSystem.smallStepSemantics(ValueExpression, ProgramPoint)
. - getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
-
Yields the ingoing edges.
- getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
-
Yields the ingoing edges.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the ingoing edges to the given node.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the ingoing edges to the given node.
- getIngoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the ingoing edges to the given node.
- getInnerType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the type of the inner dimension of this array type.
- getInnerTypes() - Method in interface it.unive.lisa.type.PointerType
-
Yields the inner types, that is, the types of the memory region that variables with this type point to.
- getInnerTypes() - Method in class it.unive.lisa.type.ReferenceType
- getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- getInnerValues() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Yields all the
SerializableValue
s that are contained into this one, recursively. - getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
CFG
s defined in this unit. - getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the first instance
CodeMember
defined in this unit having the given signature (CodeMemberDescriptor.getSignature()
), if any. - getInstanceCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
CodeMember
s defined in this unit. - getInstanceCodeMembersByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all instance
CodeMember
s defined in this unit that have the given name. - getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance constructs (
NativeCFG
s) defined in this unit. - getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the first instance
Global
defined in this unit having the given name (Global.getName()
), if any. - getInstanceGlobals(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
Global
s defined in this unit. - getInstances() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of
ClassUnit
s that are instances of this one, including itself. - getIntegerType() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the integer type of this type system, that is, the integral
NumericType
that is typically used to index array elements and performing string operations. - getInterfaces() - Method in class it.unive.lisa.program.ClassUnit
-
Yields the list of
InterfaceUnit
s implemented by this class. - getInvolvedIdentifiers() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Yields all the
Identifier
s that are involved in the definition of this element. - getKeys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the set of keys currently in this lattice.
- getKind() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the kind of this edge.
- getLeft() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the left-most (first) sub-expression of this expression.
- getLeft() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the left-most (first) sub-expression of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the left-hand side operand of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the left-hand side operand of this expression.
- getLine() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the line number where this code element happens in the source file.
- getLocation() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported.
- getLocation() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- getLocation() - Method in class it.unive.lisa.program.cfg.Parameter
- getLocation() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getLocation() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- getLocation() - Method in interface it.unive.lisa.program.CodeElement
-
Yields the location where this code element appears in the program.
- getLocation() - Method in class it.unive.lisa.program.Global
- getLocation() - Method in class it.unive.lisa.program.ProgramUnit
- getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the string representation of the location where this warning was reported, surrounded by square brackets.
- getLoopGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all
Loop
s containing the given program point. - getLow() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields the lower bound of this interval.
- getMap() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the map associated with this functional lattice element.
- getMatchingCodeMember(CodeMemberDescriptor) - Method in class it.unive.lisa.program.Unit
-
Finds all the code members whose signature matches the one of the given
CodeMemberDescriptor
, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor)
. - getMatchingInstanceCodeMembers(CodeMemberDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Finds all the instance code members whose signature matches the one of the given
CodeMemberDescriptor
, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor)
. - getMatchingStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
ParameterMatchingStrategy
encoding how actual parameters of a call are matched against the formal ones of its targets. - getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning.
- getMessage() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Yields the message of this warning.
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- getMetaVariable() - Method in interface it.unive.lisa.program.cfg.statement.MetaVariableCreator
-
Yields the meta variable that is introduced during the evaluation of the semantics of this object to store information about the value produced by this object.
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.Return
- getMetaVariables() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the meta variables that are generated by the evaluation of this expression.
- getMiddle() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the middle (second) sub-expression of this expression.
- getMiddle() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the middle operand of this expression.
- getMostRecentGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
ControlFlowStructure
, regardless of its type, containing the given program point. - getMostRecentIfThenElseGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
IfThenElse
containing the given program point. - getMostRecentLoopGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
Loop
containing the given program point. - getName() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
-
Yields the name represented by this symbol.
- getName() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
-
Yields the name represented by this symbol.
- getName() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the name of the graph.
- getName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the name of the CFG associated with this descriptor.
- getName() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the name of this parameter.
- getName() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.Global
-
Yields the name of this global.
- getName() - Method in class it.unive.lisa.program.Unit
-
Yields the name of the unit.
- getName() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the name of this identifier.
- getNodeId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Yields the id of the
SerializableNode
that this description refers to. - getNodeList() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Yields the node list backing this graph.
- getNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the set of nodes of this graph.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of nodes of this matrix.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of nodes of this list.
- getNodes() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of nodes of this graph.
- getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getNodesCount() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of nodes of this graph.
- getNormalExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller without throwing an error (i.e., all such statements on which
Statement.stopsExecution()
holds butStatement.throwsError()
does not). - getOffset() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getOffset() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeNode
-
Yields the offset of this node relative to its containing graph.
- getOnlyFirst() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the first collection used to create this builder.
- getOnlySecond() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the second collection used to create this builder.
- getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the operator that is applied to
BinaryExpression.getLeft()
andBinaryExpression.getRight()
. - getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the operator that is applied to
TernaryExpression.getLeft()
,TernaryExpression.getMiddle()
andTernaryExpression.getRight()
. - getOperator() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the operator that is applied to
UnaryExpression.getExpression()
. - getOrder() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the
EvaluationOrder
of the sub-expressions. - getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
-
Yields the outgoing edges.
- getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
-
Yields the outgoing edges.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the outgoing edges from the given node.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the outgoing edges from the given node.
- getOutgoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the outgoing edges from the given node.
- getParameterName() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
-
Yields the name of the parameter targeted by this expression.
- getParameters() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the parameters of this call.
- getParentStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the
Statement
that contains this expression, if any. - getPossibleTypesOfReceiver(Expression, Set<Type>) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Returns all the possible types of the given expression that should be considered as possible receivers of the call.
- getProgram() - Method in interface it.unive.lisa.program.cfg.ProgramPoint
-
Yields the
Program
where this program point is defined. - getProgram() - Method in class it.unive.lisa.program.Program
- getProgram() - Method in class it.unive.lisa.program.ProgramUnit
- getProgram() - Method in class it.unive.lisa.program.Unit
-
Yields the
Program
where this unit is defined. - getPrograms() - Method in class it.unive.lisa.program.Application
-
Yields the program that build this application.
- getProgramValidationLogic() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
ProgramValidationLogic
that validates the structure of a program, identifying erroneous situations (e.g., code members with the same signature) that can crash the analysis. - getProperties() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Yields the set collection of textual properties defined for this representation.
- getProperties() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Yields the additional properties to use as metadata.
- getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
-
Yields the qualifier represented by this symbol.
- getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
-
Yields the qualifier represented by this symbol.
- getQualifier() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the optional qualifier of the target of the call.
- getReceiver() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Yields the expression that determines the receiver of the global access defined by this expression.
- getReferencedLocation() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
-
Yields the heap location pointed by this pointer.
- getResolvedVersion(UnresolvedCall) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the resolved version of the given call, according to the
CallGraph
that has been built during the analysis. - getResultOf(CFG) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the analysis results stored in this tool for the given
CFG
. - getReturnType() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the return type of the CFG associated with this descriptor.
- getRight() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the right-most (second) sub-expression of this expression.
- getRight() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the right-most (third) sub-expression of this expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the right-hand side operand of this expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the right-hand side operand of this expression.
- getRootStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the outer-most
Statement
containing this expression, that is used as a node in the cfg. - getRuntimeTypes() - Method in interface it.unive.lisa.analysis.nonrelational.value.NonRelationalTypeDomain
-
Yields the set containing the types held by this instance.
- getRuntimeTypes(TypeSystem) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the runtime types of this expression.
- getScope() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
-
Returns the scope of the identifier.
- getScopeEnd() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the statement where this variable is last visible.
- getScoper() - Method in class it.unive.lisa.analysis.ScopeToken
-
Yields the element that this scope refers to.
- getScopeStart() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the statement where this variable is first visible.
- getSeen() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
-
Yields the elements visited (and this no longer able to be added to this working set) by this object.
- getSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the signature of this cfg, composed by its
CodeMemberDescriptor.getFullName()
followed by its parameters types. - getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the signature of this cfg, composed by its
CodeMemberDescriptor.getFullName()
followed by its parameters (types and names). - getSource() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getSource() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getSource() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the call that this call originated from, if any.
- getSource() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge originates.
- getSourceFile() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the source file name where this code element happens.
- getSourceId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the id of the source
SerializableNode
. - getSources() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that this replacement originates from, that is, the ones whose value will be assigned to the targets.
- getState() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the
AbstractState
embedded into this analysis state, containing abstract values for program variables and memory locations. - getState() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Yields the instance of
InferredValue
representing the execution state. - getState(K) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the state associated to the given key.
- getStatement() - Method in class it.unive.lisa.checks.warnings.StatementWarning
-
Yields the statement where this warning was reported on.
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the
Statement
that precedes the given one, assuming thatother
is contained into this expression. - getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- getStaticType() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the static type of this parameter.
- getStaticType() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the static type of this expression.
- getStaticType() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the static type of this variable.
- getStaticType() - Method in class it.unive.lisa.program.Global
-
Yields the static type of this global.
- getStaticType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the static type of this expression.
- getStringType() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the
StringType
of this type system. - getSubExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Yields the only sub-expression of this unary expression.
- getSubExpressions() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the sub-expressions of this expression, to be evaluated left-to-right.
- getSubNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the id of the nodes that are subnodes of this one, in the order they appear.
- getSubstitution() - Method in interface it.unive.lisa.analysis.heap.HeapSemanticOperation
-
Yields the substitution, in the form of a list of
HeapSemanticOperation.HeapReplacement
s that must be processed in their order of appearance, that the creation of this heap domain caused. - getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- getSuperclasses() - Method in class it.unive.lisa.program.ClassUnit
-
Yields the list of
ClassUnit
s that this class inherits from. - getTag() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the tag of this warning.
- getTaggedMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning, preceeded by the tag under square brackets.
- getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
-
Yields the
Global
targeted by this expression. - getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Yields the instance
Global
targeted by this expression. - getTargetedCFGs() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Yields the CFGs that are targeted by this CFG call.
- getTargetedConstructs() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Yields the
NativeCFG
s that are targeted by this native call. - getTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the name of the target of the call.
- getTargets() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that are targeted by this replacement, that is, the ones that will be assigned.
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- getTargets() - Method in interface it.unive.lisa.program.cfg.statement.call.ResolvedCall
-
Yields the targets of the
Call
. - getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- getText() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the text of this node.
- getTitle() - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Yields the title of the graph.
- getTraversalStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
HierarcyTraversalStrategy
that expresses how a class hierarchy is traversed, starting from a leaf and visiting all of its ancestors recursively, when searching for program members in it. - getTrueBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Yields the
Statement
s contained in the true branch of this if-then-else. - getType(String) - Method in class it.unive.lisa.type.TypeSystem
-
Yields the
Type
instance with the given name. - getTypes() - Method in class it.unive.lisa.program.Program
-
Yields the type system knowing about the types that appear in the program.
- getTypes() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the collection of
Type
s that have been registered in this type system. - getTypes() - Method in class it.unive.lisa.type.TypeTokenType
-
Yields the
Type
s represented by this type token. - getTypeState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
ValueDomain
andTypeDomain
that contains the information on runtime types of program variables and concretized memory locations. - getTypeState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getUnit() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
-
Yields the unit containing the global where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.checks.warnings.UnitWarning
-
Yields the unit where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the
Unit
containing the cfg associated to this descriptor. - getUnit() - Method in interface it.unive.lisa.type.UnitType
-
Yields the
CompilationUnit
that induces this type. - getUnit(String) - Method in class it.unive.lisa.program.Program
-
Yields the
ClassUnit
defined in this unit having the given name (Unit.getName()
), if any. - getUnits() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
ClassUnit
s defined in this program. - getValue() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Yields the textual representation of the value.
- getValue() - Method in class it.unive.lisa.program.annotations.AnnotationMember
-
Yields the annotation value of this annotation member.
- getValue() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
-
Yields the value of this literal.
- getValue() - Method in class it.unive.lisa.symbolic.value.Constant
-
Yields the constant value.
- getValueOnStack() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Yields the computed value of the last
SymbolicExpression
handled by this domain, either throughEnvironment.assign(Identifier, SymbolicExpression, ProgramPoint)
orValueEnvironment.smallStepSemantics(ValueExpression, ProgramPoint)
. - getValues() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the values of this functional lattice.
- getValueState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
ValueDomain
that contains the information on values of program variables and concretized memory locations. - getValueState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getVariable() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields a
Variable
representing the referenced variable. - getVariables() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the list of
VariableTableEntry
s that have been added to this descriptor. - getWarnings() - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Returns an unmodifiable view of the warnings that have been generated up to now using this tool.
- getWarnings() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of
JsonReport.JsonWarning
s contained into this report. - glb(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs the greatest lower bound operation between this satisfiability and the given one.
- 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
andk2
. - Global - Class in it.unive.lisa.program
-
A global variable, scoped by its container.
- Global(CodeLocation, Unit, String, boolean) - Constructor for class it.unive.lisa.program.Global
-
Builds an untyped global variable, identified by its name.
- Global(CodeLocation, Unit, String, boolean, Type) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- Global(CodeLocation, Unit, String, boolean, Type, Annotations) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- GlobalWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Globals under analysis.
- GlobalWarning(Unit, Global, String) - Constructor for class it.unive.lisa.checks.warnings.GlobalWarning
-
Builds the warning.
- graph - Variable in class it.unive.lisa.outputs.GraphStreamWrapper
-
The wrapped graph.
- Graph<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
Interface of a generic graph structure.
- GraphmlGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped into compound GraphML format.
- GraphmlGraph(String) - Constructor for class it.unive.lisa.outputs.GraphmlGraph
-
Builds a graph.
- GraphStreamWrapper - Class in it.unive.lisa.outputs
-
A graph instance that decorates a graphstream
Graph
, offering custom/improved dumping. - GraphStreamWrapper() - Constructor for class it.unive.lisa.outputs.GraphStreamWrapper
-
Builds the wrapper.
- GraphVisitor<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>,V> - Interface in it.unive.lisa.util.datastructures.graph
-
A visitor of a
Graph
. - GreaterOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the greater or equal operation (
>=
). - GreaterOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterOrEqual
-
Builds the greater or equal.
- GreaterThan - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the greater than operation (
>
). - GreaterThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterThan
-
Builds the greater than.
H
- hashCode() - Method in class it.unive.lisa.analysis.AnalysisState
- hashCode() - Method in class it.unive.lisa.analysis.BaseLattice
- hashCode() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- hashCode() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- hashCode() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- hashCode() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- hashCode() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- hashCode() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.ScopeToken
- hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- hashCode() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.Warning
- hashCode() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport
- hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotation
- hashCode() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotations
- hashCode() - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- hashCode() - Method in class it.unive.lisa.program.cfg.edge.Edge
- hashCode() - Method in class it.unive.lisa.program.cfg.Parameter
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.Call
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Expression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Ret
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Statement
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- hashCode() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- hashCode() - Method in class it.unive.lisa.program.Global
- hashCode() - Method in class it.unive.lisa.program.SourceCodeLocation
- hashCode() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- hashCode() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.Constant
- hashCode() - Method in class it.unive.lisa.symbolic.value.HeapLocation
- hashCode() - Method in class it.unive.lisa.symbolic.value.Identifier
- hashCode() - Method in class it.unive.lisa.symbolic.value.NullConstant
- hashCode() - Method in class it.unive.lisa.symbolic.value.PushAny
- hashCode() - Method in class it.unive.lisa.symbolic.value.Skip
- hashCode() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- hashCode() - Method in class it.unive.lisa.type.common.BoolType
- hashCode() - Method in class it.unive.lisa.type.common.Float32Type
- hashCode() - Method in class it.unive.lisa.type.common.Float64Type
- hashCode() - Method in class it.unive.lisa.type.common.Int16Type
- hashCode() - Method in class it.unive.lisa.type.common.Int32Type
- hashCode() - Method in class it.unive.lisa.type.common.Int64Type
- hashCode() - Method in class it.unive.lisa.type.common.Int8Type
- hashCode() - Method in class it.unive.lisa.type.common.StringType
- hashCode() - Method in class it.unive.lisa.type.common.UInt16Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt32Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt64Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt8Type
- hashCode() - Method in class it.unive.lisa.type.NullType
- hashCode() - Method in class it.unive.lisa.type.ReferenceType
- hashCode() - Method in class it.unive.lisa.type.TypeTokenType
- hashCode() - Method in class it.unive.lisa.type.Untyped
- hashCode() - Method in class it.unive.lisa.type.VoidType
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.IterableArray
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- hashCode() - Method in class it.unive.lisa.util.numeric.IntInterval
- hashCode() - Method in class it.unive.lisa.util.numeric.MathNumber
- hasRuntimeTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields
true
if this expression's runtime types have been set (even to the empty set). - HEAP_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
HeapDomain
inside theDomainRepresentation
returned bySemanticDomain.representation()
. - HeapAllocation - Class in it.unive.lisa.symbolic.heap
-
An allocation of a memory location.
- HeapAllocation(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapAllocation
-
Builds the heap allocation.
- HeapDereference - Class in it.unive.lisa.symbolic.heap
-
A heap dereference expression.
- HeapDereference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapDereference
-
Builds the heap dereference.
- HeapDomain<D extends HeapDomain<D>> - Interface in it.unive.lisa.analysis.heap
-
A semantic domain that can evaluate the semantic of statements that operate on heap locations, and not on concrete values.
- HeapEnvironment<T extends NonRelationalHeapDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.heap
-
An environment for a
NonRelationalHeapDomain
, that mapsIdentifier
s to instances of such domain. - HeapEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
-
Builds an empty environment.
- HeapEnvironment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
-
Builds an empty environment from a given mapping.
- HeapEnvironment(T, Map<Identifier, T>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
-
Builds an environment containing the given mapping.
- HeapExpression - Class in it.unive.lisa.symbolic.heap
-
A symbolic expression that identifies a location in the program's heap.
- HeapExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapExpression
-
Builds the heap expression.
- HeapLocation - Class in it.unive.lisa.symbolic.value
-
An identifier of a synthetic program variable that represents a resolved memory location.
- HeapLocation(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.HeapLocation
-
Builds the heap location.
- HeapReference - Class in it.unive.lisa.symbolic.heap
-
A reference to a memory location, identified by its name.
- HeapReference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapReference
-
Builds the heap reference.
- HeapReplacement() - Constructor for class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Builds the replacement.
- HeapSemanticOperation - Interface in it.unive.lisa.analysis.heap
-
A semantic operation on the heap state of the program, that provides a substitution of the available identifiers.
- HeapSemanticOperation.HeapReplacement - Class in it.unive.lisa.analysis.heap
-
A replacement between
Identifier
s caused by a change in the heap abstraction. - HierarcyTraversalStrategy - Interface in it.unive.lisa.program.language.hierarchytraversal
-
A strategy for traversing hierarchies of
CompilationUnit
to search for implementations of call targets or global implementations. - highIsPlusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if the upper bound of this interval is set to plus infinity. - HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours.
- HtmlGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped as an html page using javascript to visualize the graphs.
- HtmlGraph(GraphmlGraph, boolean, SortedMap<Integer, Pair<String, SerializableNodeDescription>>, String, String) - Constructor for class it.unive.lisa.outputs.HtmlGraph
-
Builds the graph.
I
- Identifier - Class in it.unive.lisa.symbolic.value
-
An identifier of a program variable, representing either a program variable (as an instance of
Variable
), or a resolved memory location (as an instance ofHeapLocation
). - Identifier(Type, String, boolean, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- Identifier(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- IfThenElse - Class in it.unive.lisa.program.cfg.controlFlow
-
A
ControlFlowStructure
representing a if-then-else. - IfThenElse(NodeList<CFG, Statement, Edge>, Statement, Statement, Collection<Statement>, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Builds the if-then-else.
- includes(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if this interval includes the given one. - indexOf(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- IndexOf - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string indexOf operation.
- IndexOf(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.IndexOf
-
Builds the indexOf.
- indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- InferenceSystem<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
An inference system that model standard derivation systems (e.g., types systems, small step semantics, big step semantics, ...).
- InferenceSystem(InferenceSystem<T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an inference system identical to the given one, except for the execution state that will be set to the given one.
- InferenceSystem(T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an empty inference system.
- InferenceSystem(T, Map<Identifier, T>, InferredValue.InferredPair<T>) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an environment containing the given mapping.
- InferredPair(T, T, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Builds the pair.
- InferredValue<T extends InferredValue<T>> - Interface in it.unive.lisa.analysis.nonrelational.inference
-
A
NonRelationalElement
that can be inferred byInferenceSystem
s. - InferredValue.InferredPair<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
A pair of instances of
InferredValue
, representing the result of an evaluation in the form of<inferred value, new execution state>
. - INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-Inf, +Inf]
. - INHERIT_FROM_SEALED - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for inheritance from a sealed
CompilationUnit
. - init(Application) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- init(Application) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Initializes the call graph of the given program.
- init(Application, CallGraph, OpenCallPolicy) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Initializes the interprocedural analysis of the given program.
- InMemoryType - Interface in it.unive.lisa.type
-
A type that can only live in-memory, without being used for local variables.
- INSTANCE - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Only instance code members are targeted by the call.
- INSTANCE - Static variable in class it.unive.lisa.interprocedural.ReturnTopPolicy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.interprocedural.WorstCasePolicy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.SyntheticLocation
-
Singleton instance of the synthetic location.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringContains
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.StringLength
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.common.BoolType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Float32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Float64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int16Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int8Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.StringType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt16Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt8Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.NullType
-
Unique instance of
NullType
. - INSTANCE - Static variable in class it.unive.lisa.type.Untyped
-
Unique instance of Untyped type.
- INSTANCE - Static variable in class it.unive.lisa.type.VoidType
-
Unique instance of
VoidType
. - instances - Variable in class it.unive.lisa.program.CompilationUnit
-
The lazily computed collection of instances of this unit, that is, the collection of compilation units that directly or indirectly inherit from this unit.
- Int16Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 16-bit signed
Literal
representing a constant integral value. - Int16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int16Literal
-
Builds the literal.
- Int16Type - Class in it.unive.lisa.type.common
-
A signed 16-bit integral
NumericType
. - Int16Type() - Constructor for class it.unive.lisa.type.common.Int16Type
-
Builds the type.
- Int32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit signed
Literal
representing a constant integral value. - Int32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int32Literal
-
Builds the literal.
- Int32Type - Class in it.unive.lisa.type.common
-
A signed 32-bit integral
NumericType
. - Int32Type() - Constructor for class it.unive.lisa.type.common.Int32Type
-
Builds the type.
- Int64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit signed
Literal
representing a constant integral value. - Int64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int64Literal
-
Builds the literal.
- Int64Type - Class in it.unive.lisa.type.common
-
A signed 64-bit integral
NumericType
. - Int64Type() - Constructor for class it.unive.lisa.type.common.Int64Type
-
Builds the type.
- Int8Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
An 8-bit signed
Literal
representing a constant integral value. - Int8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int8Literal
-
Builds the literal.
- Int8Type - Class in it.unive.lisa.type.common
-
A signed 8-bit integral
NumericType
. - Int8Type() - Constructor for class it.unive.lisa.type.common.Int8Type
-
Builds the type.
- IntAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An integer annotation value.
- IntAnnotationValue(int) - Constructor for class it.unive.lisa.program.annotations.values.IntAnnotationValue
-
Builds an integer annotation value.
- INTERFACE_WITH_GLOBALS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
Global
s insideInterfaceUnit
s. - InterfaceUnit - Class in it.unive.lisa.program
-
A interface unit of the program to analyze.
- InterfaceUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.InterfaceUnit
-
Builds an interface unit, defined at the given location.
- InterproceduralAnalysis<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.interprocedural
-
The definition of interprocedural analyses.
- InterproceduralAnalysisException - Exception in it.unive.lisa.interprocedural
-
An exception that occurred while performing an interprocedural analysis.
- InterproceduralAnalysisException() - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(String) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- intersection(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- intersection(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the intersection of this set and another.
- intersects(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- intersects(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Determines if this set has at least an element in common with another if they share the same cache.
- intersects(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if this interval intersects with the given one. - IntInterval - Class in it.unive.lisa.util.numeric
-
An interval with integer bounds.
- IntInterval(int, int) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- IntInterval(MathNumber, MathNumber) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- IntInterval(Integer, Integer) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- INVALID_CFSTRUCTURE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for invalid
ControlFlowStructure
s. - INVALID_NODE_LIST - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for invalid
NodeList
s. - InverseSetLattice<S extends InverseSetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic inverse set lattice containing a set of elements.
- InverseSetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Builds the lattice.
- is(int) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if this is a singleton interval containing onlyn
. - is(int) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is number represents exactly the given integer. - is16Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is16Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is16Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 16-bits format representation. - is32Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is32Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is32Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 32-bits format representation. - is64Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is64Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is64Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 64-bits format representation. - is8Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is8Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is8Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 8-bits format representation. - isArrayType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofArrayType
. - isBooleanType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofBooleanType
. - isBottom() - Method in class it.unive.lisa.analysis.AnalysisState
- isBottom() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- isBottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isBottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this object represents the bottom of the lattice. - isBottom() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields
true
if and only if this object represents the bottom of the lattice. - isBottom() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- isBottom() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isBottom() - Method in class it.unive.lisa.analysis.StatementStore
- isEmpty() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Returns
true
if this set contains no elements. - isEmpty() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Returns
true
if this set contains no elements. - isEmpty() - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields
true
if and only if the set of annotations represented by this instance is empty. - isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- isEmpty() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields
true
if and only if this working set is empty. - isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- isEqualTo(G) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Checks if this graph is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isFinite() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if this is interval is finite, that is, if neither bound is set to infinity. - isFinite() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is finite (i.e. - isGuarded(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields
true
if and only if the given program point is inside the body of aControlFlowStructure
, 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 aControlFlowExtractor
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 ofInMemoryType
. - 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 anIfThenElse
.
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 aControlFlowExtractor
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 aLoop
.
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 aControlFlowExtractor
to try to extract them. - isInstance() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields
true
if and only if the cfg associated to this descriptor is an instance cfg. - isInstance() - Method in class it.unive.lisa.program.Global
-
Yields
true
if and only if this is an instance global. - isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
- isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields
true
if and only if this unit is an instance of the given one. - isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
- isIntegral() - Method in class it.unive.lisa.type.common.Float32Type
- isIntegral() - Method in class it.unive.lisa.type.common.Float64Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int16Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int32Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int64Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int8Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt16Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt32Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt64Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt8Type
- isIntegral() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type is integral, representing one of the numbers in the mathematical set Z. - isLogging() - Method in class it.unive.lisa.logging.Counter
-
Yields
true
if this counter is currently logging updates. - isMinusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is minus infinity. - isNaN() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is not a number, that is, obtained from an operation that does not produce a result (e.g. - isNegative() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is negative. - isNullType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofNullType
. - isNumericType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofNumericType
. - isOverridable() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields
true
if and only if the cfg associated to this descriptor is can be overridden by cfgs inUnit
s 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 ofPointerType
. - isPositiveOrZero() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is positive or equal to zero. - isReferenceType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofReferenceType
. - 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 ofStringType
. - isTop - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
- isTop - Variable in class it.unive.lisa.analysis.lattices.SetLattice
-
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
- isTop() - Method in class it.unive.lisa.analysis.AnalysisState
- isTop() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- isTop() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isTop() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this object represents the top of the lattice. - isTop() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields
true
if and only if this object represents the top of the lattice. - isTop() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- isTop() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isTop() - Method in class it.unive.lisa.analysis.StatementStore
- isTypeTokenType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofTypeTokenType
. - isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- isUnconditional() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
-
Yields
true
if and only if this edge represent unconditional execution flow between its bounds. - isUnitType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofUnitType
. - isUnsigned() - Method in class it.unive.lisa.type.common.Float32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Float64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int16Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int8Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt16Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt8Type
- isUnsigned() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type is unsigned. - isUntyped() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofUntyped
. - isVoidType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofVoidType
. - isWeak() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields whether or not this identifier is weak.
- it.unive.lisa - package it.unive.lisa
- it.unive.lisa.analysis - package it.unive.lisa.analysis
- it.unive.lisa.analysis.dataflow - package it.unive.lisa.analysis.dataflow
- it.unive.lisa.analysis.heap - package it.unive.lisa.analysis.heap
- it.unive.lisa.analysis.lattices - package it.unive.lisa.analysis.lattices
- it.unive.lisa.analysis.nonrelational - package it.unive.lisa.analysis.nonrelational
- it.unive.lisa.analysis.nonrelational.heap - package it.unive.lisa.analysis.nonrelational.heap
- it.unive.lisa.analysis.nonrelational.inference - package it.unive.lisa.analysis.nonrelational.inference
- it.unive.lisa.analysis.nonrelational.value - package it.unive.lisa.analysis.nonrelational.value
- it.unive.lisa.analysis.representation - package it.unive.lisa.analysis.representation
- it.unive.lisa.analysis.symbols - package it.unive.lisa.analysis.symbols
- it.unive.lisa.analysis.value - package it.unive.lisa.analysis.value
- it.unive.lisa.checks - package it.unive.lisa.checks
- it.unive.lisa.checks.semantic - package it.unive.lisa.checks.semantic
- it.unive.lisa.checks.syntactic - package it.unive.lisa.checks.syntactic
- it.unive.lisa.checks.warnings - package it.unive.lisa.checks.warnings
- it.unive.lisa.interprocedural - package it.unive.lisa.interprocedural
- it.unive.lisa.interprocedural.callgraph - package it.unive.lisa.interprocedural.callgraph
- it.unive.lisa.logging - package it.unive.lisa.logging
- it.unive.lisa.outputs - package it.unive.lisa.outputs
- it.unive.lisa.outputs.compare - package it.unive.lisa.outputs.compare
- it.unive.lisa.outputs.json - package it.unive.lisa.outputs.json
- it.unive.lisa.outputs.serializableGraph - package it.unive.lisa.outputs.serializableGraph
- it.unive.lisa.program - package it.unive.lisa.program
- it.unive.lisa.program.annotations - package it.unive.lisa.program.annotations
- it.unive.lisa.program.annotations.matcher - package it.unive.lisa.program.annotations.matcher
- it.unive.lisa.program.annotations.values - package it.unive.lisa.program.annotations.values
- it.unive.lisa.program.cfg - package it.unive.lisa.program.cfg
- it.unive.lisa.program.cfg.controlFlow - package it.unive.lisa.program.cfg.controlFlow
- it.unive.lisa.program.cfg.edge - package it.unive.lisa.program.cfg.edge
- it.unive.lisa.program.cfg.statement - package it.unive.lisa.program.cfg.statement
- it.unive.lisa.program.cfg.statement.call - package it.unive.lisa.program.cfg.statement.call
- it.unive.lisa.program.cfg.statement.comparison - package it.unive.lisa.program.cfg.statement.comparison
- it.unive.lisa.program.cfg.statement.evaluation - package it.unive.lisa.program.cfg.statement.evaluation
- it.unive.lisa.program.cfg.statement.global - package it.unive.lisa.program.cfg.statement.global
- it.unive.lisa.program.cfg.statement.literal - package it.unive.lisa.program.cfg.statement.literal
- it.unive.lisa.program.cfg.statement.logic - package it.unive.lisa.program.cfg.statement.logic
- it.unive.lisa.program.cfg.statement.numeric - package it.unive.lisa.program.cfg.statement.numeric
- it.unive.lisa.program.cfg.statement.string - package it.unive.lisa.program.cfg.statement.string
- it.unive.lisa.program.language - package it.unive.lisa.program.language
- it.unive.lisa.program.language.hierarchytraversal - package it.unive.lisa.program.language.hierarchytraversal
- it.unive.lisa.program.language.parameterassignment - package it.unive.lisa.program.language.parameterassignment
- it.unive.lisa.program.language.resolution - package it.unive.lisa.program.language.resolution
- it.unive.lisa.program.language.validation - package it.unive.lisa.program.language.validation
- it.unive.lisa.symbolic - package it.unive.lisa.symbolic
- it.unive.lisa.symbolic.heap - package it.unive.lisa.symbolic.heap
- it.unive.lisa.symbolic.value - package it.unive.lisa.symbolic.value
- it.unive.lisa.symbolic.value.operator - package it.unive.lisa.symbolic.value.operator
- it.unive.lisa.symbolic.value.operator.binary - package it.unive.lisa.symbolic.value.operator.binary
- it.unive.lisa.symbolic.value.operator.ternary - package it.unive.lisa.symbolic.value.operator.ternary
- it.unive.lisa.symbolic.value.operator.unary - package it.unive.lisa.symbolic.value.operator.unary
- it.unive.lisa.type - package it.unive.lisa.type
- it.unive.lisa.type.common - package it.unive.lisa.type.common
- it.unive.lisa.util.collections - package it.unive.lisa.util.collections
- it.unive.lisa.util.collections.externalSet - package it.unive.lisa.util.collections.externalSet
- it.unive.lisa.util.collections.workset - package it.unive.lisa.util.collections.workset
- it.unive.lisa.util.datastructures.graph - package it.unive.lisa.util.datastructures.graph
- it.unive.lisa.util.datastructures.graph.algorithms - package it.unive.lisa.util.datastructures.graph.algorithms
- it.unive.lisa.util.datastructures.graph.code - package it.unive.lisa.util.datastructures.graph.code
- it.unive.lisa.util.file - package it.unive.lisa.util.file
- it.unive.lisa.util.numeric - package it.unive.lisa.util.numeric
- IterableArray<E> - Class in it.unive.lisa.util.collections
-
An iterable over an array of elements.
- IterableArray(E[]) - Constructor for class it.unive.lisa.util.collections.IterableArray
-
Builds the iterable.
- iterate(Logger, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the array. - iterate(Logger, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given iterable into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the array. - iterate(Logger, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given collection into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing the collection. - iterate(Logger, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given stream into an
Iterable
instance that automatically logs at levelLevel.INFO
while traversing a collection created from the stream. - iterate(Logger, Level, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs while traversing the array. - iterate(Logger, Level, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given iterable into an
Iterable
instance that automatically logs while traversing the iterable. - iterate(Logger, Level, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given collection into an
Iterable
instance that automatically logs while traversing the collection. - iterate(Logger, Level, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterable
instance that automatically logs while traversing a collection created from the stream. - IterationLogger - Class in it.unive.lisa.logging
-
An utility class that allows automatic logging while iterating over elements of a collection, stream or array.
- iterator() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- iterator() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- iterator() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- iterator() - Method in class it.unive.lisa.program.annotations.Annotations
- iterator() - Method in class it.unive.lisa.util.collections.CastIterable
- iterator() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.IterableArray
- iterator() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- iterator() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
J
- JavaLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the first parameter is tested using
RuntimeTypesMatchingStrategy
if it represents the receiver of an instance call, otherwise it is tested withStaticTypesMatchingStrategy
. - join(C, C, C, BiPredicate<T, T>, BinaryOperator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Joins (union) two collections, using a custom equality test to determine if two elements are to be considered equals and thus joined together through the given
joiner
. - join(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Joins two
CFGWithAnalysisResults
together. - join(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, joins the states (i.e.
- JsonReport - Class in it.unive.lisa.outputs.json
-
A report of an executed analysis that can be dumped in json format, and that can be read from a json file.
- JsonReport() - Constructor for class it.unive.lisa.outputs.json.JsonReport
-
Builds an empty report.
- JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.json.JsonReport
-
Builds the report, containing the given warnings and files.
- JsonReport.JsonWarning - Class in it.unive.lisa.outputs.json
-
A warning that is ready to dump into a
JsonReport
. - JsonReportComparer - Class in it.unive.lisa.outputs.compare
-
A class providing capabilities for finding differences between two
JsonReport
s. - JsonReportComparer() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer
- JsonReportComparer.DiffReporter - Interface in it.unive.lisa.outputs.compare
-
An object that provides callbacks for reporting differences when comparing
JsonReport
s. - JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different type of reports that can be issued.
- JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different components of a
JsonReport
, in order to distinguish which one of them caused a difference being reported. - JsonWarning() - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Builds an empty warning with no message.
- JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Builds the warning, cloning the information from the given
Warning
.
K
- keyLift(Set<K>, Set<K>) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.KeyFunctionalLift
-
Yields the lift of
first
andsecond
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 givenid
. - kill(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
The dataflow kill operation, yielding the dataflow elements that are killed by evaluating the given non-assigning
expression
.
L
- LABEL - Static variable in class it.unive.lisa.outputs.DotGraph
-
The label attribute name.
- LanguageFeatures - Class in it.unive.lisa.program.language
-
Logical grouping of all language-specific features, such as strategies for matching call parameters or traversing type hierarchies.
- LanguageFeatures() - Constructor for class it.unive.lisa.program.language.LanguageFeatures
- last(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Yields the index of the last sub-expression that has to be evaluated.
- last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- lattice - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
The underlying lattice.
- Lattice<L extends Lattice<L>> - Interface in it.unive.lisa.analysis
-
An interface for elements that follow a lattice structure.
- LeftToRightEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
-
A left-to-right
EvaluationOrder
, evaluating expressions in the given order. - Length - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string length operation.
- Length(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Length
-
Builds the length.
- lessOrEqual(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- lessOrEqual(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lessOrEqual(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one. - LessOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the less or equal operation (
<=
). - LessOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessOrEqual
-
Builds the less or equal.
- lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lessOrEqualAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- lessOrEqualAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- lessOrEqualAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- lessOrEqualAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- lessOrEqualAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- lessOrEqualAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- lessOrEqualAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lessOrEqualAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one, assuming that base cases have already been handled. - lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- LessThan - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the less than operation (
<
). - LessThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessThan
-
Builds the less than.
- LIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A last-in, first-out working set.
- lift(V, V) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.FunctionalLift
-
Yields the lift of
first
andsecond
lattice element. - list - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
The node list of this graph.
- ListRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentation
in the form of a list of values. - ListRepresentation(DomainRepresentation...) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation containing the given elements.
- ListRepresentation(List<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation starting from the given list.
- ListRepresentation(List<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation containing the given list.
- Literal<E> - Class in it.unive.lisa.program.cfg.statement.literal
-
A literal, representing a constant value.
- Literal(CFG, CodeLocation, E, Type) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Literal
-
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
- LogicalAnd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to Boolean values, a
BinaryExpression
using this operator computes the logical conjunction of those values, without short-circuiting.
First argument expression type:BooleanType
Second argument expression type:BooleanType
Computed expression type:BooleanType
- LogicalAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
-
Builds the type.
- LogicalNegation - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a Boolean value, a
UnaryExpression
using this operator computes the logical negation of the expression: if it evaluates totrue
, it is transformed tofalse
, and vice versa.
Argument expression type:BooleanType
Computed expression type:BooleanType
- LogicalNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
-
Builds the type.
- LogicalOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperator
andLogicalOperator
, providing aLogicalOperation.typeInference(TypeSystem, Set, Set)
implementation that returns an empty set if noBooleanType
can be found in one of the arguments, and a singleton set containingTypeSystem.getBooleanType()
otherwise. - LogicalOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
- LogicalOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A logical operation on operand(s) of type
BooleanType
. - LogicalOr - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to Boolean values, a
BinaryExpression
using this operator computes the logical disjunction of those values, without short-circuiting.
First argument expression type:BooleanType
Second argument expression type:BooleanType
Computed expression type:BooleanType
- LogicalOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
-
Builds the type.
- LongAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A long annotation value.
- LongAnnotationValue(long) - Constructor for class it.unive.lisa.program.annotations.values.LongAnnotationValue
-
Builds a long annotation value.
- Loop - Class in it.unive.lisa.program.cfg.controlFlow
-
A
ControlFlowStructure
representing a loop. - Loop(NodeList<CFG, Statement, Edge>, Statement, Statement, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.Loop
-
Builds the loop.
- lowIsMinusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
true
if the lower bound of this interval is set to minus infinity. - lub(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- lub(Identifier) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- lub(Identifier) - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the least upper bounds between two identifiers.
- lub(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lub(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the least upper bound operation between this lattice element and the given one.
- lubAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lubAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- lubAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- lubAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- lubAux(ExpressionSet<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- lubAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- lubAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- lubAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- lubAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lubAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the least upper bound operation between this lattice element and the given one, assuming that base cases have already been handled.
- lubAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- lubAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- lubKeys(Set<Identifier>, Set<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- lubKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the union of the keys between
k1
andk2
.
M
- map - Variable in class it.unive.lisa.analysis.representation.MapRepresentation
-
The mappings of contained in this map.
- MapRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentation
in the form of a key-value mapping. - MapRepresentation(Map<DomainRepresentation, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
-
Builds a new representation containing the given map.
- MapRepresentation(Map<K, V>, Function<K, DomainRepresentation>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
-
Builds a new representation starting from the given map.
- markSubNode(SerializableNode, SerializableNode) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Takes note that
inner
is a subnode ofnode
instead of a proper node of the graph. - matchCodeMemberName(UnresolvedCall, String, String) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Matches the name (qualifier + target name) of the given call against the given code member.
- matches(Annotation) - Method in interface it.unive.lisa.program.annotations.matcher.AnnotationMatcher
-
Returns
true
if this matcher matches the input annotation,false
otherwise. - matches(Annotation) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
-
Yields
true
if and only if the signature of thepos
-th parameter of a cfg is matched by the given actual parameter, according to this strategy. - matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
- matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
- matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
- matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
- matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in interface it.unive.lisa.program.language.resolution.ParameterMatchingStrategy
-
Yields
true
if and only if the parameter list of a cfg is matched by the given actual parameters, according to this strategy. - matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
- matchesSignature(CodeMemberDescriptor) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
- MathNumber - Class in it.unive.lisa.util.numeric
-
A wrapper around
BigDecimal
to represent the mathematical concept of a number, that can be also plus or minus infinity, in a convenient way. - MathNumber(double) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- MathNumber(long) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- MathNumber(BigDecimal) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- max(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the maximum number between
this
andother
. - MEMBER_MISMATCH - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for a
CodeMember
not matching its own signature. - MemoryPointer - Class in it.unive.lisa.symbolic.value
-
A memory pointer to a heap location.
- MemoryPointer(Type, HeapLocation, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer.
- MemoryPointer(Type, HeapLocation, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer with empty annotations.
- mergeWith(AdjacencyMatrix<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Merges this matrix with the given one, by adding all nodes and all edges contained in
other
. - mergeWith(NodeList<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Merges this list with the given one, by adding all nodes and all edges contained in
other
. - MetaVariableCreator - Interface in it.unive.lisa.program.cfg.statement
-
Objects implementing this interface will produce a meta-variable to represent the value that they produce on the stack during the computation of their semantic.
- mightBeFalse() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Yields whether or not this element can represent a
false
result. - mightBeTrue() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Yields whether or not this element can represent a
true
result. - MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds.
- min(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the minimum number between
this
andother
. - MINUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant for minus infinity.
- MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-1, -1]
. - MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant
-1
. - MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes.
- MINUTES_AND_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes and seconds.
- MISSING_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for missing override of an
AbstractCodeMember
. - mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
-
Yields a new, empty working set.
- mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
-
Utility for creating a concrete instance of
DataflowDomain
given its core fields. - mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- mk(H) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
-
Creates a new instance of this domain containing the same abstract information of reference.
- mk(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>) - Method in class it.unive.lisa.analysis.StatementStore
- mk(Aliases, Map<Symbol, Aliases>) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- mk(WorkingSet<E>) - Static method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
-
Yields a new, empty working set.
- mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Utility for creating a concrete instance of
InverseSetLattice
given a set. - mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Utility for creating a concrete instance of
SetLattice
given a set. - mk(Set<Symbol>) - Method in class it.unive.lisa.analysis.symbols.Aliases
- mk(Set<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- mk(V, Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds a instance of this class from the given lattice instance and the given mapping.
- mkDotFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
dot
extension. - mkEmptySet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an empty
ExternalSet
that uses this cache. - mkGraphmlFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
graphml
extension. - mkHtmlFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
html
extension. - mkJsonFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
json
extension. - mkNewFunction(Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Creates a new instance of the underlying function.
- mkOutputFile(String, boolean, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkOutputFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkOutputFile(String, String, boolean, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkOutputFile(String, String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkSet(Iterable<T>) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains the elements of the given iterable. - mkSingletonSet(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains only the given element. - mkUniversalSet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains all of its elements. - ModuleOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a module (reminder) between its operands.
- mul(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval multiplication between
this
andother
. - MultiCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call to one or more
CodeMember
s under analysis, implemented through a sequence of calls. - MultiCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
-
Builds the multi call, happening at the given location in the program.
- MultiCall(CFG, CodeLocation, Call.CallType, String, String, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
-
Builds the multi-call, happening at the given location in the program.
- MultiCall(UnresolvedCall, Call...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
-
Creates a multi call as the resolved version of the given
source
call, copying all its data. - MULTIPLE_OVERRIDES - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for multiple overrides of the same
CodeMember
inside the sameCompilationUnit
. - Multiplication - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the multiplication operation (
*
). - Multiplication(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Multiplication
-
Builds the multiplication.
- MultiplicationOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a multiplication between its operands.
- multiply(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this * other
. - multiTransform(Function<T, Collection<T>>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Transforms this set into another set where each element is obtained by transforming elements of this set.
N
- NamedParameterExpression - Class in it.unive.lisa.program.cfg.statement.call
-
An expression that can be used to for by-name parameter passing to
Call
s. - 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
NativeCFG
s under analysis. - NativeCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCall(CFG, CodeLocation, Call.CallType, String, String, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCall(UnresolvedCall, Collection<NativeCFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Creates a native call as the resolved version of the given
source
call, copying all its data. - NativeCFG - Class in it.unive.lisa.program.cfg
-
A native cfg, representing a cfg that is usually provided by the runtime of the programming language.
- NativeCFG(CodeMemberDescriptor, Class<? extends NaryExpression>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
-
Builds the native control flow graph.
- NegatableOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A logical operation on operand(s) of type
BooleanType
. - negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Negates the current satisfiability, getting the opposite result.
- Negation - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the numerical negation operation (
-
). - Negation(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Negation
-
Builds the numerical negation.
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
-
Builds a new instance of this edge, connecting the given nodes.
- next(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Assuming that
pos
is the index of a sub-expression, yields the index of the sub-expression that has to be evaluated after the given one. - next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- NO_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
Statement
s with no followers. - Node<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
A node of a
Graph
. - NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The default shape of a node.
- NodeList<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
-
A list of nodes of a
CodeGraph
, together with the edges connecting them. - NodeList(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Builds a new list.
- NodeList(E, boolean) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Builds a new list.
- NodeList(NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Copies the given list.
- NodeList.NodeEdges<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
-
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
- nodeName(long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Given a code, builds the name of a node that can be added to, removed from or retrieved from the wrapped graph.
- NoEntryPointException - Exception in it.unive.lisa.interprocedural
-
A
FixpointException
signaling that no entry points have been found. - NoEntryPointException() - Constructor for exception it.unive.lisa.interprocedural.NoEntryPointException
-
Builds the exception.
- noneMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
true
iff none of the elements contained in this set satisfy the given predicate. - NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>> - Interface in it.unive.lisa.analysis.nonrelational
-
A
NonRelationalElement
that models the standard concept of non-relational abstract domain, and that is able to compute the value of aSymbolicExpression
s of typeE
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
SymbolicExpression
s of typeE
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 (
!
ornot
). - 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 thenull
value. - NullConstant(CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.NullConstant
-
Builds a null constant.
- NullLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A literal representing the
null
constant. - NullLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.NullLiteral
-
Builds the null literal, happening at the given location in the program.
- nullSafeCompare(boolean, T, T, Comparator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
A
null
-safe comparison callback that invokes the given comparator only if the given objects are both non-null
. - NullType - Class in it.unive.lisa.type
-
The Null type, that is the type of {#link NullLiteral}.
- NullType() - Constructor for class it.unive.lisa.type.NullType
-
Builds the type.
- Numeric16BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic addition of those values. - Numeric16BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
-
Builds the type.
- Numeric16BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic division of those values. - Numeric16BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
-
Builds the type.
- Numeric16BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic remainder of those values. - Numeric16BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
-
Builds the type.
- Numeric16BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic multiplication of those values. - Numeric16BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
-
Builds the type.
- Numeric16BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic subtraction of those values. - Numeric16BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
-
Builds the type.
- Numeric32BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic addition of those values. - Numeric32BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
-
Builds the type.
- Numeric32BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic division of those values. - Numeric32BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
-
Builds the type.
- Numeric32BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic remainder of those values. - Numeric32BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
-
Builds the type.
- Numeric32BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic multiplication of those values. - Numeric32BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
-
Builds the type.
- Numeric32BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic subtraction of those values. - Numeric32BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
-
Builds the type.
- Numeric64BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic addition of those values. - Numeric64BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
-
Builds the type.
- Numeric64BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic division of those values. - Numeric64BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
-
Builds the type.
- Numeric64BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic remainder of those values. - Numeric64BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
-
Builds the type.
- Numeric64BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic multiplication of those values. - Numeric64BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
-
Builds the type.
- Numeric64BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic subtraction of those values. - Numeric64BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
-
Builds the type.
- Numeric8BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic addition of those values. - Numeric8BitAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
-
Builds the type.
- Numeric8BitDiv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic division of those values. - Numeric8BitDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
-
Builds the type.
- Numeric8BitMod - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic remainder of those values. - Numeric8BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
-
Builds the type.
- Numeric8BitMul - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic multiplication of those values. - Numeric8BitMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
-
Builds the type.
- Numeric8BitSub - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic subtraction of those values. - Numeric8BitSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
-
Builds the type.
- NumericComparison - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperator
andComparisonOperator
, providing aNumericComparison.typeInference(TypeSystem, Set, Set)
implementation that returns an empty set if noNumericType
can be found in one of the arguments or ifNumericType.commonNumericalType(Set, Set)
returns an empty set, and a singleton set containingTypeSystem.getBooleanType()
otherwise. - NumericComparison() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
- NumericNegation - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a numeric value, a
UnaryExpression
using this operator computes the arithmetic negation (i.e., multiplication by-1
) of that value.
Argument expression type:NumericType
Computed expression type:NumericType
(same of the argument, but signed) - NumericNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
-
Builds the type.
- NumericNonOverflowingAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic addition of those values. - NumericNonOverflowingAdd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
-
Builds the type.
- NumericNonOverflowingDiv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic division of those values. - NumericNonOverflowingDiv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
-
Builds the type.
- NumericNonOverflowingMod - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic remainder of those values. - NumericNonOverflowingMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
-
Builds the type.
- NumericNonOverflowingMul - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic multiplication of those values. - NumericNonOverflowingMul() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
-
Builds the type.
- NumericNonOverflowingSub - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpression
using this operator computes the arithmetic subtraction of those values. - NumericNonOverflowingSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
-
Builds the type.
- NumericOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperator
, providing aNumericOperation.typeInference(TypeSystem, Set, Set)
implementation that returns an empty set if noNumericType
, and the result ofNumericType.commonNumericalType(Set, Set)
otherwise. - NumericOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
- NumericType - Interface in it.unive.lisa.type
-
Numeric type interface.
O
- ObjectRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentation
in the form of a complex object with fields. - ObjectRepresentation(Map<String, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
-
Builds a new representation containing the given map.
- ObjectRepresentation(Map<String, V>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
-
Builds a new representation starting from the given map.
- of(Class<? extends WorkingSet<E>>) - Static method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields a
WorkingSet
instance by invoking a staticmk()
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 anOpenCall
is encountered during the fixpoint. - Operator - Interface in it.unive.lisa.symbolic.value
-
An operator that causes a transformation of one or more
SymbolicExpression
s. - 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
toComparisonGt
,ComparisonLt
toComparisonGe
). - 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 (
||
oror
). - Or(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.Or
-
Builds the logical disjunction.
- OrderPreservingAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
-
A strategy that passes the parameters in the same order as they are specified.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Concat
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Contains
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.EndsWith
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Equals
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.IndexOf
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Length
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Replace
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.StartsWith
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Substring
-
Statement that has been rewritten to this operation, if any.
- OutOfScopeIdentifier - Class in it.unive.lisa.symbolic.value
-
An identifier outside the current scope of the call, that is, in a method that is in the call stack but not the last one.
- OutOfScopeIdentifier(Identifier, ScopeToken, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
-
Builds the identifier outside the scope.
- OutputDumpingException - Exception in it.unive.lisa.outputs
-
An exception thrown when creating or dumping one of the outputs of the analysis.
- OutputDumpingException() - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(String) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(String, Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OverflowingOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that might overflow or underflow.
- overriddenBy() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the collection of
CodeMember
that override the cfg associated with this descriptor. - overrides() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the collection of
CodeMember
that the cfg associated with this descriptor overrides.
P
- Parameter - Class in it.unive.lisa.program.cfg
-
A CFG parameter identified by its name and its type, containing the information about the source file, line and column where the parameter is defined.
- Parameter(CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds an untyped parameter reference, identified by its name.
- Parameter(CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- Parameter(CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- Parameter(CodeLocation, String, Type, Expression, Annotations) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- ParameterAssigningStrategy - Interface in it.unive.lisa.program.language.parameterassignment
-
A strategy for assigning parameters at call sites.
- ParameterMatchingStrategy - Interface in it.unive.lisa.program.language.resolution
-
A strategy for matching call signatures.
- parameterTypes(StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields an array containing the runtime types of the parameters of this call, retrieved by accessing the given
StatementStore
. - peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- peek() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Returns the next element to be processed from this working set without removing it.
- perform(Writer) - Method in interface it.unive.lisa.util.file.FileManager.WriteAction
-
Performs the operation on the given writer.
- PluggableStatement - Interface in it.unive.lisa.program.cfg.statement
- plus(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval addition between
this
andother
. - PLUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant for plus infinity.
- PointerType - Interface in it.unive.lisa.type
-
Pointer type interface.
- pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- pop() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Removes the next element to be processed from this working set and returns it.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.AnalysisState
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Pop a scope to the dataflow element.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
-
Pops the scope identified by the given token from the set.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Pops the scope identified by the given token from the domain.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.heap.HeapExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Pops the scope identified by the given token from the expression.
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Constant
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.PushAny
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Skip
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Variable
- PossibleForwardDataflowDomain<E extends DataflowElement<PossibleForwardDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomain
for forward and possible dataflow analysis. - PossibleForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
-
Builds an empty domain.
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this matrix going from such node to the given one.
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this list going from such node to the given one.
- predecessorsOf(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this control flow graph going from such node to the given one.
- prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
- prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy
-
Prepares the entryState for the targets of the given
Call
, assuming that the state when the call is executed (after the evaluation of the parameters) iscallState
, and each parameter to the call is represented by an element ofparameters
. - prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
- preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
- preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Callback that is invoked on a node before simplifying it.
- previous(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Assuming that
pos
is the index of a sub-expression, yields the index of the sub-expression that has to be evaluated before the given one. - previous(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- previous(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- processedUnits - Variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
The set of
CompilationUnit
s, represented by their names, that have been already processed byBaseValidationLogic.validateAndFinalize(CompilationUnit)
. - Program - Class in it.unive.lisa.program
-
A program that LiSA can analyze.
- Program(LanguageFeatures, TypeSystem) - Constructor for class it.unive.lisa.program.Program
-
Builds an empty program.
- PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
-
The name of the program.
- ProgramPoint - Interface in it.unive.lisa.program.cfg
-
A program point, representing an instruction that is happening in one of the
CFG
under analysis. - ProgramUnit - Class in it.unive.lisa.program
-
A unit that is part of a LiSA
Program
. - ProgramUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.ProgramUnit
-
Builds a unit, defined at the given location.
- ProgramValidationException - Exception in it.unive.lisa.program
-
A generic
Exception
that indicates that something has gone wrong while validating aProgram
's structure or when computing unit's hierarchies and cfgs' overridings. - ProgramValidationException() - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(String) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(String, Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationLogic - Interface in it.unive.lisa.program.language.validation
-
A logic for validating
Program
s. - 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 tostate
. - PythonLikeAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
-
A Python-like assigning strategy.
- PythonLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A Python-like matching strategy.
- PythonLikeMatchingStrategy(FixedOrderMatchingStrategy) - Constructor for class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
-
Builds the strategy.
- pythonLogic(Parameter[], Expression[], T[], Set<Type>[], T[], Set<Type>[], T[], Set<Type>[], F) - Static method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
-
Python logic for preparing an argument list for a method call.
Q
- QualifiedNameSymbol - Class in it.unive.lisa.analysis.symbols
-
A
Symbol
that represents a fully qualified name, composed of both a name and a qualifier. - QualifiedNameSymbol(String, String) - Constructor for class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
-
Builds the symbol.
- QualifierSymbol - Class in it.unive.lisa.analysis.symbols
-
A
Symbol
that represents a qualifier (i.e. - QualifierSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.QualifierSymbol
-
Builds the symbol.
R
- read(Reader) - Static method in class it.unive.lisa.outputs.json.JsonReport
-
Reads a
JsonReport
from aReader
instance, deserializing it as a json object. - readDot(Reader) - Static method in class it.unive.lisa.outputs.DotGraph
-
Reads a graph through the given
Reader
. - readGraph(Reader) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Reads a graph through the given
Reader
, deserializing it as a JSON file. - reduce(T, BinaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Reduces this set to a single element.
- ReferenceType - Class in it.unive.lisa.type
-
A type for references to memory regions.
- ReferenceType(Type) - Constructor for class it.unive.lisa.type.ReferenceType
-
Builds the type for a reference to a location containing values of types
t
. - ReferenceType(Set<Type>) - Constructor for class it.unive.lisa.type.ReferenceType
-
Builds the type for a reference to a location containing values of types
innerTypes
. - registerCall(CFGCall) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- registerCall(CFGCall) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
- registerType(Type) - Method in class it.unive.lisa.type.TypeSystem
-
Registers a new
Type
that appears in the program. - Remainder - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the remainder operation (
%
). - Remainder(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Remainder
-
Builds the module.
- remove(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- remove(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- removeAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- removeAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- removeEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Removes the given edge from the matrix.
- removeEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Removes the given edge from the list.
- removeFirstParameter() - Method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
-
Yields an instance of
TruncatedParamsCall
that wraps a copy of the receiver of this call up to the parameters, where the first one has been removed. - removeFirstParameter() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- removeFirstParameter() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- removeFrom(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Removes every node and edge that is reachable from the given
root
. - removeNegations() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- removeNegations() - Method in class it.unive.lisa.symbolic.value.ValueExpression
-
Yields the same value expression removing any negation, namely the
LogicalNegation
operator, preserving its semantics, if possible. - removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Removes the given node from the matrix, together with all its connected edges.
- removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Removes the given node from the list, together with all its connected edges.
- Replace - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string replace operation.
- Replace(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Replace
-
Builds the replace.
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Reports a difference in one of the components of the reports.
- representation - Variable in class it.unive.lisa.analysis.representation.StringRepresentation
-
The textual representation.
- representation() - Method in class it.unive.lisa.analysis.AnalysisState
- representation() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- representation() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Yields a
DomainRepresentation
of the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
-
Yields a
DomainRepresentation
of the information contained in this set. - representation() - Method in class it.unive.lisa.analysis.nonrelational.Environment
- representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Yields a
DomainRepresentation
of the information contained in this pair. - representation() - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields a
DomainRepresentation
of the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- representation() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- representation() - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a
DomainRepresentation
of the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields a
Call
implementation that corresponds to the resolution of the givenUnresolvedCall
. - resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields a
Call
implementation that corresponds to the resolution of the givenUnresolvedCall
. - ResolvedCall - Interface in it.unive.lisa.program.cfg.statement.call
-
Marker for
Call
s that have already been resolved, and that thus know what are their targets. - resolveInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Resolves the given call as an instance call.
- resolveNonInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Resolves the given call as regular (non-instance) call.
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
-
Yields the
Type
of this operation's result. - resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
- Ret - Class in it.unive.lisa.program.cfg.statement
-
Terminates the execution of the CFG where this statement lies, without returning anything to the caller.
- Ret(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Ret
-
Builds the return, happening at the given location in the program.
- retainAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- retainAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- Return - Class in it.unive.lisa.program.cfg.statement
-
Returns an expression to the caller CFG, terminating the execution of the CFG where this statement lies.
- Return(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Return
-
Builds the return, returning
expression
to the caller CFG, happening at the given location in the program. - RETURNED_VARIABLE_NAME - Static variable in interface it.unive.lisa.interprocedural.OpenCallPolicy
-
The name of the variable storing the return value of the call, if any.
- ReturnTopPolicy - Class in it.unive.lisa.interprocedural
-
An
OpenCallPolicy
, where the post state is exactly the entry state, with the only difference of having a synthetic variable named "open_call_return" assigned to top only if the call returns a value. - rewrite(Statement, Expression...) - Method in class it.unive.lisa.program.cfg.NativeCFG
-
Produces an
NaryExpression
providing the semantics of this native cfg. - rewrite(SymbolicExpression, HeapEnvironment<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
-
Rewrites a
SymbolicExpression
, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocation
s 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 syntheticHeapLocation
s 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
SymbolicExpression
s, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocation
s representing the accessed locations. - rewriteAll(ExpressionSet<SymbolicExpression>, ProgramPoint) - Method in interface it.unive.lisa.analysis.heap.HeapDomain
-
Rewrites all
SymbolicExpression
s, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocation
s representing the accessed locations. - Rewriter() - Constructor for class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- RightToLeftEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
-
A right-to-left
EvaluationOrder
, evaluating expressions in reversed order. - roundDown() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Rounds down this number to the next integer value towards minus infinity (see
RoundingMode.FLOOR
). - roundUp() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Rounds down this number to the next integer value towards plus infinity (see
RoundingMode.CEILING
). - run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableAction
-
Runs the action.
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableSupplier
-
Runs the supplier.
- RuntimeTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the runtime types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if at least one of the runtime types of the actual parameter can be assigned to the type of the formal parameter, then
FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[])
returnstrue
.
S
- sameContent() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields
true
if and only if the two collections used to create this builder contain the same elements, that is, if bothCollectionsDiffBuilder.getOnlyFirst()
andCollectionsDiffBuilder.getOnlySecond()
are empty. - sameNumericTypes(NumericType) - Method in interface it.unive.lisa.type.NumericType
-
Checks if the two implementations of
NumericType
ofthis
andother
represent the same type, and can thus be used interchangeably. - sameStructure(SerializableGraph) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Checks if this graph and the given one share the same structure, that is, if they are equal up to the descriptions of their nodes.
- SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is satisfied.
- satisfies(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Checks whether
expression
is satisfied inenvironment
, assuming that the values of program variables are the ones stored inenvironment
and returning an instance ofSemanticDomain.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
applyingoperator
to two expressions whose runtime types areleft
, andright
. - satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
BinaryExpression
applyingoperator
to two expressions whose abstract values areleft
, andright
. - satisfiesBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
BinaryExpression
applyingoperator
to two expressions whose abstract values areleft
, andright
. - 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
applyingoperator
to three expressions whose runtime types areleft
,middle
andright
. - satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
TernaryExpression
applyingoperator
to three expressions whose abstract values areleft
,middle
andright
. - satisfiesTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
TernaryExpression
applyingoperator
to three expressions whose abstract values areleft
,middle
andright
. - satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose runtime types arearg
, returning an instance ofSemanticDomain.Satisfiability
. - satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
, returning an instance ofSemanticDomain.Satisfiability
. - satisfiesUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
, returning an instance ofSemanticDomain.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)
andSemanticDomain.popScope(ScopeToken)
. - ScopeToken(CodeElement) - Constructor for class it.unive.lisa.analysis.ScopeToken
-
Builds a new scope, referring to the given code element.
- searchCodeMembers(Predicate<CodeMember>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Searches among instance code members, returning a collection containing all members that satisfy the given condition.
- searchGlobals(Predicate<Global>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Searches among instance globals, returning a collection containing all globals that satisfy the given condition.
- SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds.
- SECONDS_AND_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds and milliseconds.
- SemanticCheck<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.checks.semantic
-
A
Check
that is able to exploit both the syntactic structure of the program and the semantic information produced with the fixpoint iteration. - SemanticDomain<D extends SemanticDomain<D,E,I>,E extends SymbolicExpression,I extends Identifier> - Interface in it.unive.lisa.analysis
-
A domain able to determine how abstract information evolves thanks to the semantics of statements and expressions.
- SemanticDomain.Satisfiability - Enum in it.unive.lisa.analysis
-
The satisfiability of an expression.
- SemanticEvaluator - Interface in it.unive.lisa.analysis
-
An entity that can perform semantic evaluations that is not a
SemanticDomain
. - SemanticException - Exception in it.unive.lisa.analysis
-
An exception that occurred during semantic computation.
- SemanticException() - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String, Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticExceptionWrapper - Exception in it.unive.lisa.analysis
-
A runtime exception that wraps a
SemanticException
, so that it can be thrown within lambdas. - SemanticExceptionWrapper(SemanticException) - Constructor for exception it.unive.lisa.analysis.SemanticExceptionWrapper
-
Builds the exception wrapper.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.NullLiteral
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Semantics of an n-ary expression is evaluated by computing the semantics of its sub-expressions, from left to right, using the analysis state from each sub-expression's computation as entry state for the next one.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Ret
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Return
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Throw
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- semantics(N, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and its entry state, computes its exit state relying on its semantics.
This callback is invoked after the overall entry state for a node has been computed throughFixpoint.FixpointImplementation.union(Object, Object, Object)
of the exit states of its predecessors. - semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
-
Yields a new instance of this domain, built by evaluating the semantics of the given heap expression.
- SequentialEdge - Class in it.unive.lisa.program.cfg.edge
-
A sequential edge connecting two statement.
- SequentialEdge() - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
-
Builds an "empty" edge, meaning that it does not have endpoints.
- SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
-
Builds the edge.
- SerializableArray - Class in it.unive.lisa.outputs.serializableGraph
-
An array of serializable values, represented through a list.
- SerializableArray() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Builds the array.
- SerializableArray(SortedMap<String, String>, List<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Builds the array.
- SerializableCFG - Class in it.unive.lisa.outputs.serializableGraph
-
Utility class to build
SerializableGraph
s fromCFG
s. - SerializableEdge - Class in it.unive.lisa.outputs.serializableGraph
-
An edge of a
SerializableGraph
. - SerializableEdge() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Builds an empty (invalid) edge.
- SerializableEdge(int, int, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Builds an edge.
- SerializableGraph - Class in it.unive.lisa.outputs.serializableGraph
-
A graph that can be serialized.
- SerializableGraph() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Builds an empty graph.
- SerializableGraph(String, String, SortedSet<SerializableNode>, SortedSet<SerializableEdge>, SortedSet<SerializableNodeDescription>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Builds a graph.
- SerializableNode - Class in it.unive.lisa.outputs.serializableGraph
-
A node of a
SerializableGraph
, represented by a numeric id. - SerializableNode() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Builds an empty (invalid) node.
- SerializableNode(int, List<Integer>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Builds a node.
- SerializableNodeDescription - Class in it.unive.lisa.outputs.serializableGraph
-
A description for a
SerializableNode
, pairing it with aSerializableValue
. - SerializableNodeDescription() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Builds an empty (invalid) description.
- SerializableNodeDescription(int, SerializableValue) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Builds a description.
- SerializableObject - Class in it.unive.lisa.outputs.serializableGraph
-
A complex serializable object, represented through a set of named serializable fields.
- SerializableObject() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Builds an empty object.
- SerializableObject(SortedMap<String, String>, SortedMap<String, SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Builds an object.
- SerializableString - Class in it.unive.lisa.outputs.serializableGraph
-
A single serializable value, represented in its textual form.
- SerializableString() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Builds an empty (invalid) string.
- SerializableString(SortedMap<String, String>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Builds a string.
- SerializableValue - Class in it.unive.lisa.outputs.serializableGraph
-
A value that can be serialized, as part of a
SerializableNodeDescription
. - SerializableValue() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Builds the value.
- SerializableValue(SortedMap<String, String>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Builds the value.
- serialize(SerializableValue, JsonGenerator, SerializerProvider) - Method in class it.unive.lisa.outputs.serializableGraph.ValueSerializer
- setFirstFollower(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Sets the first follower of this structure, that is, the first statement after the conditional structure exits.
- setId(String) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Sets the string meant to identify this specific result, based on how it has been produced.
- setIndex(int) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the index of this variable.
- SetLattice<S extends SetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic set lattice containing a set of elements.
- SetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.SetLattice
-
Builds the lattice.
- setMessage(String) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Sets the message of this warning.
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Ret
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- setOffset(int) - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeNode
-
Sets the offset of this node to the given value, and then proceeds by setting the one of its nested nodes (if any) to subsequent values.
- setOriginatingStatement(Statement) - Method in interface it.unive.lisa.program.cfg.statement.PluggableStatement
-
Sets the original
Statement
that got rewritten by theis pluggable statement. - setOverridable(boolean) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Sets whether or not the cfg associated to this descriptor can be overridden.
- setParentStatement(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Sets the
Statement
that contains this expression. - setProperty(String, String) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Sets a textual property to enrich the information represented by this instance.
- setProperty(String, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Sets a textual property to enrich the information represented by this value.
- SetRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentation
in the form of a set of values. - SetRepresentation(Set<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
-
Builds a new representation starting from the given set.
- SetRepresentation(Set<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
-
Builds a new representation containing the given set.
- setRuntimeTypes(Set<Type>) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Sets the runtime types to the given set of types.
- setScopeEnd(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the statement where this variable is last visible.
- setScopeStart(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the statement where this variable is first visible.
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Sets the call that this call originated from.
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The shape attribute name.
- ShortAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A short annotation value.
- ShortAnnotationValue(short) - Constructor for class it.unive.lisa.program.annotations.values.ShortAnnotationValue
-
Builds a short annotation value.
- SimpleAbstractState<H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations.
- SimpleAbstractState(H, V, T) - Constructor for class it.unive.lisa.analysis.SimpleAbstractState
-
Builds a new abstract state.
- simplify() - Method in class it.unive.lisa.program.cfg.CFG
-
Simplifies this cfg, removing all
NoOp
s and rewriting the edge set accordingly. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Simplifies this structure, removing all
NoOp
s from its body. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- simplify(Class<? extends N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Simplifies the adjacency matrix beneath this graph, removing all nodes that are instances of
<T>
and rewriting the edge set accordingly. - simplify(Iterable<N>, Collection<N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Simplifies this list, removing all the given nodes and rewriting the edge set accordingly.
- SingleInheritanceTraversalStrategy - Class in it.unive.lisa.program.language.hierarchytraversal
-
A
HierarcyTraversalStrategy
that assumes a single super unit per each unit (Java-like). - size() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Returns the number of elements in this lattice (its cardinality).
- size() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Returns the number of elements in this lattice (its cardinality).
- size() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- size() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the total number of elements stored in this cache.
- size() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- size() - Method in class it.unive.lisa.util.collections.IterableArray
-
Yields the size of this iterable, that is, the length of the array behind this iterable.
- size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- size() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields the size of this working set, that is, the number of elements contained in it.
- Skip - Class in it.unive.lisa.symbolic.value
-
An expression that does nothing.
- Skip(CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Skip
-
Builds the skip.
- smallStepSemantics(E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, that has been modified accordingly to the semantics of the given
expression
. - smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- SourceCodeLocation - Class in it.unive.lisa.program
-
A location of an element in the source code represented by the path to the source code, the line and the column where the element appears.
- SourceCodeLocation(String, int, int) - Constructor for class it.unive.lisa.program.SourceCodeLocation
-
Builds the code element.
- SPECIAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color of a special node (entry or exit).
- StartsWith - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string startsWith operation.
- StartsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.StartsWith
-
Builds the startsWith.
- Statement - Class in it.unive.lisa.program.cfg.statement
-
A statement of the program to analyze.
- Statement(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Statement
-
Builds a statement happening at the given source location.
- StatementStore<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
A functional lattice that stores instances of
AnalysisState
computed on statements. - StatementStore(AnalysisState<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.StatementStore
-
Builds the store.
- StatementWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on a statement.
- StatementWarning(Statement, String) - Constructor for class it.unive.lisa.checks.warnings.StatementWarning
-
Builds the warning.
- STATIC - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Only non-instance code members are targeted by the call.
- StaticTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the static types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if the static type of the actual parameter can be assigned to the type of the formal parameter, then
FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[])
returntrue
. - stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Ret
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Return
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Whether or not this statement stops the execution of the containing cfg, either by throwing an error or returning a value.
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Throw
- StringAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A string annotation value.
- StringAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.StringAnnotationValue
-
Builds a string annotation value.
- StringConcat - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator computes the concatenation of the string from the first argument with the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:StringType
- StringConcat() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringConcat
-
Builds the type.
- StringContains - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator checks if the string from the first argument contains the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:BooleanType
- StringContains() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringContains
-
Builds the type.
- StringEndsWith - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator checks if the string from the first argument is suffixed by the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:BooleanType
- StringEndsWith() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
-
Builds the type.
- StringEquals - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator checks if the string from the first argument is equal (in terms of contents, that is different fromComparisonEq
) to the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:BooleanType
- StringEquals() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEquals
-
Builds the type.
- StringIndexOf - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator computes the starting index of the first occurrence of the string from the second argument inside the one of the first argument, producing-1
if no occurrence can be found.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:NumericType
(integral) - StringIndexOf() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
-
Builds the type.
- StringLength - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a string value, a
UnaryExpression
using this operator computes an integral value, from0
upwards, representing the length of that value.
Argument expression type:StringType
Computed expression type:NumericType
(integral) - StringLength() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.StringLength
-
Builds the type.
- StringLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A
Literal
representing a constant string value. - StringLiteral(CFG, CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.statement.literal.StringLiteral
-
Builds the literal.
- StringOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperator
andStringOperator
, providing aStringOperation.typeInference(TypeSystem, Set, Set)
implementation that returns an empty set if noStringType
can be found in one of the arguments, and a singleton set containingStringOperation.resultType(TypeSystem)
otherwise. - StringOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringOperation
- StringOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation manipulating one or more values of type
StringType
. - StringReplace - Class in it.unive.lisa.symbolic.value.operator.ternary
-
Given three expressions that all evaluate to string values, a
TernaryExpression
using this operator computes a new string corresponding to the first argument's string where all occurrences of the second argument's string have been replaced with the third argument's string.
Note that: if the first argument's string is empty, the empty string is returned if the second argument's string is empty, the third argument's string is added in any position of the first argument's string if the third argument's string is empty, occurrences of the second argument's string are simply removed from the first argument's string
First argument expression type:StringType
Second argument expression type:StringType
Third argument expression type:StringType
Computed expression type:StringType
- StringReplace() - Constructor for class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
-
Builds the type.
- StringRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentation
in the form of a single string element. - StringRepresentation(Object) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
-
Builds a new representation starting from the given object.
- StringRepresentation(String) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
-
Builds a new representation containing the given string.
- StringStartsWith - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpression
using this operator checks if the string from the first argument is prefixed by the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:BooleanType
- StringStartsWith() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
-
Builds the type.
- StringSubstring - Class in it.unive.lisa.symbolic.value.operator.ternary
-
Given three expressions, with the first one evaluating to a string value and the second and third one evaluating to integral numerical values, a
TernaryExpression
using this operator computes a new string corresponding to the portion of first argument's string starting at the second argument's number position (inclusive) and ending at the third argument's number position (exclusive).
Note that: both second and third argument's numbers must be non-negative and less than the length of the first argument's string, with the second one's less or equal than the third one's if the second and third argument's numbers are equal, the empty string is returned
First argument expression type:StringType
Second argument expression type:NumericType
Third argument expression type:NumericType
Computed expression type:StringType
- StringSubstring() - Constructor for class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
-
Builds the type.
- StringType - Class in it.unive.lisa.type.common
-
An implementation of the
StringType
. - StringType - Interface in it.unive.lisa.type
-
String type interface.
- StringType() - Constructor for class it.unive.lisa.type.common.StringType
-
Builds the type.
- STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The style attribute name.
- Substring - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string substring operation.
- Substring(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Substring
-
Builds the substring.
- subtract(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this - other
. - Subtraction - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the subtraction operation (
-
). - Subtraction(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Subtraction
-
Builds the subtraction.
- SubtractionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a subtraction between its operands.
- supertype(NumericType) - Method in interface it.unive.lisa.type.NumericType
- 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
- 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
SemanticDomain
s. - 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 threeSymbolicExpression
s. - 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 threeSymbolicExpression
. - ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Replace
- ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Substring
- ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Computes the semantics of the expression, after the semantics of the sub-expressions have been computed.
- Throw - Class in it.unive.lisa.program.cfg.statement
-
A statement that raises an error, stopping the execution of the current CFG and propagating the error to among the call chain.
- Throw(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Throw
-
Builds the throw, raising
expression
as error, happening at the given location in the program. - throwsError() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Whether or not this statement throws an error, halting the normal execution of the containing cfg.
- throwsError() - Method in class it.unive.lisa.program.cfg.statement.Throw
- TimeFormat - Enum in it.unive.lisa.logging
-
Time formatting utility.
- TimerLogger - Class in it.unive.lisa.logging
-
An utility class that allows automatic logging of the execution time of a method.
- TimerLogger.LoggableAction - Interface in it.unive.lisa.logging
-
A
Runnable
executing a function with no arguments a no return value. - TimerLogger.LoggableSupplier<R> - Interface in it.unive.lisa.logging
-
A
Supplier
producing one element. - toArray() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toArray() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- toDot() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to a
DotGraph
. - toGraphml(boolean) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to a
GraphmlGraph
. - toHtml(boolean, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to an
HtmlGraph
. - top() - Method in class it.unive.lisa.analysis.AnalysisState
- top() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- top() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- top() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the top element of this lattice.
- top() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- top() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- top() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- top() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- top() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- top() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- top() - Method in class it.unive.lisa.analysis.StatementStore
- top() - Method in class it.unive.lisa.analysis.symbols.Aliases
- top() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent top values.
- topRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
-
Yields a fresh
DomainRepresentation
that can be used to represent top values. - toSerializableGraph() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraph
built from this one. - toSerializableGraph(Function<Statement, SerializableValue>) - Method in class it.unive.lisa.program.cfg.CFG
- toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- toSerializableGraph(Function<N, SerializableValue>) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraph
built from this one. - toSerializableValue() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Produces a serializable version of this representation.
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.analysis.AnalysisState
- toString() - Method in class it.unive.lisa.analysis.BaseLattice
- toString() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- toString() - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- toString() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- toString() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- toString() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.analysis.ScopeToken
- toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- toString() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- toString() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- toString() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- toString() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- toString() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- toString() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- toString() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- toString() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- toString() - Method in class it.unive.lisa.checks.warnings.Warning
- toString() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- toString() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- toString() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- toString() - Method in class it.unive.lisa.outputs.GraphStreamWrapper
- toString() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- toString() - Method in class it.unive.lisa.outputs.json.JsonReport
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- toString() - Method in class it.unive.lisa.program.annotations.Annotation
- toString() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- toString() - Method in class it.unive.lisa.program.annotations.Annotations
- toString() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- toString() - Method in class it.unive.lisa.program.cfg.CFG
- toString() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- toString() - Method in class it.unive.lisa.program.cfg.edge.Edge
- toString() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- toString() - Method in class it.unive.lisa.program.cfg.NativeCFG
- toString() - Method in class it.unive.lisa.program.cfg.Parameter
- toString() - Method in class it.unive.lisa.program.cfg.statement.Assignment
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.Call
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- toString() - Method in class it.unive.lisa.program.cfg.statement.literal.StringLiteral
- toString() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- toString() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- toString() - Method in class it.unive.lisa.program.cfg.statement.Ret
- toString() - Method in class it.unive.lisa.program.cfg.statement.Return
- toString() - Method in class it.unive.lisa.program.cfg.statement.Statement
- toString() - Method in class it.unive.lisa.program.cfg.statement.Throw
- toString() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- toString() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- toString() - Method in class it.unive.lisa.program.Global
- toString() - Method in class it.unive.lisa.program.SourceCodeLocation
- toString() - Method in class it.unive.lisa.program.Unit
- toString() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- toString() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- toString() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.Constant
- toString() - Method in class it.unive.lisa.symbolic.value.HeapLocation
- toString() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- toString() - Method in class it.unive.lisa.symbolic.value.NullConstant
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitSub
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitSub
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitSub
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitSub
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.StringStartsWith
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
- toString() - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
- toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
- toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
- toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
- toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
- toString() - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
- toString() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- toString() - Method in class it.unive.lisa.symbolic.value.PushAny
- toString() - Method in class it.unive.lisa.symbolic.value.Skip
- toString() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.Variable
- toString() - Method in class it.unive.lisa.type.common.BoolType
- toString() - Method in class it.unive.lisa.type.common.Float32Type
- toString() - Method in class it.unive.lisa.type.common.Float64Type
- toString() - Method in class it.unive.lisa.type.common.Int16Type
- toString() - Method in class it.unive.lisa.type.common.Int32Type
- toString() - Method in class it.unive.lisa.type.common.Int64Type
- toString() - Method in class it.unive.lisa.type.common.Int8Type
- toString() - Method in class it.unive.lisa.type.common.StringType
- toString() - Method in class it.unive.lisa.type.common.UInt16Type
- toString() - Method in class it.unive.lisa.type.common.UInt32Type
- toString() - Method in class it.unive.lisa.type.common.UInt64Type
- toString() - Method in class it.unive.lisa.type.common.UInt8Type
- toString() - Method in class it.unive.lisa.type.NullType
- toString() - Method in class it.unive.lisa.type.ReferenceType
- toString() - Method in class it.unive.lisa.type.TypeTokenType
- toString() - Method in class it.unive.lisa.type.Untyped
- toString() - Method in class it.unive.lisa.type.VoidType
- toString() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toString() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
- toString() - Method in class it.unive.lisa.util.collections.IterableArray
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- toString() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- toString() - Method in class it.unive.lisa.util.numeric.IntInterval
- toString() - Method in class it.unive.lisa.util.numeric.MathNumber
- toSymbolicVariable() - Method in class it.unive.lisa.program.cfg.Parameter
-
Creates a
Variable
that represent this parameter, that can be used bySemanticDomain
s to reference this parameter. - toSymbolicVariable(CodeLocation) - Method in class it.unive.lisa.program.Global
-
Creates a
Variable
that represent this global, that can be used bySemanticDomain
s to reference it. - tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
-
Yields
true
if the domain tracks information on the identifierid
,false
otherwise. - transform(UnaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Transforms this set into another set where each element is obtained by transforming elements of this set.
- traverse(E, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given an edge and a state, computes a new state by modifying the given one assuming that the edge gets traversed.
This callback is invoked while computing the overall entry state for a node to filter a state according to the logic of the edge (an edge might be always traversed, or only if a condition holds). - traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.Edge
-
Traverses this edge, optionally modifying the given
sourceState
by applying semantic assumptions. - traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- traverse(Statement, CompilationUnit) - Method in interface it.unive.lisa.program.language.hierarchytraversal.HierarcyTraversalStrategy
-
Yields an iterable containing (or generating on-the-fly) compilation units in the order they should be visited for traversing a type hierarchy to find targets of calls or global accesses.
- traverse(Statement, CompilationUnit) - Method in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
- TrueEdge - Class in it.unive.lisa.program.cfg.edge
-
An edge connecting two statements, that is traversed when the condition expressed in the source state holds.
- TrueEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.TrueEdge
-
Builds the edge.
- TrueLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A
Literal
representing thetrue
boolean value. - TrueLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.TrueLiteral
-
Builds the literal.
- truncate(Expression[]) - Static method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
-
Truncates the given array of expressions by removing the first element.
- TruncatedParamsCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call that wraps another one that has been created through
CanRemoveReceiver.removeFirstParameter()
. - TruncatedParamsCall(Call) - Constructor for class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
-
Builds the call.
- Type - Interface in it.unive.lisa.type
-
Type interface.
- TYPE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
TypeDomain
inside theDomainRepresentation
returned bySemanticDomain.representation()
. - TypeCast - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpression
using this operator casts the type of the first argument to the type of the second argument. - TypeCast() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCast
-
Builds the type.
- TypeCheck - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpression
using this operator checks if the runtime types of the value the first argument evaluates to are subtypes of the ones contained in the token.
First argument expression type: anyType
Second argument expression type:TypeTokenType
Computed expression type:BooleanType
- TypeCheck() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
-
Builds the type.
- TypeConv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpression
using this operator converts the type of the first argument to the type of the second argument. - TypeConv() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeConv
-
Builds the type.
- TypeDomain<T extends TypeDomain<T>> - Interface in it.unive.lisa.analysis.value
-
An domain that is able to determine the runtime types of an expression given the runtime types of its operands.
- TypeEnvironment<T extends NonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
An environment for a
NonRelationalTypeDomain
, that mapsIdentifier
s to instances of such domain. - TypeEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
-
Builds an empty environment.
- TypeEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
-
Builds an environment containing the given mapping.
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
- typeInference(TypeSystem, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.unary.UnaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the argument of this expression has the given types.
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.binary.BinaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
- TypeOf - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given any expression, a
UnaryExpression
using this operator computes the type(s) of that expression.
Argument expression type: anyType
Computed expression type:TypeTokenType
containing all types of argument - TypeOf() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.TypeOf
-
Builds the type.
- TypeOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation manipulating the types of concrete values.
- TypeSystem - Class in it.unive.lisa.type
-
A type system, knowing about the types that can appear in a
Program
. - TypeSystem() - Constructor for class it.unive.lisa.type.TypeSystem
-
Builds an empty type system, where only
TypeSystem.getBooleanType()
,TypeSystem.getStringType()
andTypeSystem.getIntegerType()
are registered. - TypeTokenType - Class in it.unive.lisa.type
-
The type of type tokens, used as reference to types in code.
- TypeTokenType(Set<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
-
Builds the type token representing the given types.
U
- UInt16Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 16-bit unsigned
Literal
representing a constant integral value. - UInt16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt16Literal
-
Builds the literal.
- UInt16Type - Class in it.unive.lisa.type.common
-
An unsigned 16-bit integral
NumericType
. - UInt16Type() - Constructor for class it.unive.lisa.type.common.UInt16Type
-
Builds the type.
- UInt32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit unsigned
Literal
representing a constant integral value. - UInt32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt32Literal
-
Builds the literal.
- UInt32Type - Class in it.unive.lisa.type.common
-
An unsigned 32-bit integral
NumericType
. - UInt32Type() - Constructor for class it.unive.lisa.type.common.UInt32Type
-
Builds the type.
- UInt64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit unsigned
Literal
representing a constant integral value. - UInt64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt64Literal
-
Builds the literal.
- UInt64Type - Class in it.unive.lisa.type.common
-
An unsigned 64-bit integral
NumericType
. - UInt64Type() - Constructor for class it.unive.lisa.type.common.UInt64Type
-
Builds the type.
- UInt8Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
An 8-bit unsigned
Literal
representing a constant integral value. - UInt8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt8Literal
-
Builds the literal.
- UInt8Type - Class in it.unive.lisa.type.common
-
An unsigned 8-bit integral
NumericType
. - UInt8Type() - Constructor for class it.unive.lisa.type.common.UInt8Type
-
Builds the type.
- UnaryExpression - Class in it.unive.lisa.program.cfg.statement
-
An
NaryExpression
with a single sub-expression. - UnaryExpression - Class in it.unive.lisa.symbolic.value
-
A unary expression that applies a
UnaryOperator
to aSymbolicExpression
. - 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 singleSymbolicExpression
. - unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.Not
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Negation
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Length
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Computes the semantics of the expression, after the semantics of the sub-expression has been computed.
- UnaryStatement - Class in it.unive.lisa.program.cfg.statement
-
A unary statement.
- UnaryStatement(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Builds the unary statement, happening at the given location in the program.
- union(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- union(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the union of this set and another.
- union(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, computes their union (i.e.
- Unit - Class in it.unive.lisa.program
-
A unit of the program to analyze.
- Unit(String) - Constructor for class it.unive.lisa.program.Unit
-
Builds a unit, defined at the given location.
- UnitType - Interface in it.unive.lisa.type
-
Interface for types that are introduced by a
ClassUnit
. - UnitWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Units under analysis.
- UnitWarning(Unit, String) - Constructor for class it.unive.lisa.checks.warnings.UnitWarning
-
Builds the warning.
- UniversalExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
-
An
ExternalSet
that always stays up-to-date with the contents of the underlying factory, but that cannot be modified. - UNKNOWN - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that it is not possible to determine whether or not an expression is satisfied.
- UNKNOWN - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Both instance and non-instance code members are targeted by the call.
- UNKNOWN_ENTRYPOINTS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for entrypoints not defined inside the
Program
. - UnresolvedCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call that happens inside the program to analyze.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- Untyped - Class in it.unive.lisa.type
-
The untyped type, corresponding to an unknown/untyped type.
- Untyped() - Constructor for class it.unive.lisa.type.Untyped
-
Builds the type.
- UP_TO_HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours, minutes, seconds, milliseconds and nanoseconds.
- UP_TO_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds and nanoseconds.
- UP_TO_MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes, seconds, milliseconds and nanoseconds.
- UP_TO_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds, milliseconds and nanoseconds.
V
- validate() - Method in class it.unive.lisa.program.cfg.CFG
-
Validates this cfg, ensuring that the code contained in it is well formed.
- validate() - Method in interface it.unive.lisa.program.cfg.CodeMember
-
Validates this cfg, ensuring that the code contained in it is well formed.
- validate(CodeMember, boolean) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CodeMember
, checking that no other code member exists in its containingUnit
with the same signature, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor)
. - validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Validates this matrix, ensuring that the it is well formed.
- validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Validates this list, ensuring that the it is well formed.
- validateAndFinalize(AbstractClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
AbstractClassUnit
. - validateAndFinalize(ClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
ClassUnit
. - validateAndFinalize(CodeUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CodeUnit
. - validateAndFinalize(CompilationUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CompilationUnit
. - validateAndFinalize(InterfaceUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
InterfaceUnit
. - validateAndFinalize(Program) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
Program
, ensuring its consistency. - validateAndFinalize(Program) - Method in interface it.unive.lisa.program.language.validation.ProgramValidationLogic
-
Validates the given
Program
, ensuring its consistency. - validateAndFinalize(Unit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given unit, ensuring its consistency.
- VALUE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
ValueDomain
inside theDomainRepresentation
returned bySemanticDomain.representation()
. - ValueDeserializer - Class in it.unive.lisa.outputs.serializableGraph
-
Custom Jackson deserializer for
SerializableValue
s, built to read back what is serialized byValueSerializer
. - ValueDeserializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
-
Builds the deserializer.
- ValueDeserializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
-
Builds the deserializer.
- ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis.value
-
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations.
- ValueEnvironment<T extends NonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
An environment for a
NonRelationalValueDomain
, that mapsIdentifier
s to instances of such domain. - ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Builds an empty environment.
- ValueEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Builds an environment containing the given mapping.
- ValueExpression - Class in it.unive.lisa.symbolic.value
-
A symbolic expression that represents an operation on the program's state.
- ValueExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.ValueExpression
-
Builds the heap expression.
- valueOf(String) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- ValueSerializer - Class in it.unive.lisa.outputs.serializableGraph
-
Custom Jackson serializer for
SerializableValue
s that tries to reduce the size of the generated json files. - ValueSerializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
-
Builds the serializer.
- ValueSerializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
-
Builds the serializer.
- variable(Identifier, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields a fixed abstraction of the given variable.
- Variable - Class in it.unive.lisa.symbolic.value
-
An identifier of a real program variable.
- Variable(Type, String, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
-
Builds the variable with annotations.
- Variable(Type, String, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
-
Builds the variable.
- VariableRef - Class in it.unive.lisa.program.cfg.statement
-
A reference to a variable of the current CFG, identified by its name.
- VariableRef(CFG, CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
-
Builds the untyped variable reference, identified by its name.
- VariableRef(CFG, CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
-
Builds the variable reference, identified by its name, happening at the given location in the program.
- VariableTableEntry - Class in it.unive.lisa.program.cfg
-
An entry in the variable table representing a CFG variable identified by its index, containing the information about the source file, line and column where the variable is defined.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds an untyped variable table entry, identified by its index.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds the variable table entry, identified by its index, representing a variable defined at the given location in the program.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type, Annotations) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds the variable table entry with its annotations, identified by its index, representing a variable defined at the given location in the program.
- VariableTableEntry(CodeLocation, int, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds an untyped variable table entry, identified by its index.
- visit(AccessChild, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits an
AccessChild
. - visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapAllocation
. - visit(HeapDereference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapDereference
. - visit(HeapReference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapReference
. - visit(BinaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(BinaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
BinaryExpression
. - visit(Constant, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Constant, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Constant
. - visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Identifier, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits an
Identifier
. - visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(PushAny, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
PushAny
. - visit(Skip, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Skip, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Skip
. - visit(TernaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(TernaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
TernaryExpression
. - visit(UnaryExpression, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(UnaryExpression, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
UnaryExpression
. - visit(V, G) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a graph, inspecting its structure and signature, but without accessing its contents.
- visit(V, G, E) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits an edge of the given graph.
- visit(V, G, N) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a node of the given graph.
- visitGlobal(T, Unit, Global, boolean) - Method in interface it.unive.lisa.checks.Check
-
Visits the given global.
- VisitOnceWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A working set that guarantees that each element will be added to this working set no more than once.
- visitUnit(T, Unit) - Method in interface it.unive.lisa.checks.Check
-
Visits the given unit.
- VoidType - Class in it.unive.lisa.type
-
The void type.
- VoidType() - Constructor for class it.unive.lisa.type.VoidType
-
Builds the type.
W
- warn(String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning that is meant to be a generic warning on the program.
- Warning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- Warning(String) - Constructor for class it.unive.lisa.checks.warnings.Warning
-
Builds the warning.
- WARNINGS - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated warnings.
- WarningWithLocation - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- WarningWithLocation(CodeLocation, String) - Constructor for class it.unive.lisa.checks.warnings.WarningWithLocation
-
Builds the warning.
- warnOn(CFG, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given cfg.
- warnOn(CodeMemberDescriptor, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the cfg represented by the given descriptor.
- warnOn(Expression, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given expression.
- warnOn(Statement, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given statement.
- warnOn(Unit, Global, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given global.
- warnOn(Unit, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given unit.
- widening(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- widening(L) - Method in class it.unive.lisa.analysis.BaseLattice
- widening(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the widening operation between this lattice element and the given one.
- wideningAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- wideningAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- wideningAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- wideningAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- wideningAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- wideningAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- wideningAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the widening operation between this lattice element and the given one, assuming that base cases have already been handled.
- WorkingSet<E> - Interface in it.unive.lisa.util.collections.workset
-
A working set, containing items to be processed.
- WorstCasePolicy - Class in it.unive.lisa.interprocedural
-
A worst-case
OpenCallPolicy
, where the whole analysis state becomes top and all information is lost.
Z
- ZERO - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[0, 0]
. - ZERO - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant
0
.
All Classes All Packages