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
- abs() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the absolute value of this number.
- 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 - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The
AbstractState
instance to run during the analysis. - AbstractState<A extends AbstractState<A>> - 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.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.heap.MemoryAllocation
- 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.PushInv
- 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<CallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- accept(GraphVisitor<CallGraph, 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.DefaultParamInitialization
- 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.NaryStatement
- 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.VariableRef
- acceptsEmptyLanguage() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Checks if the Automaton
this
accepts the empty language. - 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.
- accumulator() - Method in class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- accumulator() - Method in class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
- 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. - 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. - addState(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Adds a new state to this automaton.
- 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. - addTransition(State, State, T) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Builds a new transition going from
from
toto
and recognizinginput
and adds it to the set of transitions of this automaton. - addTransition(Transition<T>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Adds the given transition to the set of transitions of this automaton.
- 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.symbols.SymbolAliasing
-
Registers an alias for the given symbol.
- alias(SymbolicExpression, SymbolicExpression, HeapEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
-
Yields whether or not the two given expressions are aliases, that is, if they point to the same region of memory.
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Yields whether or not the two given expressions are aliases, that is, if they point to the same region of memory.
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- 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.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
RuntimeException
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
AnalysisException
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.
- analysisGraphs - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
Sets the format to use for dumping graph files, named
<cfg signature>[optional numeric hash].<format>
, in the working directory at the end of the analysis. - 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>> - Class in it.unive.lisa.analysis
-
The abstract analysis state at a given program point.
- AnalysisState(A, ExpressionSet) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, ExpressionSet, FixpointInfo) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, SymbolicExpression) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, SymbolicExpression, FixpointInfo) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalyzedCFG<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
- AnalyzedCFG(CFG, ScopeId, AnalysisState<A>) - Constructor for class it.unive.lisa.analysis.AnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- AnalyzedCFG(CFG, ScopeId, AnalysisState<A>, Map<Statement, AnalysisState<A>>, Map<Statement, AnalysisState<A>>) - Constructor for class it.unive.lisa.analysis.AnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- AnalyzedCFG(CFG, ScopeId, StatementStore<A>, StatementStore<A>) - Constructor for class it.unive.lisa.analysis.AnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- and(Satisfiability) - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
-
Performs a logical and between this satisfiability and the given one.
- 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(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>, ExpressionSet[]) - Method in interface it.unive.lisa.interprocedural.OpenCallPolicy
-
Applies the policy to the given open call.
- apply(OpenCall, AnalysisState<A>, ExpressionSet[]) - Method in class it.unive.lisa.interprocedural.ReturnTopPolicy
- apply(OpenCall, AnalysisState<A>, ExpressionSet[]) - Method in class it.unive.lisa.interprocedural.WorstCasePolicy
- applyReplacement(HeapSemanticOperation.HeapReplacement, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.type.TypeDomain
-
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in the
HeapDomain
of the analysis. - applyReplacement(HeapSemanticOperation.HeapReplacement, ProgramPoint, SemanticOracle) - 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. - areMutuallyReachable(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Yields whether or not the
Identifier
represented (directly or after rewriting) by the second expression is reachable starting from theIdentifier
represented (directly or after rewriting) by the first expression, and vice versa. - areMutuallyReachable(State, State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields
true
if and only if the two given states are mutually reachable, that is, if there exist a path going froms1
tos2
and one going froms2
tos1
. - 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
- asAtom() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- asBooleanType() - Method in interface it.unive.lisa.type.Type
- AscendingFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses ascending chains using lubs and widenings. - AscendingFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.AscendingFixpoint
-
Builds the fixpoint implementation.
- asChar() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
-
Converts this symbolic character to a normal character.
- asComp() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- asEmptySet() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- 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
- asOr() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- asPointerType() - Method in interface it.unive.lisa.type.Type
- asReferenceType() - Method in interface it.unive.lisa.type.Type
- assign(I, E, ProgramPoint, SemanticOracle) - 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, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state, where
id
has been assigned tovalue
. - assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- 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. - asStar() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- asStringType() - Method in interface it.unive.lisa.type.Type
- assume(E, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- assume(E, ProgramPoint, ProgramPoint, SemanticOracle) - 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, ProgramPoint, SemanticOracle) - 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, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- assume(TypeEnvironment<T>, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- assume(ValueEnvironment<T>, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- assume(SymbolicExpression, ProgramPoint, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state, modified by assuming that the given expression holds.
- assume(ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- assume(ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- assumeBinaryExpression(TypeEnvironment<T>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in interface 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, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the environment
environment
assuming that a binary expression with operatoroperator
, left argumentleft
, and right argumentright
holds. - assumeTernaryExpression(TypeEnvironment<T>, TernaryOperator, ValueExpression, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in interface 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, ProgramPoint, SemanticOracle) - Method in interface 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, ProgramPoint, SemanticOracle) - Method in interface 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, ProgramPoint, SemanticOracle) - Method in interface 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
- Atom - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing a single string. - Atom(String) - Constructor for class it.unive.lisa.util.datastructures.regex.Atom
-
Builds the atom.
- AutomataFactory<A extends Automaton<A,T>,T extends TransitionSymbol<T>> - Interface in it.unive.lisa.util.datastructures.automaton
-
A factory for creating instances of
Automaton
. - Automaton<A extends Automaton<A,T>,T extends TransitionSymbol<T>> - Class in it.unive.lisa.util.datastructures.automaton
-
A class that describes a generic automaton(dfa, nfa, epsilon nfa).
- Automaton() - Constructor for class it.unive.lisa.util.datastructures.automaton.Automaton
-
Builds an empty automaton.
- Automaton(SortedSet<State>, SortedSet<Transition<T>>) - Constructor for class it.unive.lisa.util.datastructures.automaton.Automaton
-
Builds a new automaton with given
states
andtransitions
.
B
- BackwardAnalyzedCFG<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
- BackwardAnalyzedCFG(CFG, ScopeId, AnalysisState<A>) - Constructor for class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- BackwardAnalyzedCFG(CFG, ScopeId, AnalysisState<A>, Map<Statement, AnalysisState<A>>, Map<Statement, AnalysisState<A>>) - Constructor for class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- BackwardAnalyzedCFG(CFG, ScopeId, StatementStore<A>, StatementStore<A>) - Constructor for class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- BackwardAscendingFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses ascending chains using lubs and widenings. - BackwardAscendingFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.BackwardAscendingFixpoint
-
Builds the fixpoint implementation.
- BackwardCFGFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
Fixpoint.FixpointImplementation
forCFG
s. - BackwardCFGFixpoint(CFG, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
-
Builds the fixpoint implementation.
- BackwardDescendingGLBFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses descending chains using glbs up to threshold. - BackwardDescendingGLBFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingGLBFixpoint
-
Builds the fixpoint implementation.
- BackwardDescendingNarrowingFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses descending chains using narrowings. - BackwardDescendingNarrowingFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingNarrowingFixpoint
-
Builds the fixpoint implementation.
- backwardFixpoint(AnalysisState<A>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a backward fixpoint over this control flow graph.
- backwardFixpoint(AnalysisState<A>, Map<Statement, AnalysisState<A>>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a backward fixpoint over this control flow graph.
- backwardFixpoint(Collection<Statement>, AnalysisState<A>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a backward fixpoint over this control flow graph.
- BackwardFixpoint<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 backward fixpoint algorithm for a
Graph
, parametric to theFixpoint.FixpointImplementation
that one wants to use to compute the results. - BackwardFixpoint(G, boolean) - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Builds a fixpoint for the given
Graph
. - BackwardOptimizedAnalyzedCFG<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
-
A
BackwardAnalyzedCFG
that has been built using anOptimizedBackwardFixpoint
. - BackwardOptimizedAnalyzedCFG(CFG, ScopeId, AnalysisState<A>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- BackwardOptimizedAnalyzedCFG(CFG, ScopeId, AnalysisState<A>, Map<Statement, AnalysisState<A>>, Map<Statement, AnalysisState<A>>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- BackwardOptimizedAnalyzedCFG(CFG, ScopeId, StatementStore<A>, StatementStore<A>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- backwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- backwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Semantics of an n-ary statements is evaluated by computing the semantics of its sub-expressions, in the specified order, using the analysis state from each sub-expression's computation as entry state for the next one.
- backwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Computes the backward semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryStatement
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Computes the backward semantics of the expression, after the semantics of all sub-expressions have been computed.
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Computes the backward semantics of the statement, after the semantics of all sub-expressions have been computed.
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryStatement
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
- backwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- 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
- BaseConfiguration - Class in it.unive.lisa.conf
-
A holder for the configuration of a
LiSA
analysis. - BaseConfiguration() - Constructor for class it.unive.lisa.conf.BaseConfiguration
- BaseDiffAlgorithm() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer.BaseDiffAlgorithm
- 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>> - Interface in it.unive.lisa.analysis.heap
-
A base implementation of the
HeapDomain
interface, handling base cases ofBaseHeapDomain.smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle)
. - BaseHeapDomain.Rewriter - Class in it.unive.lisa.analysis.heap
- BaseInferredValue<T extends BaseInferredValue<T>> - Interface in it.unive.lisa.analysis.nonrelational.inference
-
Base implementation for
InferredValue
s. - BaseInferredValue.EvaluationVisitor<T extends BaseInferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
A
ExpressionVisitor
forBaseInferredValue
instances. - BaseLattice<L extends BaseLattice<L>> - Interface in it.unive.lisa.analysis
-
A base implementation of the
Lattice
interface, handling base cases of the methods exposed by that interface. - BaseNonRelationalTypeDomain<T extends BaseNonRelationalTypeDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalTypeDomain
s. - BaseNonRelationalTypeDomain.EvaluationVisitor<T extends BaseNonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
A
ExpressionVisitor
forBaseNonRelationalTypeDomain
instances. - BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalValueDomain
s. - BaseNonRelationalValueDomain.EvaluationVisitor<T extends BaseNonRelationalValueDomain<T>> - 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
. - BinaryStatement - Class in it.unive.lisa.program.cfg.statement
-
An
NaryStatement
with exactly two sub-expressions. - BinaryStatement(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryStatement
-
Builds the statement, happening at the given location in the program.
- BinaryStatement(CFG, CodeLocation, String, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryStatement
-
Builds the statement, happening at the given location in the program.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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.
- bottom() - Method in class it.unive.lisa.analysis.AnalysisState
- bottom() - Method in class it.unive.lisa.analysis.AnalyzedCFG
- bottom() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- bottom() - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- bottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- bottom() - Method in class it.unive.lisa.analysis.FixpointInfo
- 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.ExpressionInverseSet
- bottom() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- bottom() - Method in class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
- bottom() - Method in class it.unive.lisa.analysis.lattices.GenericMapLattice
- bottom() - Method in class it.unive.lisa.analysis.lattices.GenericSetLattice
- bottom() - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
- 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 class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- 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() - Method in class it.unive.lisa.interprocedural.CFGResults
- bottom() - Method in class it.unive.lisa.interprocedural.FixpointResults
- bottom() - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- BOTTOM - it.unive.lisa.analysis.lattices.Satisfiability
-
Represent the fact that the satisfiability evaluation resulted in an error.
- BOTTOM - Static variable in class it.unive.lisa.analysis.FixpointInfo
-
The unique bottom instance of this class.
- 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
StructuredRepresentation
that can be used to represent bottom values throughStructuredObject.representation()
. - build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators for the given graph.
- build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.SCCs
-
Builds the strongly connected components for the given graph.
- buildNonTrivial(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.SCCs
-
Builds the strongly connected components for the given graph.
- bwdBinarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Computes the backward semantics of the expression, after the semantics of the sub-expressions have been computed.
- bwdBinarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryStatement
-
Computes the backward semantics of the statement, after the semantics of the sub-expressions have been computed.
- bwdEvaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Evaluates the given sub-expressions according to this order, but in reverse order and using the backward semantics.
- bwdEvaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- bwdEvaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- bwdTernarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Computes the backward semantics of the expression, after the semantics of the sub-expressions have been computed.
- bwdTernarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryStatement
-
Computes the backwards semantics of the statement, after the semantics of the sub-expressions have been computed.
- bwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Computes the backward semantics of the expression, after the semantics of the sub-expression has been computed.
- bwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Computes the backward semantics of the statement, after the semantics of the sub-expression has been computed.
- 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 - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The
CallGraph
instance to use during the analysis. - CallGraph - Class in it.unive.lisa.interprocedural.callgraph
-
A callgraph of the program to analyze, that knows how to resolve dynamic targets of
UnresolvedCall
s. - CallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraph
- 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(CallGraph, 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.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). - canBeReferenced(Type) - Method in class it.unive.lisa.type.TypeSystem
-
Yields whether or not values of the given type can be referenced, that is, if a pointer to memory locations containing them can be created.
- canBeScoped() - Method in class it.unive.lisa.symbolic.value.HeapLocation
- canBeScoped() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields
true
if a call toSymbolicExpression.pushScope(ScopeToken)
on this identifier yields a newOutOfScopeIdentifier
associated with the given scope, that can then be removed bySymbolicExpression.popScope(ScopeToken)
. - canBeScoped() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- canBeScoped() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- canBeScoped() - Method in class it.unive.lisa.symbolic.value.Variable
- CANNOT_COMPARE_ERROR - Static variable in class it.unive.lisa.analysis.AnalyzedCFG
-
Error message for the inability to compare two graphs.
- CANNOT_COMPARE_ERROR - Static variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Error message for the inability to compare two graphs.
- CANNOT_GLB_ERROR - Static variable in class it.unive.lisa.analysis.AnalyzedCFG
-
Error message for the inability to glb two graphs.
- CANNOT_GLB_ERROR - Static variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Error message for the inability to glb two graphs.
- CANNOT_LUB_ERROR - Static variable in class it.unive.lisa.analysis.AnalyzedCFG
-
Error message for the inability to lub two graphs.
- CANNOT_LUB_ERROR - Static variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Error message for the inability to lub two graphs.
- CANNOT_NARROW_ERROR - Static variable in class it.unive.lisa.analysis.AnalyzedCFG
-
Error message for the inability to narrow two graphs.
- CANNOT_NARROW_ERROR - Static variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Error message for the inability to narrow two graphs.
- CANNOT_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for the overriding of a non-overridable
CodeMember
. - CANNOT_WIDEN_ERROR - Static variable in class it.unive.lisa.analysis.AnalyzedCFG
-
Error message for the inability to widen two graphs.
- CANNOT_WIDEN_ERROR - Static variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Error message for the inability to widen two graphs.
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - 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.
- CFGFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
Fixpoint.FixpointImplementation
forCFG
s. - CFGFixpoint(CFG, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
-
Builds the fixpoint implementation.
- CFGFixpoint.CompoundState<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A compound state for a
Statement
, holding the post-state of the whole statement as well as the ones of the inner expressions. - cfgMatrix - Variable in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
The matrix of the cfg containing this structure.
- CFGResults<A extends AbstractState<A>> - Class in it.unive.lisa.interprocedural
- CFGResults(AnalyzedCFG<A>) - Constructor for class it.unive.lisa.interprocedural.CFGResults
-
Builds a new result.
- cfgs - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
CFG
s that were submitted to the analysis. - 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.
- characteristics() - Method in class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- characteristics() - Method in class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
- 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(CheckTool) - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool, shallow-copying the set of warnings from the given one.
- CheckTool(LiSAConfiguration, FileManager) - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool.
- CheckToolWithAnalysisResults<A extends AbstractState<A>> - 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<AnalyzedCFG<A>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, copying the given tool and storing the given results.
- CheckToolWithAnalysisResults(LiSAConfiguration, FileManager, Map<CFG, Collection<AnalyzedCFG<A>>>, 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
- clear() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Empties this matrix, removing all the nodes and the edges in it.
- 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.
- collapseTopChars() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Yields a new extended string where all subsequent occurrences of the unknown character have been collapsed into a single one.
- 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. - CollectionUtilities.SortedSetCollector<E> - Class in it.unive.lisa.util.collections
-
A
Collector
that yields aSortedSet
. - CollectionUtilities.StringCollector<E> - Class in it.unive.lisa.util.collections
-
A
Collector
that yields aString
built by concatenating the values returned byObject.toString()
when invoked on the elements of the stream. - 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.
- combiner() - Method in class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- combiner() - Method in class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
- COMMON - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present in both reports.
- commonAlphabet(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the common alphabet of the automata
this
andother
. - 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.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. - comp(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Joins together two regular expression, that is, it builds a
Comp
recognizing this regular expression first, and thanother
. - Comp - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing the sequential composition of two regular expressions. - Comp(RegularExpression, RegularExpression) - Constructor for class it.unive.lisa.util.datastructures.regex.Comp
-
Builds the comp.
- compare(JsonReport, JsonReport, File, File) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports using
JsonReportComparer.BaseDiffAlgorithm
. - compare(JsonReport, JsonReport, File, File, JsonReportComparer.DiffAlgorithm) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports according to the given algorithm.
- 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(Annotation) - Method in class it.unive.lisa.program.annotations.Annotation
- compareTo(AnnotationMember) - Method in class it.unive.lisa.program.annotations.AnnotationMember
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- compareTo(AnnotationValue) - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- 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(State) - Method in class it.unive.lisa.util.datastructures.automaton.State
- compareTo(Transition<T>) - Method in class it.unive.lisa.util.datastructures.automaton.Transition
- compareTo(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- compareTo(SymbolicString) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
- compareTo(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
- compareTo(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
- compareTo(StructuredRepresentation) - Method in class it.unive.lisa.util.representation.StructuredRepresentation
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.Or
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Auxiliary
RegularExpression.compareTo(RegularExpression)
that can safely assume thatother
is an object of the same class asthis
. - compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.Star
- compareToAux(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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.
- complement(Set<T>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Return a new Automaton that accept a language that is the complementary language of
this
. - compute(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - 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>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- compute(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - 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.
- computeBasicBlocks() - Method in class it.unive.lisa.program.cfg.CFG
-
Computes the basic blocks of this cfg, that is, the sequences of statements with no incoming branches (except to the first statement) and no outgoing branches (except from the last statement).
- concat(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Create a new automaton representing the concatenation of
this
andother
. - concat(RegularExpression.PartialSubstring) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
-
Joins this partial substring with the given one.
- concat(SymbolicString) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Joins together two extended strings.
- concat(T, T) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a
TransitionSymbol
that is the concatenation of the two given ones. - 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.
- CONFIGURATION - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the configuration of the analysis.
- configurationDiff(String, String, String) - Method in class it.unive.lisa.outputs.compare.JsonReportComparer.BaseDiffAlgorithm
- configurationDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Callback invoked by a
JsonReportComparer
whenever a configuration key is mapped to two different values. - CONST_INSTANCE_GLOBAL - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for a
ConstantGlobal
being an instance global. - 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.
- ConstantGlobal - Class in it.unive.lisa.program
-
A global variable, scoped by its container, that is fixed to a statically constant (and immutable) value.
- ConstantGlobal(CodeLocation, Unit, String, Constant) - Constructor for class it.unive.lisa.program.ConstantGlobal
-
Builds an constant global variable, identified by its name.
- ConstantGlobal(CodeLocation, Unit, String, Constant, Annotations) - Constructor for class it.unive.lisa.program.ConstantGlobal
-
Builds the constant global, identified by its name, happening at the given location in the program.
- 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(ScopeId) - Method in class it.unive.lisa.interprocedural.CFGResults
-
Yields
true
if a result exists for the giventoken
. - contains(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Returns
true
ifmatcher
matches at least one of this annotations,false
otherwise. - contains(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Yields
true
if a result exists for the givencfg
. - 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(CharSequence) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Yields
true
if and only if this extended string contains the given sequence. - 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(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- contains(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- contains(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- contains(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- contains(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression always contains the given string. - contains(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- contains(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- 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() - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
- 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.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. - copy() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Deep-copies this automaton to a new one.
- 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. - customFileCompare(File, File) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Custom comparison method for files that are neither json graphs nor visualization-only files.
- CyclicAutomatonException - Exception in it.unive.lisa.util.datastructures.automaton
-
Exception thrown if an automaton is cyclic while computing accepted language.
- CyclicAutomatonException() - Constructor for exception it.unive.lisa.util.datastructures.automaton.CyclicAutomatonException
-
Default constructor for CyclicAutomatonException.
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. - DEFAULT_GLB_THRESHOLD - Static variable in class it.unive.lisa.conf.LiSAConfiguration
-
The default number of maximum time glb can be called on a node during the descending phase of fixpoint algorithm.
- DEFAULT_WIDENING_THRESHOLD - Static variable in class it.unive.lisa.conf.LiSAConfiguration
-
The default number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)
gets replaced withLattice.widening(Lattice)
. - DefaultParamInitialization - Class in it.unive.lisa.program.cfg.statement
-
An
Expression
that can be used on the right-hand side of an assignment to initialize a variable or parameter of a given type to a statically unknown value. - DefaultParamInitialization(CFG, CodeLocation, Type) - Constructor for class it.unive.lisa.program.cfg.statement.DefaultParamInitialization
-
Builds the initializing expression.
- defaultValue(CFG, CodeLocation) - Method in interface it.unive.lisa.type.Type
-
Yields an expression that can be used as the right-hand side of an assignment to initialize a variable or parameter having this type to its default value.
- DefiniteDataflowDomain<E extends DataflowElement<DefiniteDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomain
for definite dataflow analysis. - DefiniteDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.DefiniteDataflowDomain
-
Builds an empty domain.
- DescendingGLBFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses descending chains using glbs up to threshold. - DescendingGLBFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.DescendingGLBFixpoint
-
Builds the fixpoint implementation.
- DescendingNarrowingFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A
CFGFixpoint
that traverses descending chains using narrowings. - DescendingNarrowingFixpoint(CFG, InterproceduralAnalysis<A>, FixpointConfiguration) - Constructor for class it.unive.lisa.program.cfg.fixpoints.DescendingNarrowingFixpoint
-
Builds the fixpoint implementation.
- descendingPhaseType - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.descendingPhaseType
. - descendingPhaseType - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
the type of descending phase that will be applied by the fixpoint algorithm.
- deserialize(JsonParser, DeserializationContext) - Method in class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
- deterministic - Variable in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Flag that tracks if this automaton is deterministic.
- determinize() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a deterministic automaton equivalent to this one.
- 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
. - 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.
- 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.
- DOT - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
Graphs are dumped in Dot format.
- 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. - dumpForcesUnwinding - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
When
LiSAConfiguration.optimize
istrue
, this field controls whether or not optimized results are automatically unwinded before dumping them to output files. - DUPLICATE_MEMBER - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for duplicated
CodeMember
s in the sameUnit
. - DuplicateFreeFIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A LIFO working set that guarantees that, at any time, the same element cannot appear more than once in it.
- DuplicateFreeLIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A LIFO working set that guarantees that, at any time, the same element cannot appear more than once in it.
- duration - Variable in class it.unive.lisa.LiSARunInfo
-
The analysis duration, formatted through
LiSARunInfo.PERIOD_FORMAT
.
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.util.representation.ListRepresentation
-
The elements of contained in this list.
- elements - Variable in class it.unive.lisa.util.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.
- emptyLanguage() - Method in interface it.unive.lisa.util.datastructures.automaton.AutomataFactory
-
Yields a new automaton recognizing the empty language.
- EmptySet - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing the empty set of strings. - emptyString() - Method in interface it.unive.lisa.util.datastructures.automaton.AutomataFactory
-
Yields a new automaton recognizing only the empty string.
- end - Variable in class it.unive.lisa.LiSARunInfo
-
The timestamp of the analysis conclusion, formatted through
LiSARunInfo.PERIOD_FORMAT
. - endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression always ends with the given string. - endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Yields
true
if and only if this extended string ends with the given suffix. - endsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- 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.
- entryStates - Variable in class it.unive.lisa.analysis.AnalyzedCFG
-
The map storing the entry state of each entry point.
- 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>,E extends SymbolicExpression,T extends NonRelationalDomain<T,E,M>> - 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.
- epsilon() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the symbol representing the empty string.
- EPSILON - Static variable in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
The string used to represent an empty transaction symbol, usually called epsilon.
- EPSILON - Static variable in class it.unive.lisa.util.datastructures.regex.Atom
-
A unique constant for the epsilon (empty) string.
- epsilonClosure(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Computes the epsilon closure of this automaton starting from
s
, namely the set of states that are reachable froms
just with epsilon transitions. - epsilonClosure(Set<State>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Computes the epsilon closure of this automaton starting from
set
, namely the set of states that are reachable from each state inset
just with epsilon transitions. - equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.AscendingFixpoint
- equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardAscendingFixpoint
- equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingGLBFixpoint
- equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingNarrowingFixpoint
- equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.DescendingGLBFixpoint
- equality(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.DescendingNarrowingFixpoint
- 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.AnalyzedCFG
- equals(Object) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- equals(Object) - Method in interface it.unive.lisa.analysis.BaseLattice
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- equals(Object) - Method in class it.unive.lisa.analysis.FixpointInfo
- equals(Object) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- 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.ScopeToken
- 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.conf.BaseConfiguration
- 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.LiSAReport
- equals(Object) - Method in class it.unive.lisa.LiSARunInfo
- 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.fixpoints.CFGFixpoint.CompoundState
- 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.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.NaryStatement
- 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.VariableRef
- equals(Object) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- equals(Object) - Method in class it.unive.lisa.program.ConstantGlobal
- 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.HeapDereference
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.MemoryAllocation
- 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.PushInv
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Skip
- equals(Object) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- equals(Object) - Method in class it.unive.lisa.type.NullType
- equals(Object) - Method in class it.unive.lisa.type.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.DuplicateFreeFIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
- equals(Object) - Method in class it.unive.lisa.util.datastructures.automaton.State
- equals(Object) - Method in class it.unive.lisa.util.datastructures.automaton.Transition
- 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.datastructures.regex.Atom
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.Or
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.Star
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
- equals(Object) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
- equals(Object) - Method in class it.unive.lisa.util.numeric.IntInterval
- equals(Object) - Method in class it.unive.lisa.util.numeric.MathNumber
- equals(Object) - Method in class it.unive.lisa.util.representation.ListRepresentation
- equals(Object) - Method in class it.unive.lisa.util.representation.MapRepresentation
- equals(Object) - Method in class it.unive.lisa.util.representation.ObjectRepresentation
- equals(Object) - Method in class it.unive.lisa.util.representation.SetRepresentation
- equals(Object) - Method in class it.unive.lisa.util.representation.StringRepresentation
- equals(Object) - Method in class it.unive.lisa.util.representation.StructuredRepresentation
- ERROR - Static variable in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Common format for error messages.
- ERROR - Static variable in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Common format for error messages.
- eval(E, F, ProgramPoint, SemanticOracle) - 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, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Evaluates the given expression to an abstract value.
- eval(ValueExpression, InferenceSystem<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- eval(ValueExpression, InferenceSystem<T>, ProgramPoint, SemanticOracle) - 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- eval(ValueExpression, ValueEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- eval(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Evaluates the given expression to an abstract value.
- evalBinaryExpression(BinaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of an identifier in a given environment.
- evalIdentifier(Identifier, TypeEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of an identifier in a given environment.
- evalIdentifier(Identifier, ValueEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of an identifier in a given environment.
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of the given non-null constant.
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of the given non-null constant.
- evalNonNullConstant(Constant, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of the given non-null constant.
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of the null constant
NullConstant
. - evalNullConstant(ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of the null constant
NullConstant
. - evalNullConstant(T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of the null constant
NullConstant
. - evalPushAny(PushAny, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a push-any expression.
- evalPushAny(PushAny, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a push-any expression.
- evalPushAny(PushAny, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a push-any expression.
- evalPushInv(PushInv, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a push-inv expression.
- evalPushInv(PushInv, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a push-inv expression.
- evalPushInv(PushInv, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a push-inv expression.
- evalSkip(Skip, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a skip expression.
- evalSkip(Skip, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a skip expression.
- evalSkip(Skip, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a skip expression.
- evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type cast expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type conversion expression.
- evaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Evaluates the given sub-expressions according to this order.
- evaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- evaluate(Expression[], AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, ExpressionSet[]) - 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(T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
-
Builds the visitor.
- EvaluationVisitor(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
-
Builds the visitor.
- EvaluationVisitor(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
-
Builds the visitor.
- evalUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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. - exitStates - Variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
The map storing the exit state of each exit point.
- explode() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- explode() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- explode() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- explode() - Method in class it.unive.lisa.util.datastructures.regex.Or
- explode() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression that is the exploded version of this one, that is, where all atoms have been broken down to the composition of the characters that compose their inner strings.
- explode() - Method in class it.unive.lisa.util.datastructures.regex.Star
- explode() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- 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.
- ExpressionInverseSet - Class in it.unive.lisa.analysis.lattices
-
An inverse set lattice containing a set of symbolic expressions.
- ExpressionInverseSet() - Constructor for class it.unive.lisa.analysis.lattices.ExpressionInverseSet
-
Builds the empty set lattice element.
- ExpressionInverseSet(SymbolicExpression) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionInverseSet
-
Builds a singleton set lattice element.
- ExpressionInverseSet(Set<SymbolicExpression>) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionInverseSet
-
Builds a set lattice element.
- expressions - Variable in class it.unive.lisa.LiSARunInfo
-
The total number of inner (i.e., non top-level)
Expression
s analyzed. - ExpressionSet - 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(SymbolicExpression) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a singleton set lattice element.
- ExpressionSet(Set<SymbolicExpression>) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a 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(CFG) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
-
Runs the algorithms for extracting
ControlFlowStructure
s. - extractControlFlowStructures(ControlFlowExtractor) - Method in class it.unive.lisa.program.cfg.CFG
-
Runs the given
ControlFlowExtractor
over this cfg to buildControlFlowStructure
s, in case those cannot be generated by frontends. - extractLongestString() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the sub-automaton contained in this one that recognizes only the longest string in the language of
this
.
F
- factors() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the automaton that recognizes all possible substrings of the strings recognized by this automaton.
- factorsChangingInitialState(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a copy of this automaton, but where all states are final and only the given state is initial.
- 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.
- fields - Variable in class it.unive.lisa.util.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 class it.unive.lisa.outputs.compare.JsonReportComparer.BaseDiffAlgorithm
- fileDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
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 - Variable in class it.unive.lisa.LiSARunInfo
-
The number of files that were created by the
FileManager
of the analysis. - 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.
- finisher() - Method in class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- finisher() - Method in class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
- 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
- fixedVariable(Identifier, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields a fixed abstraction of the given variable.
- fixpoint(AnalysisState<A>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes a fixpoint over the whole control flow graph, producing a
AnalyzedCFG
for eachCFG
contained in this analysis. - fixpoint(AnalysisState<A>, Map<Statement, AnalysisState<A>>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<A>, InterproceduralAnalysis<A>, WorkingSet<Statement>, FixpointConfiguration, ScopeId) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<Statement, CFGFixpoint.CompoundState<A>>, WorkingSet<Statement>, Fixpoint.FixpointImplementation<Statement, Edge, CFGFixpoint.CompoundState<A>>, Map<Statement, CFGFixpoint.CompoundState<A>>) - Method in class it.unive.lisa.program.cfg.fixpoints.OptimizedBackwardFixpoint
- fixpoint(Map<Statement, CFGFixpoint.CompoundState<A>>, WorkingSet<Statement>, Fixpoint.FixpointImplementation<Statement, Edge, CFGFixpoint.CompoundState<A>>, Map<Statement, CFGFixpoint.CompoundState<A>>) - Method in class it.unive.lisa.program.cfg.fixpoints.OptimizedFixpoint
- fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Runs the fixpoint.
- 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(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>, Map<N, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Runs the fixpoint.
- fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>, Map<N, 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(G, boolean) - 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.
- FixpointConfiguration - Class in it.unive.lisa.conf
-
An immutable configuration holding fixpoint-specific parameters.
- FixpointConfiguration(LiSAConfiguration) - Constructor for class it.unive.lisa.conf.FixpointConfiguration
-
Builds the configuration.
- 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.
- FixpointInfo - Class in it.unive.lisa.analysis
-
A generic mapping from string keys to
Lattice
instances that can store custom user-defined information inside theAnalysisState
. - FixpointInfo() - Constructor for class it.unive.lisa.analysis.FixpointInfo
-
Builds the function.
- FixpointInfo(Map<String, Lattice<?>>) - Constructor for class it.unive.lisa.analysis.FixpointInfo
-
Builds the function by using the given mapping.
- FixpointResults<A extends AbstractState<A>> - Class in it.unive.lisa.interprocedural
- FixpointResults(CFGResults<A>) - Constructor for class it.unive.lisa.interprocedural.FixpointResults
-
Builds a new result.
- fixpointWorkingSet - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The concrete class of
WorkingSet
to be used in fixpoints. - 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.
- forceFullEvaluation - Variable in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Whether or not all nodes should be processed at least once.
- forceFullEvaluation - Variable in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Whether or not all nodes should be processed at least once.
- forget(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Forgets all results about the given
CFG
. - 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
-
Forgets an
Identifier
. - forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets an
Identifier
. - forgetIdentifiers(Iterable<Identifier>) - Method in class it.unive.lisa.analysis.AnalysisState
-
Forgets all the given
Identifier
s by invokingAnalysisState.forgetIdentifier(Identifier)
on each given identifier. - 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
-
Forgets all
Identifier
s that match the given predicate. - forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- forgetIdentifiersIf(Predicate<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all
Identifier
s that match the given predicate. - format(long) - Method in enum it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos into a string with time units.
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.DefaultParamInitialization
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - 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, in the specified order, using the analysis state from each sub-expression's computation as entry state for the next one.
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Semantics of an n-ary statements is evaluated by computing the semantics of its sub-expressions, in the specified order, using the analysis state from each sub-expression's computation as entry state for the next one.
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Ret
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Computes the forward semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
- forwardSemantics(AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryStatement
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Computes the forward semantics of the expression, after the semantics of all sub-expressions have been computed.
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Computes the forward semantics of the statement, after the semantics of all sub-expressions have been computed.
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryStatement
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
- forwardSemanticsAux(InterproceduralAnalysis<A>, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- from(SortedSet<State>, SortedSet<Transition<T>>) - Method in interface it.unive.lisa.util.datastructures.automaton.AutomataFactory
-
Builds a new automaton with the given states and transitions.
- fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.lattices.Satisfiability
-
Transforms a boolean value to a
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, BiFunction<CFG, 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.FixpointInfo
-
The function containing the additional information.
- 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, V, FunctionalLattice.KeyFunctionalLift<K>, FunctionalLattice.FunctionalLift<V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the functional lift between
this
andother
. - fwdBinarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Assignment
- fwdBinarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Computes the forward semantics of the expression, after the semantics of the sub-expressions have been computed.
- fwdBinarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.BinaryStatement
-
Computes the forward semantics of the statement, after the semantics of the sub-expressions have been computed.
- fwdTernarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Computes the forward semantics of the expression, after the semantics of the sub-expressions have been computed.
- fwdTernarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.TernaryStatement
-
Computes the forward semantics of the statement, after the semantics of the sub-expressions have been computed.
- fwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- fwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Return
- fwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.Throw
- fwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Computes the forward semantics of the expression, after the semantics of the sub-expression has been computed.
- fwdUnarySemantics(InterproceduralAnalysis<A>, AnalysisState<A>, SymbolicExpression, StatementStore<A>) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Computes the forward semantics of the statement, after the semantics of the sub-expression has been computed.
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.
- GenericInverseSetLattice<E> - Class in it.unive.lisa.analysis.lattices
-
A generic ready-to-use
InverseSetLattice
with no additional fields, that relies on an underlying boolean value for distinguishing top and bottom values. - GenericInverseSetLattice() - Constructor for class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
-
Builds an empty set representing the top element.
- GenericInverseSetLattice(E) - Constructor for class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
-
Builds a set containing only the given element.
- GenericInverseSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
-
Builds a set with all the given elements.
- GenericInverseSetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
-
Builds a set with all the given elements, also specifying whether an empty set should be considered top or bottom.
- GenericMapLattice<K,V extends Lattice<V>> - Class in it.unive.lisa.analysis.lattices
-
A generic ready-to-use
FunctionalLattice
with no additional fields, that relies on the underlying lattice instance for distinguishing top and bottom values. - GenericMapLattice(V) - Constructor for class it.unive.lisa.analysis.lattices.GenericMapLattice
-
Builds the map.
- GenericMapLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.lattices.GenericMapLattice
-
Builds the map.
- GenericSetLattice<E> - Class in it.unive.lisa.analysis.lattices
-
A generic ready-to-use
SetLattice
with no additional fields, that relies on an underlying boolean value for distinguishing top and bottom values. - GenericSetLattice() - Constructor for class it.unive.lisa.analysis.lattices.GenericSetLattice
-
Builds an empty set representing the top element.
- GenericSetLattice(E) - Constructor for class it.unive.lisa.analysis.lattices.GenericSetLattice
-
Builds a set containing only the given element.
- GenericSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.GenericSetLattice
-
Builds a set with all the given elements.
- GenericSetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.GenericSetLattice
-
Builds a set with all the given elements, also specifying whether an empty set should be considered top or bottom.
- geq(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is greater than or equal to other. - get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the
pos
-th element of this cache. - get(ScopeId) - Method in class it.unive.lisa.interprocedural.CFGResults
-
Yields the recorded result for the given
token
. - get(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Yields the recorded result for the given
cfg
. - get(String) - Method in class it.unive.lisa.analysis.FixpointInfo
-
Yields the information associated to the given key.
- get(String, Class<T>) - Method in class it.unive.lisa.analysis.FixpointInfo
-
Yields the information associated to the given key, casted to the given type.
- 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>, ExpressionSet[], StatementStore<A>) - 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>, ExpressionSet[], StatementStore<A>) - 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.
- getAll() - Method in class it.unive.lisa.interprocedural.CFGResults
-
Yields all the results stored in this object, for any possible
ScopeId
used. - 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. - getAllDomainInstances(Class<T>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields all of the instances of a specific domain, of class
domain
, contained inside this domain, also recursively querying inner domains (enabling retrieval of semantic domains through Cartesian products or other types of combinations).
The default implementation of this method returns a singleton collection containingthis
ifdomain.isAssignableFrom(getClass())
holds, otherwise it returns an empty collection. - 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). - getAllPaths() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields all possible paths going from an initial state to a final state in the target automaton.
- getAllTransitionsConnecting(State, State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of transitions going from
s1
tos2
. - getAlphabet() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of symbols that represents the alphabet of the symbols recognized by this automaton (that is, as subset of the alphabet over which the automata is defined).
- 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.AnalyzedCFG
-
Yields the computed result at a given statement (exit state).
- getAnalysisStateAfter(Statement) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Yields the computed result at a given statement (exit state).
- getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.AnalyzedCFG
-
Yields the computed result before a given statement (entry state).
- getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
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.heap.MemoryAllocation
-
Yields the annotations of this expression.
- 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.
- getBasicBlocks() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the basic blocks of this cfg, available only after
CFG.computeBasicBlocks()
has been invoked. - 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.CallGraph
-
Yields all the
CodeMember
s that are called by the given one. - getCallees(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
CodeMember
s that are called by the given ones. - getCalleesTransitively(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields the transitive closure of
CallGraph.getCallees(CodeMember)
. - getCalleesTransitively(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields the transitive closure of
CallGraph.getCallees(CodeMember)
of each given code member. - 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.CallGraph
-
Yields all the
CodeMember
s that call the given one. - getCallers(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
CodeMember
s that call the given ones. - getCallersTransitively(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields the transitive closure of
CallGraph.getCallers(CodeMember)
. - getCallersTransitively(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields the transitive closure of
CallGraph.getCallers(CodeMember)
over each given code member. - getCallGraph() - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the
CallGraph
constructed during the analysis. - 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 class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
Call
s that target the givenCodeMember
. - getCallSites(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
Call
s that target at least one of the givenCodeMember
s. - 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
- getCharsToStart() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
-
Yields the number of characters to skip before starting to collect the substring.
- 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.
- getConfiguration() - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Yields the
LiSAConfiguration
of the current analysis. - getConfiguration() - Method in class it.unive.lisa.LiSAReport
-
Yields the
LiSAConfiguration
used to run the analysis. - getConfiguration() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the configuration of the analysis, in the form of a property bag.
- getConstant() - Method in class it.unive.lisa.program.ConstantGlobal
-
Yields the constant value associated to this global.
- getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the name of the native construct represented by this expression.
- getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Yields the name of the native construct represented by this statement.
- 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.
- getContents() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeFIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet
- getContents() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- getContents() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields the elements currently in this working set.
- getControlFlowStructureOf(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the
ControlFlowStructure
that usesguard
as condition, if any. - 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. - getCreatedFiles() - Method in class it.unive.lisa.LiSAReport
-
Yields the names of the files created during the analysis, as reported by
FileManager.createdFiles()
. - getCurrentCount() - Method in class it.unive.lisa.logging.Counter
-
Yields the current count of this counter.
- getCycleEntries() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields all the nodes that are part of cycles in the graph that are also reachable from outside the cycle itself (that is, if they are also entrypoints or if they have an incoming back-edge).
- getCycleEntries() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields all the nodes that are part of cycles in the graph that are also reachable from outside the cycle itself (that is, if they are also entrypoints or if they have an incoming back-edge).
- 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 class it.unive.lisa.util.datastructures.automaton.Transition
-
Tells transition's destination state.
- getDestination() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge ends.
- getDimensions() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the dimensions of this array type.
- getDomainInstance(Class<T>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a unique instance of the specific domain, of class
domain
, contained inside the domain, also recursively querying inner domains (enabling retrieval of semantic domains through Cartesian products or other types of combinations).
The default implementation of this method lubs together (usingLattice.lub(Lattice)
) all instances returned bySemanticDomain.getAllDomainInstances(Class)
, defaulting tonull
if no instance is returned. - getDominators() - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Yields the last computed dominators through
Dominators.build(Graph)
. - getDynamicTypeOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getDynamicTypeOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.type.TypeOracle
-
Yields the dynamic type that this analysis infers for the given expression.
- 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.AnalyzedCFG
-
Yields the entry state.
- getEntryState() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Yields the entry state.
- getEntryState(N, T, Fixpoint.FixpointImplementation<N, E, T>, Map<N, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Yields the entry state for the given node.
- 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
statement is equivalent to querying the exit state of the returned one. - getEvaluationSuccessor() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the
Statement
that is evaluated right after this one, such that querying for the exit state ofthis
statement is equivalent to querying the entry 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.AnalyzedCFG
-
Yields the exit state.
- getExitState() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Yields the exit state.
- getExitState(N, T, Fixpoint.FixpointImplementation<N, E, T>, Map<N, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
Yields the exit state for the given node.
- getExpression() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
-
Yields the expression where this warning was reported on.
- getExpression() - Method in class it.unive.lisa.symbolic.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.
- getFileManager() - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Yields the
FileManager
of the current analysis. - getFiles() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of file names contained into this report.
- getFinalStates() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of final states of this automaton.
- getFirst() - Method in class it.unive.lisa.util.datastructures.regex.Comp
-
Yields the first regular expression.
- getFirst() - Method in class it.unive.lisa.util.datastructures.regex.Or
-
Yields the first regular expression.
- 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.
- getFixpointInformation() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the additional information that must be computed during fixpoint computations.
- getFixpointResults() - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields the results of the fixpoint computation over the whole application.
- 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. - 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.AnalyzedCFG
-
Yields an id meant to identify this specific result, based on how it has been produced.
- getId() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Yields an id 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.
- getId() - Method in class it.unive.lisa.util.datastructures.automaton.State
-
Returns the states, id.
- 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. - getInfo() - Method in class it.unive.lisa.LiSAReport
-
The
LiSARunInfo
containing information about the analysis. - getInfo() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the information about the analysis ran, in the form of a property bag.
- getInfo(String) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the Additional information associated to the given key, as defined in this instance's
AnalysisState.getFixpointInformation()
. - getInfo(String, Class<T>) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the additional information associated to the given key, casted to the given type, as defined in this instance's
AnalysisState.getFixpointInformation()
. - 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.
- getIngoingTransitionsFrom(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of all ingoing transitions to the given state.
- getInitialState() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields one of the initial states of this automaton.
- getInitialStates() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of initial states of this automaton.
- getInnerCall() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
-
Yields the original call that this one was created from.
- getInnerType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the type of the inner dimension of this array type.
- getInnerType() - Method in interface it.unive.lisa.type.PointerType
-
Yields the inner type, that is, the type of the memory region that variables with this type point to.
- getInnerType() - 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.FixpointInfo
-
Yields the set of keys currently in this mapping.
- 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.
- getLanguage() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Returns the concretized language accepted by
this
. - 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.BinaryStatement
-
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.program.cfg.statement.TernaryStatement
-
Yields the left-most (first) sub-expression of this statement.
- 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.FixpointInfo
-
Yields the map associated with this mapping.
- 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.program.cfg.statement.TernaryStatement
-
Yields the middle (second) sub-expression of this statement.
- getMiddle() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the middle operand of this expression.
- getMissingChars() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
-
Yields the number of missing characters to complete the substring.
- 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.
- getNextStates(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of possible successors of the given node.
- getNextSymbols(State, int) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of symbols of length at most
n
that can be recognized starting from the given state. - 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). - getNumber() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the BigDecimal of this abstract value.
- 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.
- getOperand() - Method in class it.unive.lisa.util.datastructures.regex.Star
-
Yields the inner regular expression.
- 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. - getOrder() - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Yields the
EvaluationOrder
of the sub-expressions. - getOtDefault(K, V) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Similar to
FunctionalLattice.getState(Object)
, but yields a custom default value for keys that are not part of the mapping (instead of usingFunctionalLattice.stateOfUnknown(Object)
). - 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.
- getOutgoingTransitionsFrom(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of all outgoing transitions from the given state.
- 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.outputs.serializableGraph.SerializableValue
-
Yields the additional properties to use as metadata.
- getProperties() - Method in class it.unive.lisa.util.representation.StructuredRepresentation
-
Yields the set collection of textual properties defined for this representation.
- 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.
- getReadableSymbolsFromState(State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of symbols that can be read (accepted) by the given state, excluding epsilon.
- getReadableSymbolsFromStates(Set<State>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of symbols that can be read (accepted) by the given set of states.
- getRecursions() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the recursions that happens in the program, in the form of collections of the
CodeMember
s composing them. - getRecursionsContaining(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the recursions happening in the program, in the form of collections of the
CodeMember
s composing them, containing the given code member. - getReferencedLocation() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
-
Yields the heap location pointed by this pointer.
- getResolvedVersion(UnresolvedCall, AnalyzedCFG<A>) - 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.BinaryStatement
-
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.program.cfg.statement.TernaryStatement
-
Yields the right-most (third) sub-expression of this statement.
- 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.
- getRuntimeTypesOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getRuntimeTypesOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.type.TypeOracle
-
Yields the runtime types that this analysis infers for the given expression.
- getSCCs() - Method in class it.unive.lisa.util.datastructures.graph.algorithms.SCCs
-
Yields the last computed strongly connected components through
SCCs.build(Graph)
. - 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.
- getSecond() - Method in class it.unive.lisa.util.datastructures.regex.Comp
-
Yields the second regular expression.
- getSecond() - Method in class it.unive.lisa.util.datastructures.regex.Or
-
Yields the second regular expression.
- getSeen() - Method in class it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet
- getSeen() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- getSeen() - Method in interface it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
-
Yields the elements visited (and thus 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 class it.unive.lisa.util.datastructures.automaton.Transition
-
Tells transition's source state.
- 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() - Method in class it.unive.lisa.util.datastructures.automaton.State
-
Yields a textual representation of this state.
- getState(K) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the state associated to the given key.
- getStateFromPair(Map<State, Pair<State, State>>, Pair<State, State>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Given a pair of states, yields the state associated to the pair in the given state mapping.
- getStatement() - Method in class it.unive.lisa.checks.warnings.StatementWarning
-
Yields the statement where this warning was reported on.
- getStatementEvaluatedAfter(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
- getStatementEvaluatedAfter(Statement) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- getStatementEvaluatedAfter(Statement) - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
- getStatementEvaluatedAfter(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the
Statement
that follows the given one, assuming thatother
is contained into this statement. - 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.NaryStatement
- 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 statement. - getStates() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of states of this automaton.
- 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, as provided during construction.
- getString() - Method in class it.unive.lisa.util.datastructures.regex.Atom
-
Yields the inner string of this atom.
- 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.
- getSubExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Yields the only sub-expression of this unary statement.
- getSubExpressions() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the sub-expressions of this expression.
- getSubExpressions() - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
-
Yields the sub-expressions of this statement.
- 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
- getSubstring() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
-
Yields the current partial substring.
- getSuperclasses() - Method in class it.unive.lisa.program.ClassUnit
-
Yields the list of
ClassUnit
s that this class inherits from. - getSymbol() - Method in class it.unive.lisa.util.datastructures.automaton.Transition
-
Tells input symbol for
this
transition. - 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.
- 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. - getTargetedStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields all the statements that are targeted by some node in this structure.
- getTargetedStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- getTargetedStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- 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.
- getTransitions() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the set of transitions contained in this automaton.
- 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. - 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. - getUnwindedAnalysisStateAfter(Statement, FixpointConfiguration) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Yields the computed result at a given statement (exit state).
- getUnwindedAnalysisStateBefore(Statement, FixpointConfiguration) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Yields the computed result at a given statement (exit state).
- 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.
- getValues() - Method in class it.unive.lisa.analysis.FixpointInfo
-
Yields the values currently in this mapping.
- getValues() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the values of this functional lattice.
- 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.LiSAReport
-
Yields the
Warning
s that have been generated during the analysis. - getWarnings() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of
JsonReport.JsonWarning
s contained into this report. - glb(Satisfiability) - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
-
Performs the greatest lower bound operation between this satisfiability and the given one.
- glb(CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- glb(L) - Method in interface it.unive.lisa.analysis.BaseLattice
- glb(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the greatest lower upper bound operation between this lattice element and the given one.
- GLB - it.unive.lisa.conf.LiSAConfiguration.DescendingPhaseType
-
The descending phase is performed by applying the glb k-times.
- glbAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- glbAux(AnalysisState<A>) - Method in class it.unive.lisa.analysis.AnalysisState
- glbAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
- glbAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- glbAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- glbAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- glbAux(DefiniteDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteDataflowDomain
- glbAux(PossibleDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleDataflowDomain
- glbAux(FixpointInfo) - Method in class it.unive.lisa.analysis.FixpointInfo
- glbAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- glbAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- glbAux(L) - Method in interface it.unive.lisa.analysis.BaseLattice
-
Performs the greatest lower bound operation between this lattice element and the given one, assuming that base cases have already been handled.
- glbAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- glbAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- glbKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the intersection of the keys between
k1
andk2
. - glbThreshold - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.glbThreshold
. - glbThreshold - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The number of descending fixpoint iteration on a given node where
Lattice.glb(Lattice)
can be applied. - 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, 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, identified by its name and its type, happening at the given location in the program.
- GLOBAL_INSTANCE_MISMATCH - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for a
Global
not matching its instance flag. - globals - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
Global
s that were submitted to the analysis. - 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 - Variable in class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
-
The graph targeted by this implementation.
- graph - Variable in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
-
The graph targeted by this implementation.
- graph - Variable in class it.unive.lisa.util.datastructures.graph.algorithms.BackwardFixpoint
-
The graph to target.
- graph - Variable in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
The graph to target.
- 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.
- GRAPHML - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
Graphs are dumped in compound GraphML format.
- GRAPHML_WITH_SUBNODES - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
Graphs are dumped in compound GraphML format.All nodes, including sub-nodes, are part of the graph, creating a compound graph.
- 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
. - gt(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is greater than other.
H
- hasCycle() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Checks if the Automaton
this
has any cycle. - hashCode() - Method in class it.unive.lisa.analysis.AnalysisState
- hashCode() - Method in class it.unive.lisa.analysis.AnalyzedCFG
- hashCode() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- hashCode() - Method in interface it.unive.lisa.analysis.BaseLattice
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- hashCode() - Method in class it.unive.lisa.analysis.FixpointInfo
- hashCode() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- hashCode() - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- 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.ScopeToken
- 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.conf.BaseConfiguration
- 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.LiSAReport
- hashCode() - Method in class it.unive.lisa.LiSARunInfo
- 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.fixpoints.CFGFixpoint.CompoundState
- 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.literal.Literal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
- 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.VariableRef
- hashCode() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- hashCode() - Method in class it.unive.lisa.program.ConstantGlobal
- 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.HeapDereference
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- hashCode() - Method in class it.unive.lisa.symbolic.heap.MemoryAllocation
- 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.PushInv
- hashCode() - Method in class it.unive.lisa.symbolic.value.Skip
- hashCode() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- hashCode() - Method in class it.unive.lisa.type.NullType
- hashCode() - Method in class it.unive.lisa.type.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.DuplicateFreeFIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
- hashCode() - Method in class it.unive.lisa.util.datastructures.automaton.State
- hashCode() - Method in class it.unive.lisa.util.datastructures.automaton.Transition
- 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.datastructures.regex.Atom
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.Or
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.Star
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
- hashCode() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
- hashCode() - Method in class it.unive.lisa.util.numeric.IntInterval
- hashCode() - Method in class it.unive.lisa.util.numeric.MathNumber
- hashCode() - Method in class it.unive.lisa.util.representation.ListRepresentation
- hashCode() - Method in class it.unive.lisa.util.representation.MapRepresentation
- hashCode() - Method in class it.unive.lisa.util.representation.ObjectRepresentation
- hashCode() - Method in class it.unive.lisa.util.representation.SetRepresentation
- hashCode() - Method in class it.unive.lisa.util.representation.StringRepresentation
- hashCode() - Method in class it.unive.lisa.util.representation.StructuredRepresentation
- hasNext() - Method in class it.unive.lisa.util.numeric.IntIntervalIterator
- hasOnlyOnePath() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields
true
if and only if this automaton has only one path. - hasPostStateOf(Statement) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Yields whether or not the non-unwinded results of this cfg contain the poststate of the given statement.
- hasPreStateOf(Statement) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Yields whether or not the non-unwinded results of this cfg contain the prestate of the given statement.
- 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. - hotspots - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.hotspots
. - hotspots - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
When
LiSAConfiguration.optimize
istrue
, this predicate will be used to determine additional statements (also considering intermediate ones) for which the fixpoint results must be kept. - HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours.
- HTML - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
Graphs are dumped as an html page using javascript to visualize the graphs.
- HTML_WITH_SUBNODES - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
Graphs are dumped as an html page using javascript to visualize the graphs.
- 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
- id - Variable in class it.unive.lisa.analysis.AnalyzedCFG
-
An id meant to identify this specific result, based on how it has been produced.
- id - Variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
An id meant to identify this specific result, based on how it has been produced.
- 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.
- 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. - indent(String, String, int) - Static method in class it.unive.lisa.util.StringUtilities
-
Indents all lines of
target
by usingindent
repeatedamount
times. - indexOf(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- InferenceSystem<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
An inference system that model standard derivation systems.
- 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>, 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>
. - InfiniteIterationException - Exception in it.unive.lisa.util.numeric
-
An exception throw when someone tries to iterate over a non-finite
IntInterval
. - InfiniteIterationException(IntInterval) - Constructor for exception it.unive.lisa.util.numeric.InfiniteIterationException
-
Builds the exception.
- INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-Inf, +Inf]
. - INFO - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the information about the analysis.
- INFO_KEY - Static variable in class it.unive.lisa.analysis.symbols.SymbolAliasing
-
The key to use for accessing instances of this class within a
FixpointInfo
instance. - infoDiff(String, String, String) - Method in class it.unive.lisa.outputs.compare.JsonReportComparer.BaseDiffAlgorithm
- infoDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Callback invoked by a
JsonReportComparer
whenever an analysis information key is mapped to two different values. - 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 class 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.Numeric16BitRem
-
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.Numeric32BitRem
-
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.Numeric64BitRem
-
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.Numeric8BitRem
-
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.NumericNonOverflowingRem
-
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.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
. - INSTANCE - Static variable in class it.unive.lisa.util.datastructures.regex.EmptySet
-
The singleton instance.
- INSTANCE - Static variable in class it.unive.lisa.util.datastructures.regex.symbolic.UnknownSymbolicChar
-
The singleton instance.
- INSTANCE - Static variable in class it.unive.lisa.util.datastructures.regex.TopAtom
-
The singleton instance.
- 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.
- 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.
- intermediateStates - Variable in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
-
The post-state of intermediate expressions.
- interprocedural - Variable in class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
-
The
InterproceduralAnalysis
to use for semantics invocations. - interprocedural - Variable in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
-
The
InterproceduralAnalysis
to use for semantics invocations. - interproceduralAnalysis - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The
InterproceduralAnalysis
instance to use during the analysis. - InterproceduralAnalysis<A extends AbstractState<A>> - 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(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Returns the Automaton that accepts the language that is the intersection between the language of
this
and another Automaton. - 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.
- IntIntervalIterator - Class in it.unive.lisa.util.numeric
-
The
IntInterval
iterator. - IntIntervalIterator(long, long) - Constructor for class it.unive.lisa.util.numeric.IntIntervalIterator
-
Builds the iterator.
- 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(char) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
-
Yields
true
if and only if this symbolic character represent the given concrete one. - is(char) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.UnknownSymbolicChar
- 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. - is(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- is(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- is(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- is(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- is(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression corresponds to the given string. - is(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- is(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- is16Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 16-bits format representation. - is32Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 32-bits format representation. - is64Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type follows a 64-bits format representation. - 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
. - isAtom() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression is an instance ofAtom
. - isAtomic() - Method in class it.unive.lisa.util.datastructures.regex.Or
-
Yields
true
if and only if both inner regular expressions are atoms. - 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.AnalyzedCFG
- isBottom() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- isBottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isBottom() - Method in class it.unive.lisa.analysis.FixpointInfo
- 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.heap.HeapEnvironment
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isBottom() - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- isComp() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression is an instance ofComp
. - isContained(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields
true
if and only ifthis
is contained intoother
, that is, if the language recognized by the intersection betweenthis
and the complement ofother
is empty. - isDeterministic() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields true if and only if this automaton is deterministic, that is, if the transition relation is a function.
- 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.DuplicateFreeFIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- isEmpty() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields
true
if and only if this working set is empty. - isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.Or
- isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression corresponds to the empty string or to no strings at all. - isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.Star
- isEmpty() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- isEmptySet() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression is an instance ofEmptySet
. - isEpsilon() - Method in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
Yields
true
if and only if this symbol represents the empty string epsilon. - isEpsilon() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
- isEpsilonTransition() - Method in class it.unive.lisa.util.datastructures.automaton.Transition
-
Yields
true
if and only if this transition recognizes only the empty string. - isEqualTo(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Checks if the automaton
this
accepts the same language asother
, implemented as:
language(A).equals(language(B))
if both automata are loop free,A.contains(B) && B.contains(A)
otherwise. - 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.
- isFinal() - Method in class it.unive.lisa.util.datastructures.automaton.State
-
Tells if the state is either final or not.
- 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. - isInitial() - Method in class it.unive.lisa.util.datastructures.automaton.State
-
Tells if the state is either initial or not.
- 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 interface it.unive.lisa.type.NumericType
-
Returns
true
if this numeric type is integral, representing one of the numbers in the mathematical set Z. - isJsonGraph(String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Yields whether or not the file pointed by the given path should be considered a json graph.
- 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
. - isOr() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression is an instance ofOr
. - 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
. - isPositive() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is positive. - isReachableFrom(SymbolicExpression, SymbolicExpression, HeapEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
-
Yields whether or not the
Identifier
represented (directly or after rewriting) by the second expression is reachable starting from theIdentifier
represented (directly or after rewriting) by the first expression. - isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Yields whether or not the
Identifier
represented (directly or after rewriting) by the second expression is reachable starting from theIdentifier
represented (directly or after rewriting) by the first expression. - isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- isReferenceType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if this type is an instance ofReferenceType
. - isScopedByCall() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields
true
if this is anOutOfScopeIdentifier
whose (i) scope was introduced by a call, or (ii) inner identifier is anOutOfScopeIdentifier
such thatinner.isScopedByCall()
holds. - isScopedByCall() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- 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. - isStackAllocation() - Method in class it.unive.lisa.symbolic.heap.MemoryAllocation
-
Yields whether this memory allocation is allocated in the stack.
- isStar() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression is an instance ofStar
. - isStartingId() - Method in interface it.unive.lisa.interprocedural.ScopeId
-
Yields whether or not this id is the starting one, that is, if it has been generated with
ScopeId.startingId()
or if it must be considered equivalent to the value returned by that method. - isStartingId() - Method in class it.unive.lisa.interprocedural.UniqueScope
- 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.AnalyzedCFG
- isTop() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- isTop() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isTop() - Method in class it.unive.lisa.analysis.FixpointInfo
- 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.heap.HeapEnvironment
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isTop() - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- 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 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
. - isValueType() - Method in interface it.unive.lisa.type.Type
-
Yields
true
if and only if bothType.isInMemoryType()
andType.isPointerType()
both returnfalse
on this type. - isVisualizationFile(String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Yields whether or not the file pointed by the given path is for visualizing results and can thus be skipped as its content depends solely on other files.
- 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.
- isZero() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is equal to zero. - 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.symbols - package it.unive.lisa.analysis.symbols
- it.unive.lisa.analysis.type - package it.unive.lisa.analysis.type
- 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.conf - package it.unive.lisa.conf
- 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.fixpoints - package it.unive.lisa.program.cfg.fixpoints
- 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.evaluation - package it.unive.lisa.program.cfg.statement.evaluation
- it.unive.lisa.program.cfg.statement.literal - package it.unive.lisa.program.cfg.statement.literal
- 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.util - package it.unive.lisa.util
- 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.automaton - package it.unive.lisa.util.datastructures.automaton
- 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.datastructures.regex - package it.unive.lisa.util.datastructures.regex
- it.unive.lisa.util.datastructures.regex.symbolic - package it.unive.lisa.util.datastructures.regex.symbolic
- it.unive.lisa.util.file - package it.unive.lisa.util.file
- it.unive.lisa.util.numeric - package it.unive.lisa.util.numeric
- it.unive.lisa.util.representation - package it.unive.lisa.util.representation
- 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.FixpointInfo
- 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
- iterator() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
- iterator() - Method in class it.unive.lisa.util.numeric.IntInterval
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
. - jsonOutput - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
Sets whether or not a json report file, named "report.json", should be created and dumped in the working directory at the end of the analysis.
- 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(LiSAReport) - Constructor for class it.unive.lisa.outputs.json.JsonReport
-
Builds the report, starting from the given one.
- 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.BaseDiffAlgorithm - Class in it.unive.lisa.outputs.compare
-
A
JsonReportComparer.DiffAlgorithm
that dumps the differences using this class' logger, will compare all fields of the report, and will not fail fast. - JsonReportComparer.DiffAlgorithm - 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
. - knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- knowsIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields
true
if this instance is currently tracking abstract information for the given identifier.
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. - lenghtOfLongestString() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the length of the longest string recognized by this automaton, with
Integer.MAX_VALUE
representing infinity. - length() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Yields the length of this extended string.
- leq(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is less than or equals to other. - lessOrEqual(CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- lessOrEqual(L) - Method in interface it.unive.lisa.analysis.BaseLattice
- lessOrEqual(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one. - lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lessOrEqualAux(AnalysisState<A>) - Method in class it.unive.lisa.analysis.AnalysisState
- lessOrEqualAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
- lessOrEqualAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- lessOrEqualAux(DefiniteDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteDataflowDomain
- lessOrEqualAux(PossibleDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleDataflowDomain
- lessOrEqualAux(FixpointInfo) - Method in class it.unive.lisa.analysis.FixpointInfo
- 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(L) - Method in interface it.unive.lisa.analysis.BaseLattice
-
Yields
true
if and only if this lattice element is in relation with (usually represented through ≤) the given one, assuming that base cases have already been handled. - lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- LIFOWorkingSet<E> - Class in it.unive.lisa.util.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. - LiSA - Class in it.unive.lisa
-
This is the central class of the LiSA library.
- LiSA(LiSAConfiguration) - Constructor for class it.unive.lisa.LiSA
-
Builds a new LiSA instance.
- LiSAConfiguration - Class in it.unive.lisa.conf
-
A holder for the configuration of a
LiSA
analysis. - LiSAConfiguration() - Constructor for class it.unive.lisa.conf.LiSAConfiguration
- LiSAConfiguration.DescendingPhaseType - Enum in it.unive.lisa.conf
-
The type of descending fixpoint phase algorithms that can be used.
- LiSAConfiguration.GraphType - Enum in it.unive.lisa.conf
-
The type of graphs that can be dumped by LiSA.
- LiSAReport - Class in it.unive.lisa
-
A structured report containing the information about an analysis that has successfully completed.
- LiSAReport(LiSAConfiguration, LiSARunInfo, Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.LiSAReport
-
Builds the report.
- LiSARunInfo - Class in it.unive.lisa
-
A collector of the information about a competed analysis.
- LiSARunInfo(Collection<Warning>, Collection<String>, Application, DateTime, DateTime) - Constructor for class it.unive.lisa.LiSARunInfo
-
Builds the run info.
- LiSARunner<A extends AbstractState<A>> - Class in it.unive.lisa
-
An auxiliary analysis runner for executing LiSA analysis.
- list - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
The node list of this graph.
- ListRepresentation - Class in it.unive.lisa.util.representation
-
A
StructuredRepresentation
in the form of a list of values. - ListRepresentation(StructuredRepresentation...) - Constructor for class it.unive.lisa.util.representation.ListRepresentation
-
Builds a new representation containing the given elements.
- ListRepresentation(List<E>, Function<E, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.ListRepresentation
-
Builds a new representation starting from the given list.
- ListRepresentation(List<StructuredRepresentation>) - Constructor for class it.unive.lisa.util.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 operator.
- 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 operator.
- 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 operator.
- 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. - lt(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
true
if this number is less than other. - lub(CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- 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 interface 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>) - Method in class it.unive.lisa.analysis.AnalysisState
- lubAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
- lubAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- lubAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- lubAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- lubAux(DefiniteDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteDataflowDomain
- lubAux(PossibleDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleDataflowDomain
- lubAux(FixpointInfo) - Method in class it.unive.lisa.analysis.FixpointInfo
- lubAux(ExpressionInverseSet) - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- lubAux(ExpressionSet) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- 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(L) - Method in interface 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.VariableLift
- lubKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the union of the keys between
k1
andk2
.
M
- makeAcyclic() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields an acyclic version of this automaton, where all SCCs have been removed.
- map - Variable in class it.unive.lisa.util.representation.MapRepresentation
-
The mappings of contained in this map.
- MapRepresentation - Class in it.unive.lisa.util.representation
-
A
StructuredRepresentation
in the form of a key-value mapping. - MapRepresentation(Map<StructuredRepresentation, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.MapRepresentation
-
Builds a new representation containing the given map.
- MapRepresentation(Map<K, V>, Function<K, StructuredRepresentation>, Function<V, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.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.
- MathNumberConversionException - Exception in it.unive.lisa.util.numeric
-
An exception thrown when a
MathNumber
fails to be converted to a specific Java numerical type. - MathNumberConversionException(MathNumber) - Constructor for exception it.unive.lisa.util.numeric.MathNumberConversionException
-
Builds the exception.
- max(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the maximum number between
this
andother
. - maximumPath(State, State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Finds the maximum path between the two given states using the Dijkstra algorithm.
- maxLength() - Method in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
Yields the maximum length of this symbol.
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.Or
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.Star
- maxLength() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression may contain the given string. - mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- mayContain(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression may end with the given string. - mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- mayEndWith(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression may start with the given string. - mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- mayStartWith(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- meet(C, C, C, BiPredicate<T, T>, BinaryOperator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Meets (intersection) two collections, using a custom equality test to determine if two elements are to be considered equals and thus met together through the given
meet
. - MEMBER_MISMATCH - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for a
CodeMember
not matching its own signature. - members - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
CodeMember
s that were submitted to the analysis. - MemoryAllocation - Class in it.unive.lisa.symbolic.heap
-
An allocation of a memory location.
- MemoryAllocation(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.MemoryAllocation
-
Builds the heap allocation.
- MemoryAllocation(Type, CodeLocation, boolean) - Constructor for class it.unive.lisa.symbolic.heap.MemoryAllocation
-
Builds the heap allocation.
- MemoryAllocation(Type, CodeLocation, Annotations) - Constructor for class it.unive.lisa.symbolic.heap.MemoryAllocation
-
Builds the heap allocation.
- MemoryAllocation(Type, CodeLocation, Annotations, boolean) - Constructor for class it.unive.lisa.symbolic.heap.MemoryAllocation
-
Builds the heap allocation.
- MemoryOracle - Interface in it.unive.lisa.analysis.heap
-
An oracle that can be queried for information about the static and dynamic memory of the program.
- 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.lattices.Satisfiability
-
Yields whether or not this element can represent a
false
result. - mightBeTrue() - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
-
Yields whether or not this element can represent a
true
result. - mightNeedRewriting() - Method in class it.unive.lisa.symbolic.heap.HeapExpression
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields whether or not this expression can be considered safe to be processed by domains that only focus on
ValueExpression
s, or if it might need rewriting. - mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.Constant
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.Identifier
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.PushAny
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.PushInv
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.Skip
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- mightNeedRewriting() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- 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
. - minimize() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a minimal automaton equivalent to this one through Brzozowski's minimization algorithm.
- minimized - Variable in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Flag that tracks if this automaton has been minimized.
- minimumPath(State, State) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Finds the minimum path between the two given states using the Dijkstra algorithm.
- minLength() - Method in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
Yields the minimum length of this symbol.
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.Or
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.Star
- minLength() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- 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.DuplicateFreeFIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
-
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() - Static method in class it.unive.lisa.util.collections.workset.VisitOnceFIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
-
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.DefiniteDataflowDomain
- mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.PossibleDataflowDomain
- mk(H) - Method in interface it.unive.lisa.analysis.heap.BaseHeapDomain
-
Creates a new instance of this domain containing the same abstract information of reference.
- mk(AnalysisState<A>, Map<Statement, AnalysisState<A>>) - Method in class it.unive.lisa.analysis.StatementStore
- mk(AnalyzedCFG<A>, Map<ScopeId, AnalyzedCFG<A>>) - Method in class it.unive.lisa.interprocedural.CFGResults
- mk(Aliases, Map<Symbol, Aliases>) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- mk(CFGResults<A>, Map<CFG, CFGResults<A>>) - Method in class it.unive.lisa.interprocedural.FixpointResults
- mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
- mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.GenericSetLattice
- 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<SymbolicExpression>) - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- mk(Set<SymbolicExpression>) - 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.
- mk(V, Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.GenericMapLattice
- 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. - mkEmptyString() - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds a new empty extend string.
- 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>, boolean) - 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. - mkString(String) - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds a new extend string corresponding to the given string.
- mkStringFromChar(char) - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds a new extend string corresponding to the given character.
- mkStrings(String...) - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds an array of extend strings corresponding to the given ones.
- mkTopString(int) - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds a new extend string composed of
length
unknown characters. - mkUniversalSet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an
ExternalSet
that uses this cache and contains all of its elements. - ModuloOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a modulo (Euclidean modulo between the two operands and taking the sign of the divisor) 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
. - 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.
- narrowing(CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- narrowing(L) - Method in interface it.unive.lisa.analysis.BaseLattice
- narrowing(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the narrowing operation between this lattice element and the given one.
- NARROWING - it.unive.lisa.conf.LiSAConfiguration.DescendingPhaseType
-
The descending phase always uses the narrowing operator.
- narrowingAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- narrowingAux(AnalysisState<A>) - Method in class it.unive.lisa.analysis.AnalysisState
- narrowingAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
- narrowingAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- narrowingAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- narrowingAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- narrowingAux(FixpointInfo) - Method in class it.unive.lisa.analysis.FixpointInfo
- narrowingAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- narrowingAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- narrowingAux(L) - Method in interface it.unive.lisa.analysis.BaseLattice
-
Performs the narrowing operation between this lattice element and the given one, assuming that base cases have already been handled.
- 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.
- NaryStatement - Class in it.unive.lisa.program.cfg.statement
-
A generic statement with
n
sub-expressions. - NaryStatement(CFG, CodeLocation, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryStatement
-
Builds the statement, happening at the given location in the program.
- NaryStatement(CFG, CodeLocation, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryStatement
-
Builds the statement, 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.
- needsCallGraph() - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields
true
if this analysis needs aCallGraph
instance to function. - 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.lattices.Satisfiability
-
Negates the current satisfiability, getting the opposite result.
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
-
Builds a new instance of this edge, connecting the given nodes.
- next() - Method in class it.unive.lisa.util.numeric.IntIntervalIterator
- 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
- nextStatesNFA(Set<State>, T) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields that states that can be reached from at least one state in
set
by reading symbolsym
. - 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.
- NONE - it.unive.lisa.conf.LiSAConfiguration.DescendingPhaseType
-
The descending phase is not computed.
- NONE - it.unive.lisa.conf.LiSAConfiguration.GraphType
-
No graphs are dumped.
- 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 Environment<F,E,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_SATISFIED - it.unive.lisa.analysis.lattices.Satisfiability
-
Represent the fact that an expression is not satisfied.
- 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.
- 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 operator.
- 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 operator.
- 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 modulo (Euclidean modulo between the two operands and taking the sign of the divisor) of those values. - Numeric16BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
-
Builds the operator.
- 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 operator.
- Numeric16BitRem - 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 (the remainder of the division between the two operands and taking the sign of the dividend) of those values. - Numeric16BitRem() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitRem
-
Builds the operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 modulo (Euclidean modulo between the two operands and taking the sign of the divisor) of those values. - Numeric32BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitMod
-
Builds the operator.
- 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 operator.
- Numeric32BitRem - 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 (the remainder of the division between the two operands and taking the sign of the dividend) of those values. - Numeric32BitRem() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric32BitRem
-
Builds the operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 modulo (Euclidean modulo between the two operands and taking the sign of the divisor) of those values. - Numeric64BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitMod
-
Builds the operator.
- 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 operator.
- Numeric64BitRem - 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 (the remainder of the division between the two operands and taking the sign of the dividend) of those values. - Numeric64BitRem() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric64BitRem
-
Builds the operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 modulo (Euclidean modulo between the two operands and taking the sign of the divisor) of those values. - Numeric8BitMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitMod
-
Builds the operator.
- 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 operator.
- Numeric8BitRem - 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 (the remainder of the division between the two operands and taking the sign of the dividend) of those values. - Numeric8BitRem() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.Numeric8BitRem
-
Builds the operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 modulo (Euclidean modulo between the two operands and taking the sign of the divisor) of those values. - NumericNonOverflowingMod() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingMod
-
Builds the operator.
- 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 operator.
- NumericNonOverflowingRem - 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 (the remainder of the division between the two operands and taking the sign of the dividend) of those values. - NumericNonOverflowingRem() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingRem
-
Builds the operator.
- 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 operator.
- 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.util.representation
-
A
StructuredRepresentation
in the form of a complex object with fields. - ObjectRepresentation(Map<String, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.ObjectRepresentation
-
Builds a new representation containing the given map.
- ObjectRepresentation(Map<String, V>, Function<V, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.ObjectRepresentation
-
Builds a new representation starting from the given map.
- of(AnalysisState<A>, StatementStore<A>) - Static method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
-
Builds a compound state from the given post-states.
- 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 - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The
OpenCallPolicy
to be used for computing the result ofOpenCall
s. - OpenCallPolicy - Interface in it.unive.lisa.interprocedural
-
Policy that determines what happens to the
AnalysisState
when anOpenCall
is encountered during the fixpoint. - operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.AscendingFixpoint
- operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardAscendingFixpoint
- operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingGLBFixpoint
- operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardDescendingNarrowingFixpoint
- operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.DescendingGLBFixpoint
- operation(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.DescendingNarrowingFixpoint
- operation(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.
- 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
- optimize - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.optimize
. - optimize - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
If
true
, will cause the analysis to optimize fixpoint executions. - OptimizedAnalyzedCFG<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
-
An
AnalyzedCFG
that has been built using anOptimizedFixpoint
. - OptimizedAnalyzedCFG(CFG, ScopeId, AnalysisState<A>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- OptimizedAnalyzedCFG(CFG, ScopeId, AnalysisState<A>, Map<Statement, AnalysisState<A>>, Map<Statement, AnalysisState<A>>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- OptimizedAnalyzedCFG(CFG, ScopeId, StatementStore<A>, StatementStore<A>, InterproceduralAnalysis<A>) - Constructor for class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- OptimizedBackwardFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A fixpoint algorithm for a
Graph
, parametric to theFixpoint.FixpointImplementation
that one wants to use to compute the results. - OptimizedBackwardFixpoint(CFG, boolean, Predicate<Statement>) - Constructor for class it.unive.lisa.program.cfg.fixpoints.OptimizedBackwardFixpoint
-
Builds an optimized fixpoint for the given
Graph
. - OptimizedFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
-
A fixpoint algorithm for a
Graph
, parametric to theFixpoint.FixpointImplementation
that one wants to use to compute the results. - OptimizedFixpoint(CFG, boolean, Predicate<Statement>) - Constructor for class it.unive.lisa.program.cfg.fixpoints.OptimizedFixpoint
-
Builds an optimized fixpoint for the given
Graph
. - or(Satisfiability) - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
-
Performs a logical or between this satisfiability and the given one.
- or(RegularExpression) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Builds the disjunction (
Or
) betweenthis
and the given regular expression. - Or - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing an or between two other regular expressions. - Or(RegularExpression, RegularExpression) - Constructor for class it.unive.lisa.util.datastructures.regex.Or
-
Builds the or.
- OrderPreservingAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
-
A strategy that passes the parameters in the same order as they are specified.
- ordinal(int) - Static method in class it.unive.lisa.util.StringUtilities
-
Yields the ordinal for the given integer by appending either
st
,nd
,rd
, orth
to it. - otherFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields all fields that were unrecognized during deserialization.
- otherFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields all fields that were unrecognized during deserialization.
- 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>) - 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
. - PartialSubstring(SymbolicString, int, int) - Constructor for class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
-
Builds the partial substring.
- 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.DuplicateFreeFIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- 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.
- PERIOD_FORMAT - Static variable in class it.unive.lisa.LiSARunInfo
-
A
PeriodFormatter
, producing timestamps as (where italics words represent portions of the timestamp): yearY monthM dayD hoursh minutesm secondss millisecondsms. - 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.DuplicateFreeFIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- 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.heap.BaseHeapDomain
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.ScopedObject
-
Pops the scope identified by the given token from this object.
- 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.PushInv
- 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
- PossibleDataflowDomain<E extends DataflowElement<PossibleDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomain
for possible dataflow analysis. - PossibleDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.PossibleDataflowDomain
-
Builds an empty domain.
- postState - Variable in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
-
The overall post-state of a statement.
- 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.
- prefix() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the automaton that recognizes all possible prefixes of the strings recognized by this automaton.
- prepare(Call, AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, Parameter[], ExpressionSet[]) - Method in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
- prepare(Call, AnalysisState<A>, InterproceduralAnalysis<A>, StatementStore<A>, Parameter[], ExpressionSet[]) - 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>, InterproceduralAnalysis<A>, StatementStore<A>, Parameter[], ExpressionSet[]) - 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.
- prettyPrint() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a textual representation of the adjacency matrix of this automaton.
- 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. - programs - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
Program
s analyzed. - 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.DuplicateFreeFIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- push(E) - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Pushes a new element into this working set.
- push(CFGCall) - Method in interface it.unive.lisa.interprocedural.ScopeId
-
Transforms the current scope id by appending the given call.
- push(CFGCall) - Method in class it.unive.lisa.interprocedural.UniqueScope
- PushAny - Class in it.unive.lisa.symbolic.value
-
An expression that pushes any possible value on the stack.
- PushAny(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.PushAny
-
Builds the push any.
- PushInv - Class in it.unive.lisa.symbolic.value
-
An expression that pushes an invalid value on the stack.
- PushInv(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.PushInv
-
Builds the push invalid.
- 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.heap.BaseHeapDomain
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionInverseSet
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- pushScope(ScopeToken) - Method in interface it.unive.lisa.analysis.ScopedObject
-
Pushes a new scope, identified by the give token, in this object.
- 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.PushInv
- 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>) - Method in class it.unive.lisa.analysis.StatementStore
-
Stores the given state for the given statement.
- put(String, Lattice<?>) - Method in class it.unive.lisa.analysis.FixpointInfo
-
Yields a new instance of this class where the given information has been mapped to the given key.
- putResult(ScopeId, AnalyzedCFG<A>) - Method in class it.unive.lisa.interprocedural.CFGResults
-
Stores the result of a fixpoint computation on a cfg, if needed.
- putResult(CFG, ScopeId, AnalyzedCFG<A>) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Stores the result of a fixpoint computation on a cfg.
- 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
. - putWeak(String, Lattice<?>) - Method in class it.unive.lisa.analysis.FixpointInfo
-
Yields a new instance of this class where the given information has been mapped to the given key.
- 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
- reachableFrom(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Yields all the
Identifier
s that are reachable starting from theIdentifier
represented (directly or after rewriting) by the given expression. - 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. - readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.Or
- readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Checks whether this regular expression recognize a string made just of whitespaces.
- readsWhiteSpaceString() - Method in class it.unive.lisa.util.datastructures.regex.Star
- recognizesExactlyOneString() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields
true
if this automaton recognizes exactly one string, that is, if it has no loops and all states have at most one outgoing transition. - recursionWideningThreshold - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.recursionWideningThreshold
. - recursionWideningThreshold - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The number of fixpoint iteration over a recursive call chain after which calls to
Lattice.lub(Lattice)
gets replaced withLattice.widening(Lattice)
to stabilize the results. - 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
. - registerCall(CFGCall) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- registerCall(CFGCall) - Method in class 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. - RegularExpression - Class in it.unive.lisa.util.datastructures.regex
-
A regular expression that can be recognized by an
Automaton
, or that can be used to represent the language recognized by an automaton. - RegularExpression() - Constructor for class it.unive.lisa.util.datastructures.regex.RegularExpression
- RegularExpression.PartialSubstring - Class in it.unive.lisa.util.datastructures.regex
-
A class that represents an intermediate result of the computation of
RegularExpression.substring(int, int)
. - RemainderOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a remainder (the remainder of the division between the two operands and taking the sign of the dividend) between its operands.
- 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.
- removeStates(Set<State>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Removes every state in the given set from the ones of this automaton.
- removeTransitions(Set<Transition<T>>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Removes every transition in the given set from the ones of this automaton.
- removeUnreachableStates() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Remove all the unreachable states from the current automaton.
- repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.Or
- repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression corresponding to the
n
-repetition ofthis
. - repeat(long) - Method in class it.unive.lisa.util.datastructures.regex.Star
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in class it.unive.lisa.outputs.compare.JsonReportComparer.BaseDiffAlgorithm
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
Reports a difference in one of the components of the reports.
- REPORT_NAME - Static variable in class it.unive.lisa.LiSA
-
The name of the json report that LiSA can optionally dump.
- representation - Variable in class it.unive.lisa.util.representation.StringRepresentation
-
The textual representation.
- representation() - Method in class it.unive.lisa.analysis.AnalysisState
- representation() - Method in class it.unive.lisa.analysis.AnalyzedCFG
- representation() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- representation() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- representation() - Method in class it.unive.lisa.analysis.FixpointInfo
- representation() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- representation() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- representation() - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
- representation() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- 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
StructuredRepresentation
of the information contained in this pair. - representation() - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- representation() - Method in interface it.unive.lisa.util.representation.StructuredObject
-
Yields a
StructuredRepresentation
of the information contained in this object's instance. - representationWithInfo() - Method in class it.unive.lisa.analysis.AnalysisState
-
Variant of
AnalysisState.representation()
that also includesAnalysisState.getFixpointInformation()
. - resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class 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.
- results - Variable in class it.unive.lisa.analysis.AnalyzedCFG
-
The map storing the analysis results.
- results - Variable in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
The map storing the analysis results.
- 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. - returnsVoid(Call, AnalysisState<A>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields whether or if this call returned no value or its return type is
VoidType
. - 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 the call's meta variable assigned to top only if the call returns a value. - reverse() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Creates an automaton that accept the reverse language.
- reverse() - Method in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
Yields a new symbol that corresponds to this one, but read back-to-front.
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.Or
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.Star
- reverse() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- rewrite(ExpressionSet, HeapEnvironment<T>, ProgramPoint, SemanticOracle) - 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. - rewrite(ExpressionSet, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Rewrites the given expressions to a simpler form containing no sub expressions regarding the heap (that is,
HeapExpression
s). - 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, SemanticOracle) - 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.MemoryOracle
-
Rewrites the given expression to a simpler form containing no sub expressions regarding the heap (that is,
HeapExpression
s). - rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- 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.
- run(Program...) - Method in class it.unive.lisa.LiSA
-
Runs LiSA, executing all the checks that have been added.
- 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
- sameCodeAndResults(LiSARunInfo) - Method in class it.unive.lisa.LiSARunInfo
-
Checks whether the given run information match this one in terms of analyzed code and analysis results.
- 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. - sameIDs(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
-
Yields whether or not the
AnalyzedCFG.id
of this graph and the given one are the same. - sameIDs(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
-
Yields whether or not the
BackwardAnalyzedCFG.id
of this graph and the given one are the same. - 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.
- Satisfiability - Enum in it.unive.lisa.analysis.lattices
-
A lattice representing sets of possible Boolean values:
(true)
,(false)
,(true, false)
or unknown,()
or bottom. - SATISFIED - it.unive.lisa.analysis.lattices.Satisfiability
-
Represent the fact that an expression is satisfied.
- satisfies(E, F, ProgramPoint, SemanticOracle) - 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 ofSatisfiability
. - satisfies(E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- satisfies(E, ProgramPoint, SemanticOracle) - 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
Satisfiability
. - satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
-
Checks if the given expression is satisfied by the abstract values of this state, returning an instance of
Satisfiability
. - satisfies(ValueExpression, InferenceSystem<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- satisfies(ValueExpression, TypeEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- satisfies(ValueExpression, ValueEnvironment<T>, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- satisfies(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- satisfiesAbstractValue(T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of an runtime types of type
<T>
. - satisfiesAbstractValue(T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of an abstract value of type
<T>
. - satisfiesAbstractValue(T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of an abstract value of type
<T>
. - satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNonNullConstant(Constant, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNullConstant(ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of the null constant
NullConstant
on this abstract domain. - satisfiesNullConstant(ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of the null constant
NullConstant
on this abstract domain. - satisfiesNullConstant(T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the null constant
NullConstant
on this abstract domain. - satisfiesPushAny(PushAny, T, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the push any expression.
- satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface 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, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose runtime types arearg
, returning an instance ofSatisfiability
. - satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
, returning an instance ofSatisfiability
. - satisfiesUnaryExpression(UnaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
UnaryExpression
applyingoperator
to an expression whose abstract value isarg
, returning an instance ofSatisfiability
. - SCCs<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 strongly connected components a graph.
- SCCs() - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.SCCs
-
Builds the SCCs.
- scope(AnalysisState<A>, ScopeToken, ExpressionSet[]) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Converts the pre-state of
call
to a valid entry state for one of its targets. - ScopedObject<T> - Interface in it.unive.lisa.analysis
-
An object that can react to the introduction or removal of scopes, modifying the variables currently in view.
- ScopeId - Interface in it.unive.lisa.interprocedural
-
An identifier for an
InterproceduralAnalysis
to distinguish different results for the sameCFG
based on their calling contexts. - ScopeToken - Class in it.unive.lisa.analysis
-
A token that can be used for pushing and popping scopes on local variables through
ScopedObject.pushScope(ScopeToken)
andScopedObject.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>> - 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. - semanticChecks - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The collection of
SemanticCheck
s to execute. - 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.
- 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.
- SemanticOracle - Interface in it.unive.lisa.analysis
-
An oracle that can be queried for semantic information the program under analysis.
- semantics(Statement, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
- semantics(Statement, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
- 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, SemanticOracle) - Method in interface 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
- serializeInputs - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
Whether or not the inputs
CFG
s to the analysis should be dumped in json format before the analysis starts. - serializeResults - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
Whether or not the results of the analysis (if executed) should be dumped in json format.
- 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.
- 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.DefaultParamInitialization
- 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.NaryStatement
- 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.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. - setOtherField(String, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Adds a field that was not recognized during deserialization.
- setOtherField(String, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Adds a field that was not recognized during deserialization.
- 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.outputs.serializableGraph.SerializableValue
-
Sets a textual property to enrich the information represented by this value.
- setProperty(String, String) - Method in class it.unive.lisa.util.representation.StructuredRepresentation
-
Sets a textual property to enrich the information represented by this instance.
- SetRepresentation - Class in it.unive.lisa.util.representation
-
A
StructuredRepresentation
in the form of a set of values. - SetRepresentation(Set<E>, Function<E, StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.SetRepresentation
-
Builds a new representation starting from the given set.
- SetRepresentation(Set<StructuredRepresentation>) - Constructor for class it.unive.lisa.util.representation.SetRepresentation
-
Builds a new representation containing the given set.
- 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.
- shouldCompareConfigurations() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, analysis configurations (JsonReport.getConfiguration()
) will be compared. - shouldCompareFileContents() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, content of files produced by both analyses will be compared. - shouldCompareFiles() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, files (JsonReport.getFiles()
) will be compared. - shouldCompareRunInfos() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, run information (JsonReport.getInfo()
) will be compared. - shouldCompareWarnings() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, warnings (JsonReport.getWarnings()
) will be compared. - shouldFailFast() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, comparison will halt after the first failed category (warnings, files, ...) without reporting the full diff. - 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() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- simplify() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- simplify() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- simplify() - Method in class it.unive.lisa.util.datastructures.regex.Or
- simplify() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a simplified version of this regular expression.
- simplify() - Method in class it.unive.lisa.util.datastructures.regex.Star
- 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). - singleString(String) - Method in interface it.unive.lisa.util.datastructures.automaton.AutomataFactory
-
Yields a new automaton recognizing only the given string.
- 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.DuplicateFreeFIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- 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, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- smallStepSemantics(E, ProgramPoint, SemanticOracle) - 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
-
Yields a copy of this state, that has been modified accordingly to the semantics of the given
expression
. - smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.heap.BaseHeapDomain
- smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- smallStepSemantics(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- smallStepSemantics(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- SortedSetCollector() - Constructor for class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- 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).
- star() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Creates a new automaton composed of a loop over this one.
- star() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Builds the Kleene closure of this regular expression (
Star
), recognizingthis
zero or more times. - Star - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing a loop, repeated an arbitrary number of times, over an inner regular expression. - Star(RegularExpression) - Constructor for class it.unive.lisa.util.datastructures.regex.Star
-
Builds the star.
- start - Variable in class it.unive.lisa.LiSARunInfo
-
The timestamp of the analysis start, formatted through
LiSARunInfo.PERIOD_FORMAT
. - startingId() - Method in interface it.unive.lisa.interprocedural.ScopeId
-
Yields the id to use at the start of the analysis, for entrypoints.
- startingId() - Method in class it.unive.lisa.interprocedural.UniqueScope
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Or
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields
true
if and only if this regular expression always starts with the given string. - startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.Star
- startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Yields
true
if and only if this extended string starts with the given prefix. - startsWith(String) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- State - Class in it.unive.lisa.util.datastructures.automaton
-
A class that describes an
Automaton
state. - State(int, boolean, boolean) - Constructor for class it.unive.lisa.util.datastructures.automaton.State
-
State constructor, it creates a new state with the given information.
- 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.
- statements - Variable in class it.unive.lisa.LiSARunInfo
-
The total number of top-level
Statement
s analyzed. - StatementStore<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
-
A functional lattice that stores instances of
AnalysisState
computed on statements. - StatementStore(AnalysisState<A>) - 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.
- stateOfUnknown(Symbol) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- stateOfUnknown(ScopeId) - Method in class it.unive.lisa.interprocedural.CFGResults
- stateOfUnknown(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
- stateOfUnknown(Statement) - Method in class it.unive.lisa.analysis.StatementStore
- stateOfUnknown(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.VariableLift
- stateOfUnknown(K) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the value that should be returned by
FunctionalLattice.getState(Object)
whenever the given key is not present in this map. - stateOfUnknown(K) - Method in class it.unive.lisa.analysis.lattices.GenericMapLattice
- states - Variable in class it.unive.lisa.util.datastructures.automaton.Automaton
-
The states of this automaton.
- 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
- storeInfo(String, Lattice<?>) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state where the additional fixpoint information (
AnalysisState.getFixpointInformation()
) has been updated by mapping the given key toinfo
. - storePostStateOf(Statement, AnalysisState<A>) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Stores the given poststate for the statement in the non-unwinded results of this cfg, overwriting any existing value.
- storePreStateOf(Statement, AnalysisState<A>) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Stores the given prestate for the statement in the non-unwinded results of this cfg, overwriting any existing value.
- STRING - Static variable in class it.unive.lisa.util.datastructures.regex.TopAtom
-
The string used to represent this regular expression.
- 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.
- StringCollector(String) - Constructor for class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
-
Builds the collector.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 operator.
- 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 containing their result type 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 operator.
- StringRepresentation - Class in it.unive.lisa.util.representation
-
A
StructuredRepresentation
in the form of a single string element. - StringRepresentation(Object) - Constructor for class it.unive.lisa.util.representation.StringRepresentation
-
Builds a new representation starting from the given object.
- StringRepresentation(String) - Constructor for class it.unive.lisa.util.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 operator.
- 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 operator.
- StringType - Interface in it.unive.lisa.type
-
String type interface.
- StringUtilities - Class in it.unive.lisa.util
-
Utility methods for building and manipulating strings.
- StructuredObject - Interface in it.unive.lisa.util.representation
-
An object that whose contents can be converted to a domain-independent
StructuredRepresentation
for later use. - StructuredRepresentation - Class in it.unive.lisa.util.representation
-
A structured representation of the information present in a single instance of an object.
- StructuredRepresentation() - Constructor for class it.unive.lisa.util.representation.StructuredRepresentation
- STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The style attribute name.
- substring(int, int) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Returns the set of all possible substrings of this regular expression, starting at the given index (inclusive) and ending at the given index (exclusive).
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.Or
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Returns the set of all possible substrings of this regular expression, starting at the given index (inclusive) and ending at the given index (exclusive).
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.Star
- substringAux(int, int) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- subtract(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this - other
. - SubtractionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a subtraction between its operands.
- suffix() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the automaton that recognizes all possible suffixes of the strings recognized by this automaton.
- supertype(NumericType) - Method in interface it.unive.lisa.type.NumericType
- supplier() - Method in class it.unive.lisa.util.collections.CollectionUtilities.SortedSetCollector
- supplier() - Method in class it.unive.lisa.util.collections.CollectionUtilities.StringCollector
- 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.
- SymbolicChar - Class in it.unive.lisa.util.datastructures.regex.symbolic
-
An symbolic character, that is, an object representing a single and possibly unknown character.
- SymbolicChar(char) - Constructor for class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
-
Builds the symbolic character.
- 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.
- SymbolicString - Class in it.unive.lisa.util.datastructures.regex.symbolic
-
An extended string, that is, a string composed of an array of
SymbolicChar
. - symbolToRegex(T) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields a
RegularExpression
representing the given symbol. - SyntacticCheck - Interface in it.unive.lisa.checks.syntactic
-
A
Check
that is able to exploit only the syntactic structure of the program. - syntacticChecks - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The collection of
SyntacticCheck
s to execute. - 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
. - TernaryStatement - Class in it.unive.lisa.program.cfg.statement
-
An
NaryStatement
with exactly three sub-expressions. - TernaryStatement(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryStatement
-
Builds the statement, happening at the given location in the program.
- TernaryStatement(CFG, CodeLocation, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryStatement
-
Builds the statement, happening at the given location in the program.
- 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
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.Or
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Transforms this regular expression into its equivalent automaton.
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.Star
- toAutomaton(AutomataFactory<A, T>) - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- toByte() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the byte value of this math number.
- toDot() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to a
DotGraph
. - toDouble() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the double value of this math number.
- toFloat() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the float value of this math number.
- 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
. - toInt() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the integer value of this math number.
- toLong() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the long value of this math number.
- top() - Method in class it.unive.lisa.analysis.AnalysisState
- top() - Method in class it.unive.lisa.analysis.AnalyzedCFG
- top() - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- top() - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- top() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- top() - Method in class it.unive.lisa.analysis.FixpointInfo
- 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.ExpressionInverseSet
- top() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- top() - Method in class it.unive.lisa.analysis.lattices.GenericInverseSetLattice
- top() - Method in class it.unive.lisa.analysis.lattices.GenericMapLattice
- top() - Method in class it.unive.lisa.analysis.lattices.GenericSetLattice
- top() - Method in enum it.unive.lisa.analysis.lattices.Satisfiability
- 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 class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- 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() - Method in class it.unive.lisa.interprocedural.CFGResults
- top() - Method in class it.unive.lisa.interprocedural.FixpointResults
- top() - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent top values.
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.Or
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression where all
TopAtom
are assumed to have length zero. - topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.Star
- topAsEmptyString() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.Or
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression where all
TopAtom
are assumed to have length one. - topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.Star
- topAsSingleChar() - Method in class it.unive.lisa.util.datastructures.regex.TopAtom
- TopAtom - Class in it.unive.lisa.util.datastructures.regex
-
A
RegularExpression
representing a sequence of unknown characters of arbitrary length. - topRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
-
Yields a fresh
StructuredRepresentation
that can be used to represent top values throughStructuredObject.representation()
. - toPropertyBag() - Method in class it.unive.lisa.conf.LiSAConfiguration
-
Converts this configuration to a property bag, that is, a map from keys (fields of this class) to values (their values).
- toPropertyBag() - Method in class it.unive.lisa.LiSARunInfo
-
Converts this configuration to a property bag, that is, a map from keys (fields of this class) to values (their values).
- toRegex() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Creates and return the regex that represent the accepted language by the automaton
this
, using Brzozowski algebraic method (see here). - toSerializableGraph() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraph
built from this one. - toSerializableGraph(BiFunction<G, N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- toSerializableGraph(BiFunction<G, N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- toSerializableGraph(BiFunction<G, N, SerializableValue>) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraph
built from this one. - toSerializableGraph(BiFunction<CFG, Statement, SerializableValue>) - Method in class it.unive.lisa.program.cfg.CFG
- toSerializableValue() - Method in class it.unive.lisa.util.representation.ListRepresentation
- toSerializableValue() - Method in class it.unive.lisa.util.representation.MapRepresentation
- toSerializableValue() - Method in class it.unive.lisa.util.representation.ObjectRepresentation
- toSerializableValue() - Method in class it.unive.lisa.util.representation.SetRepresentation
- toSerializableValue() - Method in class it.unive.lisa.util.representation.StringRepresentation
- toSerializableValue() - Method in class it.unive.lisa.util.representation.StructuredRepresentation
-
Produces a serializable version of this representation.
- toShort() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the short value of this math number.
- toSingleInitalState() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
If this automaton has a single initial state, this method returns
this
. - toString() - Method in class it.unive.lisa.analysis.AnalysisState
- toString() - Method in interface it.unive.lisa.analysis.BaseLattice
- toString() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- toString() - Method in class it.unive.lisa.analysis.FixpointInfo
- 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.InferredValue.InferredPair
- toString() - Method in class it.unive.lisa.analysis.ScopeToken
- 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.conf.LiSAConfiguration
- 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.LiSAReport
- toString() - Method in class it.unive.lisa.LiSARunInfo
- 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.fixpoints.CFGFixpoint.CompoundState
- 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.DefaultParamInitialization
- toString() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- toString() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- toString() - Method in class it.unive.lisa.program.cfg.statement.NaryStatement
- 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.Statement
- 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.ConstantGlobal
- 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.HeapDereference
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- toString() - Method in class it.unive.lisa.symbolic.heap.MemoryAllocation
- 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.Numeric16BitRem
- 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.Numeric32BitRem
- 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.Numeric64BitRem
- 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.Numeric8BitRem
- 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.NumericNonOverflowingRem
- 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.PushInv
- 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.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.DuplicateFreeFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.DuplicateFreeLIFOWorkingSet
- 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.VisitOnceFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.VisitOnceLIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
- toString() - Method in class it.unive.lisa.util.datastructures.automaton.State
- toString() - Method in class it.unive.lisa.util.datastructures.automaton.Transition
- 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.datastructures.regex.Atom
- toString() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- toString() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- toString() - Method in class it.unive.lisa.util.datastructures.regex.Or
- toString() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression.PartialSubstring
- toString() - Method in class it.unive.lisa.util.datastructures.regex.Star
- toString() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicChar
- toString() - Method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
- toString() - Method in class it.unive.lisa.util.numeric.IntInterval
- toString() - Method in class it.unive.lisa.util.numeric.MathNumber
- toString() - Method in class it.unive.lisa.util.representation.ListRepresentation
- toString() - Method in class it.unive.lisa.util.representation.MapRepresentation
- toString() - Method in class it.unive.lisa.util.representation.ObjectRepresentation
- toString() - Method in class it.unive.lisa.util.representation.SetRepresentation
- toString() - Method in class it.unive.lisa.util.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.util.representation.StructuredRepresentation
- toStrings(Iterable<SymbolicString>) - Static method in class it.unive.lisa.util.datastructures.regex.symbolic.SymbolicString
-
Builds a set of plain strings from a given set of extended strings.
- 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. - totalize(Set<T>) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Performs the totalization of this automaton w.r.t the given alphabet.
- 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.
- Transition<T extends TransitionSymbol<T>> - Class in it.unive.lisa.util.datastructures.automaton
-
A class that describes an Automaton transition.
- Transition(State, State, T) - Constructor for class it.unive.lisa.util.datastructures.automaton.Transition
-
Creates a new transition for a generic automaton.
- transitions - Variable in class it.unive.lisa.util.datastructures.automaton.Automaton
-
The transitions of this automaton.
- TransitionSymbol<T> - Interface in it.unive.lisa.util.datastructures.automaton
-
A symbol that can be read by
Transition
s of anAutomaton
. - 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(Edge, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
- traverse(Edge, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
- 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
- traverseBackwards(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.Edge
-
Traverses this edge in the backward direction, from destination to source, optionally modifying the given
sourceState
by applying semantic assumptions. - traverseBackwards(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- traverseBackwards(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- traverseBackwards(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- traverseForward(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.Edge
-
Traverses this edge in the forward direction, proceeding from source to destination, optionally modifying the given
sourceState
by applying semantic assumptions. - traverseForward(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- traverseForward(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- traverseForward(AnalysisState<A>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.Or
- trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression where leading whitespaces have been removed from
this
. - trimLeft() - Method in class it.unive.lisa.util.datastructures.regex.Star
- trimRight() - Method in class it.unive.lisa.util.datastructures.regex.Atom
- trimRight() - Method in class it.unive.lisa.util.datastructures.regex.Comp
- trimRight() - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- trimRight() - Method in class it.unive.lisa.util.datastructures.regex.Or
- trimRight() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression where trailing whitespaces have been removed from
this
. - trimRight() - Method in class it.unive.lisa.util.datastructures.regex.Star
- 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.
- truncate(Expression[]) - Static method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
-
Truncates the given array of expressions by removing the first element.
- TruncatedParamsCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call that wraps another one that has been created through
CanRemoveReceiver.removeFirstParameter()
. - TruncatedParamsCall(Call) - Constructor for class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
-
Builds the call.
- Type - Interface in it.unive.lisa.type
-
Type interface.
- TypeCast - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpression
using this operator casts the type of the first argument to the type of the second argument. - TypeCast() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCast
-
Builds the operator.
- 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 operator.
- 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 operator.
- TypeDomain<T extends TypeDomain<T>> - Interface in it.unive.lisa.analysis.type
-
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>) - 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 operator.
- TypeOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation manipulating the types of concrete values.
- TypeOracle - Interface in it.unive.lisa.analysis.type
-
An oracle that can be queried for runtime type information.
- 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
- 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
. - UnaryStatement - Class in it.unive.lisa.program.cfg.statement
-
An
NaryStatement
with a single sub-expression. - UnaryStatement(CFG, CodeLocation, String, EvaluationOrder, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Builds the statement, happening at the given location in the program.
- UnaryStatement(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Builds the statement, happening at the given location in the program.
- union(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Yields the automaton recognizing the language that is the union of the languages recognized by
this
andother
. - union(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.BackwardCFGFixpoint
- union(Statement, CFGFixpoint.CompoundState<A>, CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint
- 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.
- UniqueScope - Class in it.unive.lisa.interprocedural
-
A
ScopeId
for analyses that do not make distinction between different calling contexts. - UniqueScope() - Constructor for class it.unive.lisa.interprocedural.UniqueScope
- 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.
- units - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
Unit
s that were submitted to the analysis. - 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.lattices.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
. - UNKNOWN_SYMBOL - Static variable in interface it.unive.lisa.util.datastructures.automaton.TransitionSymbol
-
The string used to represent an unknown transaction symbol, that can take the form of any other (e.g., any character, any string, ...).
- unknownString() - Method in interface it.unive.lisa.util.datastructures.automaton.AutomataFactory
-
Yields a new automaton recognizing a statically-unknown string.
- UnknownSymbolicChar - Class in it.unive.lisa.util.datastructures.regex.symbolic
-
An
SymbolicChar
representing an unknown character. - unknownValue(CFG, CodeLocation) - Method in interface it.unive.lisa.type.Type
-
Yields an expression that can be used as the right-hand side of an assignment to initialize a variable or parameter having this type to a statically unknown value.
- unknownVariable(Identifier) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields the default abstraction returned whenever a functional lattice using this element as values is queried for the state of a variable not currently part of its mapping.
- 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.
- unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.Atom
- unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.Comp
- unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.EmptySet
- unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.Or
- unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
-
Yields a new regular expression where all
Star
have been unrolled to a sequence of their inner regular expression of lengthlength
. - unrollStarToFixedLength(int) - Method in class it.unive.lisa.util.datastructures.regex.Star
- unscope(CFGCall, ScopeToken, AnalysisState<A>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Converts the exit state of a cfg that was invoked by
call
to a valid post-state ofcall
. - 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.
- unwind(FixpointConfiguration) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
-
Runs an ascending fixpoint computation starting with the results available in this graph, with the purpose of propagating the approximations held in this result to all the missing nodes.
- unwind(FixpointConfiguration) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
-
Runs an ascending fixpoint computation starting with the results available in this graph, with the purpose of propagating the approximations held in this result to all the missing nodes.
- 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.
- useWideningPoints - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.useWideningPoints
. - useWideningPoints - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
If
true
, will cause fixpoint iterations to use widening (and narrowing) only on widening points, using lub (or glb) on all other nodes regardless of the threshold.
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(Global, boolean) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
Global
. - 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.
- 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>) - 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.lattices.Satisfiability
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.conf.LiSAConfiguration.DescendingPhaseType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.conf.LiSAConfiguration.GraphType
-
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.
- ValueOracle - Interface in it.unive.lisa.analysis.value
-
An oracle that can be queried for information about values being computed during program execution.
- values() - Static method in enum it.unive.lisa.analysis.lattices.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.conf.LiSAConfiguration.DescendingPhaseType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.conf.LiSAConfiguration.GraphType
-
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 - 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.
- VariableLift<M extends VariableLift<M,E,T>,E extends SymbolicExpression,T extends NonRelationalElement<T,E,M>> - Class in it.unive.lisa.analysis.nonrelational
-
A
SemanticDomain
implemented as a lift for aNonRelationalElement
s, that mapsIdentifier
s to instances of such domain. - VariableLift(T) - Constructor for class it.unive.lisa.analysis.nonrelational.VariableLift
-
Builds an empty lift.
- VariableLift(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.VariableLift
-
Builds a lift containing the given mapping.
- 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.
- verboseLabelDiff() - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffAlgorithm
-
If
true
, the full diff between two labels will be reported when a difference is found. - version - Variable in class it.unive.lisa.LiSARunInfo
-
The version of LiSA used to run the analysis.
- VERSION - Static variable in class it.unive.lisa.VersionInfo
-
The current version of LiSA.
- VersionInfo - Class in it.unive.lisa
-
Compiler-generated class that holds information about versioning and other build metadata.
- VersionInfo() - Constructor for class it.unive.lisa.VersionInfo
- 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(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(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(MemoryAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
MemoryAllocation
. - visit(BinaryExpression, ExpressionSet, ExpressionSet, 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(PushInv, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(PushInv, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(PushInv, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(PushInv, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(PushInv, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
PushInv
. - 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, ExpressionSet, ExpressionSet, 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, 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.
- VisitOnceFIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A FIFO working set that guarantees that each element will be added to this working set no more than once.
- VisitOnceLIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A LIFO working set that guarantees that each element will be added to this working set no more than once.
- VisitOnceWorkingSet<E> - Interface in it.unive.lisa.util.collections.workset
-
A working set, containing items to be processed.
- 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 - Variable in class it.unive.lisa.LiSARunInfo
-
The number of
Warning
s that were generated by theSyntacticCheck
s andSemanticCheck
s executed during the analysis. - 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.
- weakStoreInfo(String, Lattice<?>) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state where the additional fixpoint information (
AnalysisState.getFixpointInformation()
) has been updated by mapping the given key toinfo
. - widening(int) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
-
Creates a new automaton that represent the widening operator applied on the automaton
this
. - widening(CFGFixpoint.CompoundState<A>) - Method in class it.unive.lisa.program.cfg.fixpoints.CFGFixpoint.CompoundState
- widening(L) - Method in interface 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>) - Method in class it.unive.lisa.analysis.AnalysisState
- wideningAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.AnalyzedCFG
- wideningAux(AnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.OptimizedAnalyzedCFG
- wideningAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardAnalyzedCFG
- wideningAux(BackwardAnalyzedCFG<A>) - Method in class it.unive.lisa.analysis.BackwardOptimizedAnalyzedCFG
- wideningAux(FixpointInfo) - Method in class it.unive.lisa.analysis.FixpointInfo
- 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(L) - Method in interface 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.
- wideningThreshold - Variable in class it.unive.lisa.conf.FixpointConfiguration
-
Holder of
LiSAConfiguration.wideningThreshold
. - wideningThreshold - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)
gets replaced withLattice.widening(Lattice)
. - withTopMemory() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields a copy of this state, but with its memory abstraction set to top.
- withTopMemory() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state, but with the
AbstractState
's inner memory abstraction set to top. - withTopTypes() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields a copy of this state, but with its type abstraction set to top.
- withTopTypes() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state, but with the
AbstractState
's inner type abstraction set to top. - withTopValues() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields a copy of this state, but with its value abstraction set to top.
- withTopValues() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this state, but with the
AbstractState
's inner value abstraction set to top. - workdir - Variable in class it.unive.lisa.conf.LiSAConfiguration
-
The working directory for this instance of LiSA, that is, the directory files will be created, if any (log files excluded, use the logging configuration for controlling where those are placed).
- 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