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

A

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

Note that this class does not implement Object.equals(Object) nor Object.hashCode() since all cfgs are unique.
AbstractCodeMember(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.AbstractCodeMember
Builds the signature control flow graph.
abstractState - 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 to to and recognizing input 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
An adjacency matrix for a graph that has Nodes as nodes and Edges as edges.
AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Builds a new matrix.
AdjacencyMatrix(AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Copies the given matrix by shallow-copying the Nodes and deep-copying the values.
AdjacencyMatrix.NodeEdges<G extends BaseGraph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
afterExecution(T) - Method in interface it.unive.lisa.checks.Check
Callback invoked only once after the end of the inspection of the program.
alias(Symbol, Symbol) - Method in class it.unive.lisa.analysis.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 of Symbols to be used as aliases.
Aliases() - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds an empty set of aliases, representing the top of the lattice.
Aliases(Symbol) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds the set of aliases.
Aliases(Set<Symbol>) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
Builds the set of aliases.
allInstances(TypeSystem) - Method in class it.unive.lisa.type.NullType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.ReferenceType
 
allInstances(TypeSystem) - Method in interface it.unive.lisa.type.Type
Yields all possible instances of this type, including itself.
allInstances(TypeSystem) - Method in class it.unive.lisa.type.TypeTokenType
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.Untyped
 
allInstances(TypeSystem) - Method in class it.unive.lisa.type.VoidType
 
allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields true iff all the elements contained in this set satisfy the given predicate.
allStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields all the Statements contained in this structure, including the condition and the first follower.
AnalysisException - Exception in it.unive.lisa
A generic 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
A control flow graph, that has Statements as nodes and Edges as edges.
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 Programs 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 the Identifier 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 from s1 to s2 and one going from s2 to s1.
ArithmeticOperator - Interface in it.unive.lisa.symbolic.value.operator
A numerical operation on operand(s) of type NumericType.
ArrayAnnotationValue - Class in it.unive.lisa.program.annotations.values
An array annotation value.
ArrayAnnotationValue(BasicAnnotationValue[]) - Constructor for class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
Builds an array annotation value.
ArrayType - Interface in it.unive.lisa.type
Array type interface.
asArrayType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a ArrayType, only if Type.isArrayType() yields true.
asAtom() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Casts this regular expression to an Atom if this regular expression is an Atom.
asBooleanType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a BooleanType, only if Type.isBooleanType() yields true.
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
Casts this regular expression to a Comp if this regular expression is a Comp.
asEmptySet() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Casts this regular expression to an EmptySet if this regular expression is an EmptySet.
asInMemoryType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a InMemoryType, only if Type.isInMemoryType() yields true.
asNullType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a NullType, only if Type.isNullType() yields true.
asNumericType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a NumericType, only if Type.isNumericType() yields true.
asOr() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Casts this regular expression to an Or if this regular expression is an Or.
asPointerType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a PointerType, only if Type.isPointerType() yields true.
asReferenceType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a ReferenceType, only if Type.isReferenceType() yields true.
assign(I, E, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.SemanticDomain
Yields a copy of this domain, where id has been assigned to value.
assign(SymbolicExpression, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
Yields a copy of this analysis state, where the symbolic expression id has been assigned to value: if id is not an Identifier, then it is rewritten before performing the assignment.
assign(Identifier, E, ProgramPoint, 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 to value.
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 to target, happening at the given location in the program.
Assignment(CFG, CodeLocation, EvaluationOrder, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
Builds the assignment, assigning expression to target, happening at the given location in the program.
Assignment(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
Builds the assignment, assigning expression to target, happening at the given location in the program.
Assignment(CFG, CodeLocation, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
Builds the assignment, assigning expression to target, happening at the given location in the program.
asStar() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Casts this regular expression to a Star if this regular expression is a Star.
asStringType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a StringType, only if Type.isStringType() yields true.
assume(E, ProgramPoint, 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 expression expression 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 operator operator, left argument left, and right argument right 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 operator operator, left argument left, and right argument right 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 operator operator, left argument left, middle argument middle,and right argument right 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 operator operator, left argument left, middle argument middle,and right argument right 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 operator operator and argument expression 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 operator operator and argument expression holds.
asTypeTokenType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a TypeTokenType, only if Type.isTypeTokenType() yields true.
asUnitType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a UnitType, only if Type.isUnitType() yields true.
asUntyped() - Method in interface it.unive.lisa.type.Type
Returns this type casted as an Untyped, only if Type.isUntyped() yields true.
asVoidType() - Method in interface it.unive.lisa.type.Type
Returns this type casted as a VoidType, only if Type.isVoidType() yields true.
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 and transitions.

B

BackwardAnalyzedCFG<A extends AbstractState<A>> - Class in it.unive.lisa.analysis
A control flow graph, that has Statements as nodes and Edges as edges.
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
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 the Fixpoint.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 an OptimizedBackwardFixpoint.
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 resolve UnresolvedCalls.

The graph underlying this call graph is built lazily through each call to resolve: querying for information about the graph before the completion of the analysis might lead to wrong results.
BaseCallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
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 an AdjacencyMatrix.

Note that this class does not define Object.equals(Object) nor Object.hashCode(), since we leave the decision to be unique instances to implementers.
BaseGraph() - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Builds the graph.
BaseGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Clones the given graph.
BaseGraph(Collection<N>, AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
Builds the graph.
BaseHeapDomain<H extends BaseHeapDomain<H>> - Interface in it.unive.lisa.analysis.heap
A base implementation of the HeapDomain interface, handling base cases of BaseHeapDomain.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 InferredValues.
BaseInferredValue.EvaluationVisitor<T extends BaseInferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
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 NonRelationalTypeDomains.
BaseNonRelationalTypeDomain.EvaluationVisitor<T extends BaseNonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
Base implementation for NonRelationalValueDomains.
BaseNonRelationalValueDomain.EvaluationVisitor<T extends BaseNonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
BaseValidationLogic - Class in it.unive.lisa.program.language.validation
A simple implementation of ProgramValidationLogic, providing the minimum reasoning for considering a Program valid for LiSA.
BaseValidationLogic() - Constructor for class it.unive.lisa.program.language.validation.BaseValidationLogic
 
BasicAnnotationMatcher - Class in it.unive.lisa.program.annotations.matcher
An annotation matcher based on the annotation name.
BasicAnnotationMatcher(Annotation) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
Builds the matcher from the name of the annotation.
BasicAnnotationMatcher(String) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
Builds the matcher from the name of the annotation.
BasicAnnotationValue - Interface in it.unive.lisa.program.annotations.values
Abstract class representing a basic annotation value, namely annotation values that can be inside an ArrayAnnotationValue.
beforeExecution(T) - Method in interface it.unive.lisa.checks.Check
Callback invoked only once before the beginning of the inspection of the program.
BinaryExpression - Class in it.unive.lisa.program.cfg.statement
An NaryExpression with exactly two sub-expressions.
BinaryExpression - Class in it.unive.lisa.symbolic.value
A bynary expression that applies a BinaryOperator to two SymbolicExpressions.
BinaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the untyped expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the untyped expression, happening at the given location in the program.
BinaryExpression(CFG, CodeLocation, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
Builds the expression, happening at the given location in the program.
BinaryExpression(Type, SymbolicExpression, SymbolicExpression, BinaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.BinaryExpression
Builds the binary expression.
BinaryOperator - Interface in it.unive.lisa.symbolic.value.operator.binary
A binary Operator that can be applied to a pair of SymbolicExpression.
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 to 1 only if the corresponding bits of both operands are 1) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
Builds the 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 to 1 only if at least one of the corresponding bits of the operands are 1) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
Builds the 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 to 1 only the corresponding bits of the operands are different) on the arguments.

First argument expression type: any NumericType
Second argument expression type: any NumericType
Computed expression type: NumericType
BitwiseXor() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
Builds the operator.
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields all the Statements contained in the body of this structure (thus excluding the condition and the first follower).
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
BoolAnnotationValue - Class in it.unive.lisa.program.annotations.values
A Boolean annotation value.
BoolAnnotationValue(boolean) - Constructor for class it.unive.lisa.program.annotations.values.BoolAnnotationValue
Builds a Boolean annotation value.
BooleanType - Interface in it.unive.lisa.type
Boolean type interface.
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 through StructuredObject.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 UnresolvedCalls.
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 CallGraphNodes in a BaseCallGraph.
CallGraphEdge(CallGraphNode, CallGraphNode) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
Build the edge.
CallGraphNode - Class in it.unive.lisa.interprocedural.callgraph
A node of a BaseCallGraph, representing a single CodeMember.
CallGraphNode(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 by other.
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.TypeTokenType
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.Untyped
 
canBeAssignedTo(Type) - Method in class it.unive.lisa.type.VoidType
 
canBeInstantiated() - Method in class it.unive.lisa.program.AbstractClassUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.ClassUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.CodeUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.InterfaceUnit
 
canBeInstantiated() - Method in class it.unive.lisa.program.Program
 
canBeInstantiated() - Method in class it.unive.lisa.program.Unit
Yields true if this unit can be instantiated, false otherwise (e.g., interfaces, abstract classes).
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 to SymbolicExpression.pushScope(ScopeToken) on this identifier yields a new OutOfScopeIdentifier associated with the given scope, that can then be removed by SymbolicExpression.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 process expression, false otherwise.
CanRemoveReceiver - Interface in it.unive.lisa.program.cfg.statement.call
Marker for Calls whose first parameter can be removed.
cast(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
Simulates a cast operation, where an expression with possible runtime types types is being cast to one of the possible type tokens in tokens.
cast(Set<Type>, Set<Type>, AtomicBoolean) - Method in class it.unive.lisa.type.TypeSystem
Simulates a cast operation, where an expression with possible runtime types types is being cast to one of the possible type tokens in tokens.
castElements(Class<T>) - Method in class it.unive.lisa.analysis.symbols.Aliases
Yields an iterable over the elements of this object casted to the given type.
CastIterable<E,​T extends E> - Class in it.unive.lisa.util.collections
An iterable that wraps another one, and whose iterator delegates to the wrapped one's, but returns its elements casted to another type.
CastIterable(Iterable<E>, Class<T>) - Constructor for class it.unive.lisa.util.collections.CastIterable
Builds the iterable.
CFG - Class in it.unive.lisa.program.cfg
A control flow graph with an implementation, that has Statements as nodes and Edges as edges.

Note that this class does not implement Object.equals(Object) nor Object.hashCode() since all cfgs are unique.
CFG(CFG) - Constructor for class it.unive.lisa.program.cfg.CFG
Clones the given control flow graph.
CFG(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFG(CodeMemberDescriptor, Collection<Statement>, NodeList<CFG, Statement, Edge>) - Constructor for class it.unive.lisa.program.cfg.CFG
Builds the control flow graph.
CFGCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more of the CFGs under analysis.
CFGCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Builds the CFG call, happening at the given location in the program.
CFGCall(CFG, CodeLocation, Call.CallType, String, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Builds the CFG call, happening at the given location in the program.
CFGCall(UnresolvedCall, Collection<CFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
Creates a cfg call as the resolved version of the given source call, copying all its data.
CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
CFGDescriptorWarning(CodeMemberDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Builds the warning.
CFGFixpoint<A extends AbstractState<A>> - Class in it.unive.lisa.program.cfg.fixpoints
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 CFGs 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 Checks.
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
An Edge that can be used with a CodeGraph.
CodeElement - Interface in it.unive.lisa.program
Interface for code elements that have to provide information about the location where they appear.
CodeGraph<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
A Graph that contains a list of nodes, backed by a NodeList.
CodeGraph(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Builds the graph.
CodeGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Clones the given graph.
CodeGraph(Collection<N>, NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
Builds the graph.
CodeLocation - Interface in it.unive.lisa.program.cfg
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
CodeMember - Interface in it.unive.lisa.program.cfg
A program member that has code within it.
CodeMemberDescriptor - Class in it.unive.lisa.program.cfg
A descriptor of a CodeMember, containing the debug informations (source file, line, column) as well as metadata.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor with Untyped return type.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor.
CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
Builds the descriptor.
CodeNode<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph.code
A Node that can be used with a CodeGraph.
CodeUnit - Class in it.unive.lisa.program
A file-based unit of the program to analyze, that logically groups code in files or modules.
CodeUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.CodeUnit
Builds a unit, defined at the given location.
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 Collections.
CollectionUtilities.SortedSetCollector<E> - Class in it.unive.lisa.util.collections
A Collector that yields a SortedSet.
CollectionUtilities.StringCollector<E> - Class in it.unive.lisa.util.collections
A Collector that yields a String built by concatenating the values returned by Object.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 and other.
commonNumericalType(Set<Type>, Set<Type>) - Static method in interface it.unive.lisa.type.NumericType
Computes the set of Types representing the common ones among the given sets.
commonSupertype(Type) - Method in class it.unive.lisa.type.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 than other.
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 that other is an object of the same class as this.
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 is entryState.
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 and other.
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 given token.
contains(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
Returns true if matcher matches at least one of this annotations, false otherwise.
contains(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
Yields true if a result exists for the given cfg.
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 ControlFlowStructures from CFGs.
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 in tokens.
copy() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
copy() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a fresh copy of this set, defined over the same cache and containing the same elements.
copy() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
Copying an UniversalExternalSet yields a BitExternalSet representing a snapshot of the actual state of the cache.

Yields a fresh copy of this set, defined over the same cache and containing the same elements.
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 given CFG 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 Identifiers 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 with Lattice.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
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 and other.
difference(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
difference(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields a new set obtained from this by removing the given elements.
distance(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields the minimum distance, in terms of number of edges to traverse, between the condition of this structure and the given node.
distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
distance(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
Yields the minimum distance, in terms of number of edges to traverse, between the given nodes.
div(IntInterval, boolean, boolean) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval division between this and other.
divide(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this / other.
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 is true, 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 CodeMembers in the same Unit.
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 maps Identifiers to instances of such domain.
Environment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
Builds an empty environment.
Environment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
Builds an environment containing the given mapping.
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 from s 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 in set 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 in environment.
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 in environment.
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 applying operator to two expressions whose runtime types are left and right, respectively.
evalBinaryExpression(BinaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a BinaryExpression applying operator to two expressions whose abstract value are left and right, respectively.
evalBinaryExpression(BinaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a BinaryExpression applying operator to two expressions whose abstract value are left and right, respectively.
evalIdentifier(Identifier, InferenceSystem<T>, ProgramPoint, 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 applying operator to two expressions whose runtime types are left, middle and right, respectively.
evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a TernaryExpression applying operator to two expressions whose abstract value are left, middle and right, respectively.
evalTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a TernaryExpression applying operator to two expressions whose abstract value are left, middle and right, respectively.
evalTypeCast(BinaryExpression, T, T, ProgramPoint, 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 applying operator to an expression whose runtime types is arg.
evalUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the evaluation of a UnaryExpression applying operator to an expression whose abstract value is arg.
evalUnaryExpression(UnaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the evaluation of a UnaryExpression applying operator to an expression whose abstract value is arg.
execAction(Logger, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given action, while logging the time need for it to complete.
execAction(Logger, Level, TimeFormat, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given action, while logging the time need for it to complete.
execAction(Logger, Level, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given action, while logging the time need for it to complete.
execSupplier(Logger, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given supplier, while logging the time need for it to complete.
execSupplier(Logger, Level, TimeFormat, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given supplier, while logging the time need for it to complete.
execSupplier(Logger, Level, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
Executes the given supplier, while logging the time need for it to complete.
executeAll(T, Application, Iterable<C>) - Static method in class it.unive.lisa.checks.ChecksExecutor
Executes all the given checks on the given inputs cfgs.
EXIT_NODE_EXTRA_ATTR - Static variable in class it.unive.lisa.outputs.DotGraph
The name of the extra attribute identifying exit nodes.
EXIT_NODE_EXTRA_VALUE - Static variable in class it.unive.lisa.outputs.DotGraph
The value of the extra attribute identifying exit nodes.
EXIT_WITH_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for terminating Statements with followers.
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) Expressions 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
ExpressionWarning - Class in it.unive.lisa.checks.warnings
A warning reported by LiSA on an expression.
ExpressionWarning(Expression, String) - Constructor for class it.unive.lisa.checks.warnings.ExpressionWarning
Builds the warning.
ExternalSet<T> - Interface in it.unive.lisa.util.collections.externalSet
A set of elements that are stored externally from this set.
ExternalSetCache<T> - Class in it.unive.lisa.util.collections.externalSet
A cache for creating ExternalSets of the elements contained in this cache.
ExternalSetCache() - Constructor for class it.unive.lisa.util.collections.externalSet.ExternalSetCache
 
extract(CFG) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
Runs the algorithms for extracting ControlFlowStructures.
extractControlFlowStructures(ControlFlowExtractor) - Method in class it.unive.lisa.program.cfg.CFG
Runs the given ControlFlowExtractor over this cfg to build ControlFlowStructures, 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 IOExceptions.
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 each CFG 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 the Fixpoint.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 the AnalysisState.
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 Identifiers by invoking AnalysisState.forgetIdentifier(Identifier) on each given identifier.
forgetIdentifiers(Iterable<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
Forgets all the given Identifiers.
forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.AnalysisState
Forgets all Identifiers 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 Identifiers 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 given CFG, 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 given CFG, 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 and other.
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 given id.
gen(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
The dataflow gen operation, yielding the dataflow elements that are generated by evaluating the given non-assigning expression.
generateHtmlViewerSupportFiles(boolean) - Method in class it.unive.lisa.util.file.FileManager
Generates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.
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 AbstractCodeMembers 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 is entryState.

Note that the interprocedural analysis is also responsible for registering the call to the CallGraph, 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 is entryState.
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
Yields the lazily computed collection of all CFGs defined in all Programs of this application.
getAllCFGs() - Method in class it.unive.lisa.program.Program
Yields all the CFGs defined in this program, obtained by filtering the results of Program.getCodeMembersRecursively().
getAllCodeCodeMembers() - Method in class it.unive.lisa.program.Application
Yields the lazily computed collection of all CodeMembers defined in all Programs of this application.
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 containing this if domain.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() or Statement.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 to s2.
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 Statements contained in the body of this loop.
getBooleanType() - Method in class it.unive.lisa.type.TypeSystem
Yields the BooleanType of this type system.
getCache() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
 
getCache() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Yields the cache that this set is connected to.
getCache() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
 
getCallees(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
Yields all the CodeMembers that are called by the given one, according to the CallGraph that has been built during the analysis.
getCallees(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers that are called by the given one.
getCallees(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers 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 CodeMembers that call the given one, according to the CallGraph that has been built during the analysis.
getCallers(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers that call the given one.
getCallers(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the CodeMembers 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 Calls that targets the given CodeMember, according to the CallGraph that has been built during the analysis.
getCallSites(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
 
getCallSites(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the Calls that target the given CodeMember.
getCallSites(Collection<? extends CodeMember>) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraph
Yields all the Calls that target at least one of the given CodeMembers.
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 CodeMembers defined in this unit.
getCodeMembersByName(String) - Method in class it.unive.lisa.program.Unit
Yields the collection of all CodeMembers defined in this unit that have the given name.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the CodeMembers defined in this unit.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.Program
Yields the collection of all the CodeMembers defined in this unit.
getCodeMembersRecursively() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the CodeMembers defined in this unit.
getCol() - Method in class it.unive.lisa.program.SourceCodeLocation
Yields the column where this code element happens in the source file.
getCommons() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
Yields a collection containing all the pair of elements (deemed to be equal) that are contained in both collections used to create this builder.
getCompleteStructure() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields an NodeList containing the full structure (nodes and edges) represented by this conditional structure.
getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
Yields the last computed expression.
getCondition() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Yields the condition of this structure.
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 uses guard as condition, if any.
getControlFlowStructures() - Method in class it.unive.lisa.program.cfg.CFG
Yields the collection of ControlFlowStructures contained in this cfg.

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
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 DataflowElements contained in this domain instance.
getDefaultValue() - Method in class it.unive.lisa.program.cfg.Parameter
Yields the default value for this parameter that can be used when a call does not specify a value for it.
getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the description of the graph.
getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Yields the SerializableValue to be used as description.
getDescriptions() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Yields the set of descriptions of the nodes of this graph.
getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
Yields the cfg where this warning was reported on.
getDescriptor() - Method in class it.unive.lisa.program.cfg.AbstractCodeMember
 
getDescriptor() - Method in class it.unive.lisa.program.cfg.CFG
Yields the name of this control flow graph.
getDescriptor() - Method in interface it.unive.lisa.program.cfg.CodeMember
Yields the CodeMemberDescriptor containing the signature of this code member.
getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
 
getDestId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Yields the id of the destination SerializableNode.
getDestination() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
 
getDestination() - Method in class it.unive.lisa.program.cfg.edge.Edge
 
getDestination() - Method in 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 (using Lattice.lub(Lattice)) all instances returned by SemanticDomain.getAllDomainInstances(Class), defaulting to null 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
Yields the lazily computed collection of all CFGs that are entrypoints of one of the Programs of this application.
getEntryPoints() - Method in class it.unive.lisa.program.Program
Yields the collection of CFGs that are entry points in this program.
getEntryState() - Method in class it.unive.lisa.analysis.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 of this 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 of this 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 Statements contained in the false branch of this if-then-else.
getFeatures() - Method in class it.unive.lisa.program.Program
Yields the language-specific features, algorithms and semantics of this program.
getFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
Yields the fields of this object.
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 Globals defined in this unit.
getGlobalsRecursively() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all the Globals defined in this unit.
getGlobalsRecursively() - Method in class it.unive.lisa.program.Program
Yields the collection of all the Globals defined in this unit.
getGlobalsRecursively() - Method in class it.unive.lisa.program.Unit
Yields the collection of all the Globals defined in this unit.
getGraph() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
Yields the parent BaseCallGraph containing this node.
getGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of all the ControlFlowStructures, regardless of their type, containing the given program point.
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 in HeapSemanticOperation.HeapReplacement.getTargets().
getIfThenElseGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
Yields the guard of all the IfThenElse containing the given program point.
getImmediateAncestors() - Method in class it.unive.lisa.program.ClassUnit
 
getImmediateAncestors() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of CompilationUnits that are this unit directly inherits from, regardless of their type.
getImmediateAncestors() - Method in class it.unive.lisa.program.InterfaceUnit
 
getIndex() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
Yields the index of this variable.
getInferred() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
Yields the instance of InferredValue representing the inferred value.
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 SerializableValues that are contained into this one, recursively.
getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CFGs defined in this unit.
getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the first instance CodeMember defined in this unit having the given signature (CodeMemberDescriptor.getSignature()), if any.
getInstanceCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance CodeMembers defined in this unit.
getInstanceCodeMembersByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of all instance CodeMembers defined in this unit that have the given name.
getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance constructs (NativeCFGs) defined in this unit.
getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the first instance Global defined in this unit having the given name (Global.getName()), if any.
getInstanceGlobals(boolean) - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of instance Globals defined in this unit.
getInstances() - Method in class it.unive.lisa.program.CompilationUnit
Yields the collection of ClassUnits that are instances of this one, including itself.
getIntegerType() - Method in class it.unive.lisa.type.TypeSystem
Yields the integer type of this type system, that is, the integral NumericType that is typically used to index array elements and performing string operations.
getInterfaces() - Method in class it.unive.lisa.program.ClassUnit
Yields the list of InterfaceUnits implemented by this class.
getInvolvedIdentifiers() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
Yields all the Identifiers that are involved in the definition of this element.
getKeys() - Method in class it.unive.lisa.analysis.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 Loops containing the given program point.
getLow() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields the lower bound of this interval.
getMap() - Method in class it.unive.lisa.analysis.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 to CodeMemberDescriptor.matchesSignature(CodeMemberDescriptor).
getMatchingInstanceCodeMembers(CodeMemberDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
Finds all the instance code members whose signature matches the one of the given CodeMemberDescriptor, according to CodeMemberDescriptor.matchesSignature(CodeMemberDescriptor).
getMatchingStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
Yields the ParameterMatchingStrategy encoding how actual parameters of a call are matched against the formal ones of its targets.
getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
Yields the message of this warning.
getMessage() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Yields the message of this warning.
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
 
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
 
getMetaVariable() - Method in interface it.unive.lisa.program.cfg.statement.MetaVariableCreator
Yields the meta variable that is introduced during the evaluation of the semantics of this object to store information about the value produced by this object.
getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.Return
 
getMetaVariables() - Method in class it.unive.lisa.program.cfg.statement.Expression
Yields the meta variables that are generated by the evaluation of this expression.
getMiddle() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
Yields the middle (second) sub-expression of this expression.
getMiddle() - Method in class it.unive.lisa.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 but Statement.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() and BinaryExpression.getRight().
getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
getOperator() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
Yields the operator that is applied to UnaryExpression.getExpression().
getOrder() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
Yields the EvaluationOrder of the sub-expressions.
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 using FunctionalLattice.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 CodeMembers 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 CodeMembers 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 that other 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 that other 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.HeapReplacements that must be processed in their order of appearance, that the creation of this heap domain caused.
getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
 
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 ClassUnits 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 NativeCFGs 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 Statements contained in the true branch of this if-then-else.
getType(String) - Method in class it.unive.lisa.type.TypeSystem
Yields the Type instance with the given name.
getTypes() - Method in class it.unive.lisa.program.Program
Yields the type system knowing about the types that appear in the program.
getTypes() - Method in class it.unive.lisa.type.TypeSystem
Yields the collection of Types that have been registered in this type system.
getTypes() - Method in class it.unive.lisa.type.TypeTokenType
Yields the Types represented by this type token.
getUnit() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
Yields the unit containing the global where this warning was reported on.
getUnit() - Method in class it.unive.lisa.checks.warnings.UnitWarning
Yields the unit where this warning was reported on.
getUnit() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields the Unit containing the cfg associated to this descriptor.
getUnit() - Method in interface it.unive.lisa.type.UnitType
Yields the CompilationUnit that induces this type.
getUnit(String) - Method in class it.unive.lisa.program.Program
Yields the ClassUnit defined in this unit having the given name (Unit.getName()), if any.
getUnits() - Method in class it.unive.lisa.program.Program
Yields the collection of ClassUnits defined in this program.
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 VariableTableEntrys that have been added to this descriptor.
getWarnings() - Method in class it.unive.lisa.checks.syntactic.CheckTool
Returns an unmodifiable view of the warnings that have been generated up to now using this tool.
getWarnings() - Method in class it.unive.lisa.LiSAReport
Yields the Warnings that have been generated during the analysis.
getWarnings() - Method in class it.unive.lisa.outputs.json.JsonReport
Yields the collection of JsonReport.JsonWarnings 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 and k2.
glbThreshold - Variable in class it.unive.lisa.conf.FixpointConfiguration
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 Globals 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 maps Identifiers to instances of such domain.
HeapEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an empty environment.
HeapEnvironment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an empty environment from a given mapping.
HeapEnvironment(T, Map<Identifier, T>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
Builds an environment containing the given mapping.
HeapExpression - Class in it.unive.lisa.symbolic.heap
A symbolic expression that identifies a location in the program's heap.
HeapExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapExpression
Builds the heap expression.
HeapLocation - Class in it.unive.lisa.symbolic.value
An identifier of a synthetic program variable that represents a resolved memory location.
HeapLocation(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.HeapLocation
Builds the heap location.
HeapReference - Class in it.unive.lisa.symbolic.heap
A reference to a memory location, identified by its name.
HeapReference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapReference
Builds the heap reference.
HeapReplacement() - Constructor for class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
Builds the replacement.
HeapSemanticOperation - Interface in it.unive.lisa.analysis.heap
A semantic operation on the heap state of the program, that provides a substitution of the available identifiers.
HeapSemanticOperation.HeapReplacement - Class in it.unive.lisa.analysis.heap
A replacement between Identifiers caused by a change in the heap abstraction.
HierarcyTraversalStrategy - Interface in it.unive.lisa.program.language.hierarchytraversal
A strategy for traversing hierarchies of CompilationUnit to search for implementations of call targets or global implementations.
highIsPlusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
Yields true if the upper bound of this interval is set to plus infinity.
hotspots - Variable in class it.unive.lisa.conf.FixpointConfiguration
hotspots - Variable in class it.unive.lisa.conf.LiSAConfiguration
When LiSAConfiguration.optimize is true, 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 of HeapLocation).
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 using indent repeated amount 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 by InferenceSystems.
InferredValue.InferredPair<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
A pair of instances of InferredValue, representing the result of an evaluation in the form of <inferred value, new execution state>.
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 Globals inside InterfaceUnits.
InterfaceUnit - Class in it.unive.lisa.program
A interface unit of the program to analyze.
InterfaceUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.InterfaceUnit
Builds an interface unit, defined at the given location.
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 ControlFlowStructures.
INVALID_NODE_LIST - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for invalid NodeLists.
InverseSetLattice<S extends InverseSetLattice<S,​E>,​E> - Class in it.unive.lisa.analysis.lattices
A generic inverse set lattice containing a set of elements.
InverseSetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
Builds the lattice.
is(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 only n.
is(int) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is number represents exactly the given integer.
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 of ArrayType.
isAtom() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Yields true if and only if this regular expression is an instance of Atom.
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 of BooleanType.
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 of Comp.
isContained(A) - Method in class it.unive.lisa.util.datastructures.automaton.Automaton
Yields true if and only if this is contained into other, that is, if the language recognized by the intersection between this and the complement of other 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 of EmptySet.
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 as other, 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 a ControlFlowStructure, regardless of its type.

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

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

Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause a ControlFlowExtractor to try to extract them.
isInstance() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields true if and only if the cfg associated to this descriptor is an instance cfg.
isInstance() - Method in class it.unive.lisa.program.Global
Yields true if and only if this is an instance global.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
 
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
Yields true if and only if this unit is an instance of the given one.
isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
 
isIntegral() - Method in 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 of NullType.
isNumericType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of NumericType.
isOr() - Method in class it.unive.lisa.util.datastructures.regex.RegularExpression
Yields true if and only if this regular expression is an instance of Or.
isOverridable() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Yields true if and only if the cfg associated to this descriptor is can be overridden by cfgs in Units that inherit for the cfg's unit.
isPlusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
Yields true if this number is plus infinity.
isPointerType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of PointerType.
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 the Identifier 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 the Identifier 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 of ReferenceType.
isScopedByCall() - Method in class it.unive.lisa.symbolic.value.Identifier
Yields true if this is an OutOfScopeIdentifier whose (i) scope was introduced by a call, or (ii) inner identifier is an OutOfScopeIdentifier such that inner.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 of Star.
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 of StringType.
isTop - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
isTop - Variable in class it.unive.lisa.analysis.lattices.SetLattice
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
isTop() - Method in class it.unive.lisa.analysis.AnalysisState
 
isTop() - Method in class it.unive.lisa.analysis.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 of TypeTokenType.
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
 
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
 
isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
 
isUnconditional() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
Yields true if and only if this edge represent unconditional execution flow between its bounds.
isUnitType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of UnitType.
isUnsigned() - Method in interface it.unive.lisa.type.NumericType
Returns true if this numeric type is unsigned.
isUntyped() - Method in interface it.unive.lisa.type.Type
Yields true if and only if this type is an instance of Untyped.
isValueType() - Method in interface it.unive.lisa.type.Type
Yields true if and only if both Type.isInMemoryType() and Type.isPointerType() both return false 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 of VoidType.
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 level Level.INFO while traversing the array.
iterate(Logger, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given iterable into an Iterable instance that automatically logs at level Level.INFO while traversing the array.
iterate(Logger, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given collection into an Iterable instance that automatically logs at level Level.INFO while traversing the collection.
iterate(Logger, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given stream into an Iterable instance that automatically logs at level Level.INFO while traversing a collection created from the stream.
iterate(Logger, Level, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given array into an Iterable instance that automatically logs while traversing the array.
iterate(Logger, Level, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given iterable into an Iterable instance that automatically logs while traversing the iterable.
iterate(Logger, Level, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given collection into an Iterable instance that automatically logs while traversing the collection.
iterate(Logger, Level, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
Wraps the given array into an Iterable instance that automatically logs while traversing a collection created from the stream.
IterationLogger - Class in it.unive.lisa.logging
An utility class that allows automatic logging while iterating over elements of a collection, stream or array.
iterator() - Method in class it.unive.lisa.analysis.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 with StaticTypesMatchingStrategy.
join(C, C, C, BiPredicate<T, T>, BinaryOperator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
Joins (union) two collections, using a custom equality test to determine if two elements are to be considered equals and thus joined together through the given joiner.
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 JsonReports.
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 JsonReports.
JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
An enumeration defining the different type of reports that can be issued.
JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
An enumeration defining the different components of a JsonReport, in order to distinguish which one of them caused a difference being reported.
JsonWarning() - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Builds an empty warning with no message.
JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
Builds the warning, cloning the information from the given Warning.

K

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

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

First argument expression type: BooleanType
Second argument expression type: BooleanType
Computed expression type: BooleanType
LogicalOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
Builds the 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 and k2.

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 of node instead of a proper node of the graph.
matchCodeMemberName(UnresolvedCall, String, String) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Matches the name (qualifier + target name) of the given call against the given code member.
matches(Annotation) - Method in interface it.unive.lisa.program.annotations.matcher.AnnotationMatcher
Returns true if this matcher matches the input annotation, false otherwise.
matches(Annotation) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
Yields true if and only if the signature of the pos-th parameter of a cfg is matched by the given actual parameter, according to this strategy.
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
 
matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
 
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
 
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in interface it.unive.lisa.program.language.resolution.ParameterMatchingStrategy
Yields true if and only if the parameter list of a cfg is matched by the given actual parameters, according to this strategy.
matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
 
matchesSignature(CodeMemberDescriptor) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
MathNumber - Class in it.unive.lisa.util.numeric
A wrapper around BigDecimal to represent the mathematical concept of a number, that can be also plus or minus infinity, in a convenient way.
MathNumber(double) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
MathNumber(long) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
MathNumber(BigDecimal) - Constructor for class it.unive.lisa.util.numeric.MathNumber
Builds a math number representing the given value.
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 and other.
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 CodeMembers 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 ValueExpressions, 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 and other.
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 and other.
MultiCall - Class in it.unive.lisa.program.cfg.statement.call
A call to one or more CodeMembers under analysis, implemented through a sequence of calls.
MultiCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Builds the multi call, happening at the given location in the program.
MultiCall(CFG, CodeLocation, Call.CallType, String, String, Collection<Call>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Builds the multi-call, happening at the given location in the program.
MultiCall(UnresolvedCall, Call...) - Constructor for class it.unive.lisa.program.cfg.statement.call.MultiCall
Creates a multi call as the resolved version of the given source call, copying all its data.
MULTIPLE_OVERRIDES - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for multiple overrides of the same CodeMember inside the same CompilationUnit.
MultiplicationOperator - Interface in it.unive.lisa.symbolic.value.operator
An operation that performs a multiplication between its operands.
multiply(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
Yields the result of this * other.
multiTransform(Function<T, Collection<T>>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
Transforms this set into another set where each element is obtained by transforming elements of this set.

N

NamedParameterExpression - Class in it.unive.lisa.program.cfg.statement.call
An expression that can be used to for by-name parameter passing to Calls.
NamedParameterExpression(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
Builds the expression.
NameSymbol - Class in it.unive.lisa.analysis.symbols
A Symbol that represents a name (e.g.
NameSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.NameSymbol
Builds the symbol.
NaN - Static variable in class it.unive.lisa.util.numeric.MathNumber
A constant for representing numbers obtained from an operation that does not produce a result (e.g.
NANOS - it.unive.lisa.logging.TimeFormat
Formats the given elapsed nanos as nanoseconds.
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 NativeCFGs under analysis.
NativeCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Builds the native call, happening at the given location in the program.
NativeCall(CFG, CodeLocation, Call.CallType, String, String, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Builds the native call, happening at the given location in the program.
NativeCall(UnresolvedCall, Collection<NativeCFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
Creates a native call as the resolved version of the given source call, copying all its data.
NativeCFG - Class in it.unive.lisa.program.cfg
A native cfg, representing a cfg that is usually provided by the runtime of the programming language.
NativeCFG(CodeMemberDescriptor, Class<? extends NaryExpression>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
Builds the native control flow graph.
needsCallGraph() - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Yields true if this analysis needs a CallGraph 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 symbol sym.
NO_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
Error message format for Statements with no followers.
Node<G extends Graph<G,​N,​E>,​N extends Node<G,​N,​E>,​E extends Edge<G,​N,​E>> - Interface in it.unive.lisa.util.datastructures.graph
A node of a Graph.
NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
The default shape of a node.
NodeList<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
A list of nodes of a CodeGraph, together with the edges connecting them.
NodeList(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Builds a new list.
NodeList(E, boolean) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Builds a new list.
NodeList(NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
Copies the given list.
NodeList.NodeEdges<G extends CodeGraph<G,​N,​E>,​N extends CodeNode<G,​N,​E>,​E extends CodeEdge<G,​N,​E>> - Class in it.unive.lisa.util.datastructures.graph.code
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
nodeName(long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
Given a code, builds the name of a node that can be added to, removed from or retrieved from the wrapped graph.
NoEntryPointException - Exception in it.unive.lisa.interprocedural
A FixpointException signaling that no entry points have been found.
NoEntryPointException() - Constructor for exception it.unive.lisa.interprocedural.NoEntryPointException
Builds the exception.
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 a SymbolicExpressions of type E by knowing the values of all program variables.
NonRelationalElement<T extends NonRelationalElement<T,​E,​F>,​E extends SymbolicExpression,​F extends FunctionalLattice<F,​Identifier,​T>> - Interface in it.unive.lisa.analysis.nonrelational
A non-relational domain, that is able to compute the value of a SymbolicExpressions of type E by knowing the values of all program variables.
NonRelationalHeapDomain<T extends NonRelationalHeapDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.heap
A non-relational heap domain, that is able to compute the value of a SymbolicExpression by knowing the values of all program variables.
NonRelationalTypeDomain<T extends NonRelationalTypeDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
A non-relational type domain, that is able to compute the types of a ValueExpression by knowing the types of all program variables.
NonRelationalValueDomain<T extends NonRelationalValueDomain<T>> - Interface in it.unive.lisa.analysis.nonrelational.value
A non-relational value domain, that is able to compute the value of a ValueExpression by knowing the values of all program variables.
NoOp - Class in it.unive.lisa.program.cfg.statement
A statement that does nothing.
NoOp(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.NoOp
Builds the no-op, happening at the given location in the program.
NORMAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
The color of a normal node.
NOT_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 the null 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 and ComparisonOperator, providing a NumericComparison.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no NumericType can be found in one of the arguments or if NumericType.commonNumericalType(Set, Set) returns an empty set, and a singleton set containing TypeSystem.getBooleanType() otherwise.
NumericComparison() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
 
NumericNegation - Class in it.unive.lisa.symbolic.value.operator.unary
Given an expression that evaluates to a numeric value, a UnaryExpression using this operator computes the arithmetic negation (i.e., multiplication by -1) of that value.

Argument expression type: NumericType
Computed expression type: NumericType (same of the argument, but signed)
NumericNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
Builds the 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 a NumericOperation.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no NumericType, and the result of NumericType.commonNumericalType(Set, Set) otherwise.
NumericOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
 
NumericType - Interface in it.unive.lisa.type
Numeric type interface.

O

ObjectRepresentation - Class in it.unive.lisa.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 static mk() method on the given class.
off() - Method in class it.unive.lisa.logging.Counter
Turns off the counter, logging the event.
offset - Variable in class it.unive.lisa.program.cfg.statement.Statement
The offset of the statement within the cfg.
on() - Method in class it.unive.lisa.logging.Counter
Turns on the counter, logging the event.
ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
The interval [1, 1].
ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant 1.
ONLY_FIRST - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
Indicates that the objects being reported are present only in the first report.
ONLY_SECOND - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
Indicates that the objects being reported are present only in the second report.
OpenCall - Class in it.unive.lisa.program.cfg.statement.call
A call to a CFG that is not under analysis.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Builds the open call, happening at the given location in the program.
OpenCall(UnresolvedCall) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
Creates an open call as the resolved version of the given source call, copying all its data.
openCallPolicy - Variable in class it.unive.lisa.conf.LiSAConfiguration
The OpenCallPolicy to be used for computing the result of OpenCalls.
OpenCallPolicy - Interface in it.unive.lisa.interprocedural
Policy that determines what happens to the AnalysisState when an OpenCall 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 SymbolicExpressions.
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
 
opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
 
opposite() - Method in interface it.unive.lisa.symbolic.value.operator.NegatableOperator
Yields the opposite operator of this operator (e.g., ComparisonLe to ComparisonGt, ComparisonLt to ComparisonGe).
opposite() - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
optimize - Variable in class it.unive.lisa.conf.FixpointConfiguration
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 an OptimizedFixpoint.
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 the Fixpoint.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 the Fixpoint.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) between this 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, or th 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
A Statement that can be dynamically plugged into a CFG in place of another statement.
plus(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
Performs the interval addition between this and other.
PLUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
The constant for plus infinity.
PointerType - Interface in it.unive.lisa.type
Pointer type interface.
pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
pop() - Method in class it.unive.lisa.util.collections.workset.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) is callState, and each parameter to the call is represented by an element of parameters.
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 CompilationUnits, represented by their names, that have been already processed by BaseValidationLogic.validateAndFinalize(CompilationUnit).
Program - Class in it.unive.lisa.program
A program that LiSA can analyze.
Program(LanguageFeatures, TypeSystem) - Constructor for class it.unive.lisa.program.Program
Builds an empty program.
PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
The name of the program.
ProgramPoint - Interface in it.unive.lisa.program.cfg
A program point, representing an instruction that is happening in one of the CFG under analysis.
programs - Variable in class it.unive.lisa.LiSARunInfo
The number of Programs 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 a Program's structure or when computing unit's hierarchies and cfgs' overridings.
ProgramValidationException() - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(String, Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationException(Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
Builds the exception.
ProgramValidationLogic - Interface in it.unive.lisa.program.language.validation
A logic for validating Programs.
push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
 
push(E) - Method in class it.unive.lisa.util.collections.workset.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 to state.
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 Identifiers that are reachable starting from the Identifier 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 a Reader instance, deserializing it as a json object.
readDot(Reader) - Static method in class it.unive.lisa.outputs.DotGraph
Reads a graph through the given Reader.
readGraph(Reader) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Reads a graph through the given Reader, deserializing it as a JSON file.
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
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 with Lattice.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
Registers an already resolved CFGCall in this CallGraph.
registerType(Type) - Method in class it.unive.lisa.type.TypeSystem
Registers a new Type that appears in the program.
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 of this.
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
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 given UnresolvedCall.
resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
ResolvedCall - Interface in it.unive.lisa.program.cfg.statement.call
Marker for Calls that have already been resolved, and that thus know what are their targets.
resolveInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Resolves the given call as an instance call.
resolveNonInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
Resolves the given call as regular (non-instance) call.
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 SymbolicExpressions, getting rid of the parts that access heap structures, substituting them with synthetic HeapLocations 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, HeapExpressions).
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 synthetic HeapLocations 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, HeapExpressions).
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[]) returns true.

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 both CollectionsDiffBuilder.getOnlyFirst() and CollectionsDiffBuilder.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 of this and other represent the same type, and can thus be used interchangeably.
sameStructure(SerializableGraph) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Checks if this graph and the given one share the same structure, that is, if they are equal up to the descriptions of their nodes.
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 in environment, assuming that the values of program variables are the ones stored in environment and returning an instance of Satisfiability.
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 applying operator to two expressions whose runtime types are left, and right.
satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a BinaryExpression applying operator to two expressions whose abstract values are left, and right.
satisfiesBinaryExpression(BinaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of a BinaryExpression applying operator to two expressions whose abstract values are left, and right.
satisfiesNonNullConstant(Constant, ProgramPoint, 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 applying operator to three expressions whose runtime types are left, middle and right.
satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a TernaryExpression applying operator to three expressions whose abstract values are left, middle and right.
satisfiesTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of a TernaryExpression applying operator to three expressions whose abstract values are left, middle and right.
satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
Yields the satisfiability of a UnaryExpression applying operator to an expression whose runtime types are arg, returning an instance of Satisfiability.
satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
Yields the satisfiability of a UnaryExpression applying operator to an expression whose abstract value is arg, returning an instance of Satisfiability.
satisfiesUnaryExpression(UnaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in interface it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
Yields the satisfiability of a UnaryExpression applying operator to an expression whose abstract value is arg, returning an instance of Satisfiability.
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 same CFG 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) and ScopedObject.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 SemanticChecks 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 through Fixpoint.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 SerializableGraphs from CFGs.
SerializableEdge - Class in it.unive.lisa.outputs.serializableGraph
An edge of a SerializableGraph.
SerializableEdge() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Builds an empty (invalid) edge.
SerializableEdge(int, int, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
Builds an edge.
SerializableGraph - Class in it.unive.lisa.outputs.serializableGraph
A graph that can be serialized.
SerializableGraph() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Builds an empty graph.
SerializableGraph(String, String, SortedSet<SerializableNode>, SortedSet<SerializableEdge>, SortedSet<SerializableNodeDescription>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
Builds a graph.
SerializableNode - Class in it.unive.lisa.outputs.serializableGraph
A node of a SerializableGraph, represented by a numeric id.
SerializableNode() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
Builds an empty (invalid) node.
SerializableNode(int, List<Integer>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
Builds a node.
SerializableNodeDescription - Class in it.unive.lisa.outputs.serializableGraph
A description for a SerializableNode, pairing it with a SerializableValue.
SerializableNodeDescription() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Builds an empty (invalid) description.
SerializableNodeDescription(int, SerializableValue) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
Builds a description.
SerializableObject - Class in it.unive.lisa.outputs.serializableGraph
A complex serializable object, represented through a set of named serializable fields.
SerializableObject() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
Builds an empty object.
SerializableObject(SortedMap<String, String>, SortedMap<String, SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
Builds an object.
SerializableString - Class in it.unive.lisa.outputs.serializableGraph
A single serializable value, represented in its textual form.
SerializableString() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
Builds an empty (invalid) string.
SerializableString(SortedMap<String, String>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
Builds a string.
SerializableValue - Class in it.unive.lisa.outputs.serializableGraph
A value that can be serialized, as part of a SerializableNodeDescription.
SerializableValue() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
Builds the value.
SerializableValue(SortedMap<String, String>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
Builds the value.
serialize(SerializableValue, JsonGenerator, SerializerProvider) - Method in class it.unive.lisa.outputs.serializableGraph.ValueSerializer
 
serializeInputs - Variable in class it.unive.lisa.conf.LiSAConfiguration
Whether or not the inputs CFGs 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 NoOps and rewriting the edge set accordingly.
simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
Simplifies this structure, removing all NoOps from its body.
simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
 
simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
 
simplify() - 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), recognizing this 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 Statements 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[]) return true.
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Ret
 
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Return
 
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Statement
Whether or not this statement stops the execution of the containing cfg, either by throwing an error or returning a value.
stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Throw
 
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 to info.
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 from ComparisonEq) to the one of the second argument.

First argument expression type: StringType
Second argument expression type: StringType
Computed expression type: BooleanType
StringEquals() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEquals
Builds the 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, from 0 upwards, representing the length of that value.

Argument expression type: StringType
Computed expression type: NumericType (integral)
StringLength() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.StringLength
Builds the operator.
StringOperation - Class in it.unive.lisa.symbolic.value.operator.binary
A common implementation for classes implementing BinaryOperator and StringOperator, providing a StringOperation.typeInference(TypeSystem, Set, Set) implementation that returns an empty set if no StringType can be found in one of the arguments, and a singleton set containing 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
Determines which of the two NumericTypes between this and other is supertype for the other.
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
A FunctionalLattice mapping Symbols to Aliases, that is, sets of symbols.
SymbolAliasing() - Constructor for class it.unive.lisa.analysis.symbols.SymbolAliasing
Builds an empty map of aliases.
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 SemanticDomains.
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 SyntacticChecks 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 three SymbolicExpressions.
TernaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the untyped expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the untyped expression, happening at the given location in the program.
TernaryExpression(CFG, CodeLocation, String, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryExpression
Builds the expression, happening at the given location in the program.
TernaryExpression(Type, SymbolicExpression, SymbolicExpression, SymbolicExpression, TernaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.TernaryExpression
Builds the binary expression.
TernaryOperator - Interface in it.unive.lisa.symbolic.value.operator.ternary
A ternary Operator that can be applied to three SymbolicExpression.
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 through StructuredObject.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 by SemanticDomains to reference this parameter.
toSymbolicVariable(CodeLocation) - Method in class it.unive.lisa.program.Global
Creates a Variable that represent this global, that can be used by SemanticDomains to reference it.
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 Transitions of an Automaton.
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: any Type
Second argument expression type: TypeTokenType
Computed expression type: BooleanType
TypeCheck() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
Builds the 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 maps Identifiers to instances of such domain.
TypeEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
Builds an empty environment.
TypeEnvironment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
Builds an environment containing the given mapping.
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
 
typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
 
typeInference(TypeSystem, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.unary.UnaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the argument of this expression has the given types.
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.binary.BinaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
 
typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
 
typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
TypeOf - Class in it.unive.lisa.symbolic.value.operator.unary
Given any expression, a UnaryExpression using this operator computes the type(s) of that expression.

Argument expression type: any Type
Computed expression type: TypeTokenType containing all types of argument
TypeOf() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.TypeOf
Builds the 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() and TypeSystem.getIntegerType() are registered.
TypeTokenType - Class in it.unive.lisa.type
The type of type tokens, used as reference to types in code.
TypeTokenType(Set<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
Builds the type token representing the given types.

U

UnaryExpression - Class in it.unive.lisa.program.cfg.statement
An NaryExpression with a single sub-expression.
UnaryExpression - Class in it.unive.lisa.symbolic.value
A unary expression that applies a UnaryOperator to a SymbolicExpression.
UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the untyped expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the untyped expression, happening at the given location in the program.
UnaryExpression(CFG, CodeLocation, String, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
Builds the expression, happening at the given location in the program.
UnaryExpression(Type, SymbolicExpression, UnaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
Builds the unary expression.
UnaryOperator - Interface in it.unive.lisa.symbolic.value.operator.unary
A unary Operator that can be applied to a single SymbolicExpression.
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 and other.
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 Units 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 length length.
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 of call.
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
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 containing Unit with the same signature, according to CodeMemberDescriptor.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 SerializableValues, built to read back what is serialized by ValueSerializer.
ValueDeserializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
Builds the deserializer.
ValueDeserializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
Builds the deserializer.
ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis.value
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations.
ValueEnvironment<T extends NonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
An environment for a NonRelationalValueDomain, that maps Identifiers to instances of such domain.
ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
Builds an empty environment.
ValueEnvironment(T, Map<Identifier, T>) - 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 SerializableValues that tries to reduce the size of the generated json files.
ValueSerializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
Builds the serializer.
ValueSerializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
Builds the serializer.
Variable - 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 a NonRelationalElements, that maps Identifiers 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
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
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
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 Warnings that were generated by the SyntacticChecks and SemanticChecks 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 to info.
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
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 with Lattice.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.
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