A B C D E F G H I J K L M N O P Q R S T U V W Z
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- abs() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the absolute value of this number.
- ABSTRACT_METHODS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
AbstractCodeMembers in non-AbstractClassUnits. - ABSTRACT_NON_INSTANCE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
AbstractCodeMemberthat 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 implementObject.equals(Object)norObject.hashCode()since all cfgs are unique. - AbstractCodeMember(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.AbstractCodeMember
-
Builds the signature control flow graph.
- AbstractState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations.
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Accepts an
ExpressionVisitor, visiting this expression recursively. - accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Constant
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.PushAny
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Skip
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Variable
- accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Node
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.edge.Edge
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Ret
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- AccessChild - Class in it.unive.lisa.symbolic.heap
-
An expression that accesses a memory location that is a child of another one, that is, the former is reachable from the latter.
- AccessChild(Type, SymbolicExpression, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.AccessChild
-
Builds the child access.
- AccessGlobal - Class in it.unive.lisa.program.cfg.statement.global
- AccessGlobal(CFG, CodeLocation, Unit, Global) - Constructor for class it.unive.lisa.program.cfg.statement.global.AccessGlobal
-
Builds the global access, happening at the given location in the program.
- AccessInstanceGlobal - Class in it.unive.lisa.program.cfg.statement.global
- AccessInstanceGlobal(CFG, CodeLocation, Expression, String) - Constructor for class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Builds the global access, happening at the given location in the program.
- add(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this + other. - add(T) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- add(T) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAll(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Adds to this set all elements contained into
other. - addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.ClassUnit
- addAncestor(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new
CompilationUnitas 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
ControlFlowStructureto 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
CFGto 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
InterfaceUnitas interface of this unit. - Addition - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the addition operation (
+). - Addition(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Addition
-
Builds the addition.
- AdditionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs an addition between its operands.
- addNode(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Adds the given node to the graph.
- addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.DotGraph
-
Adds a node to the graph.
- addNode(SerializableNode, boolean, boolean, SerializableValue) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Adds a node to the graph.
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Adds the given node to the set of nodes.
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Adds the given node to the list of nodes.
- addNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes.
- addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- addNode(N, boolean) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, root).
- addNodeDescription(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Adds the given node description to the graph.
- addSource(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifierto the set of identifiers that are the sources of this replacement. - addSuperclass(ClassUnit) - Method in class it.unive.lisa.program.ClassUnit
-
Adds a new
ClassUnitas superclass of this unit. - addSuperinterface(InterfaceUnit) - Method in class it.unive.lisa.program.InterfaceUnit
-
Adds the given
InterfaceUnitto the list of direct ancestors of this interface. - addTarget(Identifier) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Adds an
Identifierto the set of identifiers that are the targets of this replacement. - addUnit(Unit) - Method in class it.unive.lisa.program.Program
-
Adds a new
ClassUnit, identified by its name (Unit.getName()), to this program. - addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Adds a
VariableTableEntryat the end of the variable table. - adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
- AdjacencyMatrix<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
- AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Builds a new matrix.
- AdjacencyMatrix(AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Copies the given matrix by shallow-copying the
Nodes and deep-copying the values. - AdjacencyMatrix.NodeEdges<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
-
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
- afterExecution(T) - Method in interface it.unive.lisa.checks.Check
-
Callback invoked only once after the end of the inspection of the program.
- alias(Symbol, Symbol) - Method in class it.unive.lisa.analysis.AnalysisState
-
Registers an alias for the given symbol.
- Aliases - Class in it.unive.lisa.analysis.symbols
-
A
SetLatticeofSymbols to be used as aliases. - Aliases() - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds an empty set of aliases, representing the top of the lattice.
- Aliases(Symbol) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds the set of aliases.
- Aliases(Set<Symbol>) - Constructor for class it.unive.lisa.analysis.symbols.Aliases
-
Builds the set of aliases.
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.BoolType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Float64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int16Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.Int8Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.StringType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt16Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt32Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt64Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.common.UInt8Type
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.NullType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.ReferenceType
- allInstances(TypeSystem) - Method in interface it.unive.lisa.type.Type
-
Yields all possible instances of this type, including itself.
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.TypeTokenType
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.Untyped
- allInstances(TypeSystem) - Method in class it.unive.lisa.type.VoidType
- allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
trueiff 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
Exceptionthat 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
RuntimeExceptionthat indicates that something has gone wrong during the analysis. - AnalysisExecutionException() - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisExecutionException(Throwable) - Constructor for exception it.unive.lisa.AnalysisExecutionException
-
Builds the exception.
- AnalysisSetupException - Exception in it.unive.lisa
-
An
AnalysisExceptionthat happens during the setup of the analysis. - AnalysisSetupException() - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(String) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(String, Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisSetupException(Throwable) - Constructor for exception it.unive.lisa.AnalysisSetupException
-
Builds the exception.
- AnalysisState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
The abstract analysis state at a given program point.
- AnalysisState(A, ExpressionSet<SymbolicExpression>, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, SymbolicExpression, SymbolAliasing) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- and(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical and between this satisfiability and the given one.
- And - Class in it.unive.lisa.program.cfg.statement.logic
-
An expression modeling the logical conjunction (
&&orand). - And(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.And
-
Builds the logical conjunction.
- Annotation - Class in it.unive.lisa.program.annotations
-
A single annotation.
- Annotation(String) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name .
- Annotation(String, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name.
- Annotation(String, List<AnnotationMember>) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name and its members that cannot be inherited.
- Annotation(String, List<AnnotationMember>, boolean) - Constructor for class it.unive.lisa.program.annotations.Annotation
-
Builds an annotation from its name and its members.
- AnnotationMatcher - Interface in it.unive.lisa.program.annotations.matcher
-
Interface for an annotation matcher.
- AnnotationMember - Class in it.unive.lisa.program.annotations
-
A member of an annotation.
- AnnotationMember(String, AnnotationValue) - Constructor for class it.unive.lisa.program.annotations.AnnotationMember
-
Builds an annotation member from its identifier and its annotation value.
- Annotations - Class in it.unive.lisa.program.annotations
-
A collection of annotations.
- Annotations() - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds an empty list of annotations.
- Annotations(Annotation) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations containing only the given one.
- Annotations(Annotation...) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations from an array of annotations.
- Annotations(Collection<Annotation>) - Constructor for class it.unive.lisa.program.annotations.Annotations
-
Builds a collection of annotations from a given collection.
- AnnotationValue - Interface in it.unive.lisa.program.annotations.values
-
An annotation value.
- anyMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
trueiff at least one element contained in this set satisfies the given predicate. - Application - Class in it.unive.lisa.program
-
An complete application, collecting several
Programs that need to be analyzed together. - Application(Program...) - Constructor for class it.unive.lisa.program.Application
-
Builds the application.
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.interprocedural.OpenCallPolicy
-
Applies the policy to the given open call.
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.ReturnTopPolicy
- apply(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.WorstCasePolicy
- applySubstitution(List<HeapSemanticOperation.HeapReplacement>, ProgramPoint) - Method in interface it.unive.lisa.analysis.value.ValueDomain
-
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in the
HeapDomainof the analysis. - ArithmeticOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A numerical operation on operand(s) of type
NumericType. - ArrayAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An array annotation value.
- ArrayAnnotationValue(BasicAnnotationValue[]) - Constructor for class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
-
Builds an array annotation value.
- ArrayType - Interface in it.unive.lisa.type
-
Array type interface.
- asArrayType() - Method in interface it.unive.lisa.type.Type
- asBooleanType() - Method in interface it.unive.lisa.type.Type
- asInMemoryType() - Method in interface it.unive.lisa.type.Type
- asNullType() - Method in interface it.unive.lisa.type.Type
- asNumericType() - Method in interface it.unive.lisa.type.Type
- asPointerType() - Method in interface it.unive.lisa.type.Type
- asReferenceType() - Method in interface it.unive.lisa.type.Type
- assign(I, E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, where
idhas been assigned tovalue. - assign(SymbolicExpression, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields a copy of this analysis state, where the symbolic expression
idhas been assigned tovalue: ifidis not anIdentifier, then it is rewritten before performing the assignment. - assign(Identifier, E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- assign(Identifier, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- assignAux(Identifier, E, Map<Identifier, T>, T, V, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Auxiliary function of
Environment.assign(Identifier, SymbolicExpression, ProgramPoint)that is invoked after the evaluation of the expression. - assignAux(Identifier, SymbolicExpression, Map<Identifier, T>, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, InferredValue.InferredPair<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- assignAux(Identifier, ValueExpression, Map<Identifier, T>, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- Assignment - Class in it.unive.lisa.program.cfg.statement
-
A statement assigning the result of an expression to an assignable expression.
- Assignment(CFG, CodeLocation, EvaluationOrder, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Assignment
-
Builds the assignment, assigning
expressiontotarget, 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
expressiontotarget, 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
expressiontotarget, 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
expressiontotarget, happening at the given location in the program. - asStringType() - Method in interface it.unive.lisa.type.Type
- assume(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- assume(E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, modified by assuming that the given expression holds.
- assume(F, E, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields the environment
environmenton which the expressionexpressionis assumed to hold by this domain. - assume(InferenceSystem<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- assume(TypeEnvironment<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- assume(ValueEnvironment<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- assumeBinaryExpression(TypeEnvironment<T>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the environment
environmentassuming that a binary expression with operatoroperator, left argumentleft, and right argumentrightholds. - assumeBinaryExpression(ValueEnvironment<T>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the environment
environmentassuming that a binary expression with operatoroperator, left argumentleft, and right argumentrightholds. - assumeSatisfied(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- assumeSatisfied(T) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- assumeSatisfied(V) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Assumes that an expression, that evaluated to
eval, is always satisfied by this environment. - assumeTernaryExpression(TypeEnvironment<T>, TernaryOperator, ValueExpression, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the environment
environmentassuming that a ternary expression with operatoroperator, left argumentleft, middle argumentmiddle,and right argumentrightholds. - assumeTernaryExpression(ValueEnvironment<T>, TernaryOperator, ValueExpression, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the environment
environmentassuming that a ternary expression with operatoroperator, left argumentleft, middle argumentmiddle,and right argumentrightholds. - assumeUnaryExpression(TypeEnvironment<T>, UnaryOperator, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the environment
environmentassuming that an unary expression with operatoroperatorand argumentexpressionholds. - assumeUnaryExpression(ValueEnvironment<T>, UnaryOperator, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the environment
environmentassuming that an unary expression with operatoroperatorand argumentexpressionholds. - asTypeTokenType() - Method in interface it.unive.lisa.type.Type
- asUnitType() - Method in interface it.unive.lisa.type.Type
- asUntyped() - Method in interface it.unive.lisa.type.Type
- asVoidType() - Method in interface it.unive.lisa.type.Type
B
- BaseCallGraph - Class in it.unive.lisa.interprocedural.callgraph
-
An instance of
CallGraphthat provides the basic mechanism to resolveUnresolvedCalls.
The graph underlying this call graph is built lazily through each call to resolve: querying for information about the graph before the completion of the analysis might lead to wrong results. - BaseCallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- BaseGraph<G extends BaseGraph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
-
A generic
Graph, backed by anAdjacencyMatrix.
Note that this class does not defineObject.equals(Object)norObject.hashCode(), since we leave the decision to be unique instances to implementers. - BaseGraph() - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Builds the graph.
- BaseGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Clones the given graph.
- BaseGraph(Collection<N>, AdjacencyMatrix<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Builds the graph.
- BaseHeapDomain<H extends BaseHeapDomain<H>> - Class in it.unive.lisa.analysis.heap
-
A base implementation of the
HeapDomaininterface, handling base cases ofBaseHeapDomain.smallStepSemantics(SymbolicExpression, ProgramPoint). - BaseHeapDomain() - Constructor for class it.unive.lisa.analysis.heap.BaseHeapDomain
- BaseHeapDomain.Rewriter - Class in it.unive.lisa.analysis.heap
- BaseInferredValue<T extends BaseInferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
Base implementation for
InferredValues. - BaseInferredValue() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- BaseInferredValue.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.inference
-
A
ExpressionVisitorforBaseInferredValueinstances. - BaseLattice<L extends BaseLattice<L>> - Class in it.unive.lisa.analysis
-
A base implementation of the
Latticeinterface, handling base cases of the methods exposed by that interface. - BaseLattice() - Constructor for class it.unive.lisa.analysis.BaseLattice
- BaseNonRelationalTypeDomain<T extends BaseNonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalTypeDomains. - BaseNonRelationalTypeDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- BaseNonRelationalTypeDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
-
A
ExpressionVisitorforBaseNonRelationalTypeDomaininstances. - BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalValueDomains. - BaseNonRelationalValueDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- BaseNonRelationalValueDomain.EvaluationVisitor - Class in it.unive.lisa.analysis.nonrelational.value
-
A
ExpressionVisitorforBaseNonRelationalValueDomaininstances. - BaseValidationLogic - Class in it.unive.lisa.program.language.validation
-
A simple implementation of
ProgramValidationLogic, providing the minimum reasoning for considering aProgramvalid 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
NaryExpressionwith exactly two sub-expressions. - BinaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
BinaryOperatorto twoSymbolicExpressions. - 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
Operatorthat can be applied to a pair ofSymbolicExpression. - binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Assignment
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Computes the semantics of the expression, after the semantics of the sub-expressions have been computed.
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.Equal
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.GreaterOrEqual
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.GreaterThan
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.LessOrEqual
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.LessThan
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.comparison.NotEqual
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.And
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.Or
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Addition
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Division
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Modulo
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Multiplication
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Remainder
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Subtraction
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Concat
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Contains
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.EndsWith
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Equals
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.IndexOf
- binarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.StartsWith
- BitExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
-
An
ExternalSetwhere 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
BinaryExpressionusing this operator computes the AND operation (i.e., setting each bit to1only if the corresponding bits of both operands are1) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType - BitwiseAnd() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
-
Builds the operator.
- BitwiseNegation - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a numeric value, a
UnaryExpressionusing 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
BinaryExpressionusing this operator computes the OR operation (i.e., setting each bit to1only if at least one of the corresponding bits of the operands are1) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType - BitwiseOr() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
-
Builds the operator.
- BitwiseShiftLeft - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing this operator computes the XOR operation (i.e., setting each bit to1only the corresponding bits of the operands are different) on the arguments.
First argument expression type: anyNumericType
Second argument expression type: anyNumericType
Computed expression type:NumericType - BitwiseXor() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
-
Builds the operator.
- bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields all the
Statements contained in the body of this structure (thus excluding the condition and the first follower). - bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- bodyStatements() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- BoolAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A Boolean annotation value.
- BoolAnnotationValue(boolean) - Constructor for class it.unive.lisa.program.annotations.values.BoolAnnotationValue
-
Builds a Boolean annotation value.
- BooleanType - Interface in it.unive.lisa.type
-
Boolean type interface.
- BoolType - Class in it.unive.lisa.type.common
-
An internal implementation of the
BooleanType. - BoolType() - Constructor for class it.unive.lisa.type.common.BoolType
-
Builds the type.
- bottom() - Method in class it.unive.lisa.analysis.AnalysisState
- bottom() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- bottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- bottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the bottom element of this lattice.
- bottom() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- bottom() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- bottom() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- bottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- bottom() - Method in class it.unive.lisa.analysis.StatementStore
- bottom() - Method in class it.unive.lisa.analysis.symbols.Aliases
- bottom() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- BOTTOM - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that the satisfiability evaluation resulted in an error.
- BOTTOM_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent bottom values.
- bottomRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
-
Yields a fresh
DomainRepresentationthat can be used to represent bottom values. - build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators for the given graph.
- ByteAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A byte annotation value.
- ByteAnnotationValue(byte) - Constructor for class it.unive.lisa.program.annotations.values.ByteAnnotationValue
-
Builds a byte annotation value.
C
- Call - Class in it.unive.lisa.program.cfg.statement.call
-
A call to another cfg.
- Call(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.Call
-
Builds a call happening at the given source location.
- Call.CallType - Enum in it.unive.lisa.program.cfg.statement.call
-
Possible types of a call, identifying the type of targets (instance or static) it can have.
- CallGraph - Interface in it.unive.lisa.interprocedural.callgraph
-
A callgraph of the program to analyze, that knows how to resolve dynamic targets of
UnresolvedCalls. - CallGraphConstructionException - Exception in it.unive.lisa.interprocedural.callgraph
-
An exception that occurred while building the callgraph.
- CallGraphConstructionException() - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
-
Builds the exception.
- CallGraphConstructionException(String) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
-
Builds the exception.
- CallGraphConstructionException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
-
Builds the exception.
- CallGraphConstructionException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallGraphConstructionException
-
Builds the exception.
- CallGraphEdge - Class in it.unive.lisa.interprocedural.callgraph
-
An edge between two
CallGraphNodes in aBaseCallGraph. - CallGraphEdge(CallGraphNode, CallGraphNode) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
-
Build the edge.
- CallGraphNode - Class in it.unive.lisa.interprocedural.callgraph
-
A node of a
BaseCallGraph, representing a singleCodeMember. - CallGraphNode(BaseCallGraph, CodeMember) - Constructor for class it.unive.lisa.interprocedural.callgraph.CallGraphNode
-
Builds the node.
- CallResolutionException - Exception in it.unive.lisa.interprocedural.callgraph
-
An exception that occurred while resolving an
UnresolvedCall. - CallResolutionException() - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(String) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallResolutionException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.callgraph.CallResolutionException
-
Builds the exception.
- CallWithResult - Class in it.unive.lisa.program.cfg.statement.call
-
A call that evaluate its result directly.
- CallWithResult(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CallWithResult
-
Builds the call, happening at the given location in the program.
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.BoolType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Float64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int16Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.Int8Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.StringType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt16Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt32Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt64Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.common.UInt8Type
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.NullType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.ReferenceType
- canBeAssignedTo(Type) - Method in interface it.unive.lisa.type.Type
-
Determines if the type represented by this
Typeobject is either the same as, or is a subtype of, the type represented byother. - canBeAssignedTo(Type) - Method in class it.unive.lisa.type.TypeTokenType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.Untyped
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.VoidType
- canBeInstantiated() - Method in class it.unive.lisa.program.AbstractClassUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.ClassUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.CodeUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.InterfaceUnit
- canBeInstantiated() - Method in class it.unive.lisa.program.Program
- canBeInstantiated() - Method in class it.unive.lisa.program.Unit
-
Yields
trueif this unit can be instantiated,falseotherwise (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.
- CANNOT_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for the overriding of a non-overridable
CodeMember. - canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- canProcess(SymbolicExpression) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
-
Yields
trueif the domain can processexpression,falseotherwise. - 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
typesis being cast to one of the possible type tokens intokens. - cast(Set<Type>, Set<Type>, AtomicBoolean) - Method in class it.unive.lisa.type.TypeSystem
-
Simulates a cast operation, where an expression with possible runtime types
typesis being cast to one of the possible type tokens intokens. - castElements(Class<T>) - Method in class it.unive.lisa.analysis.symbols.Aliases
-
Yields an iterable over the elements of this object casted to the given type.
- CastIterable<E,T extends E> - Class in it.unive.lisa.util.collections
-
An iterable that wraps another one, and whose iterator delegates to the wrapped one's, but returns its elements casted to another type.
- CastIterable(Iterable<E>, Class<T>) - Constructor for class it.unive.lisa.util.collections.CastIterable
-
Builds the iterable.
- CFG - Class in it.unive.lisa.program.cfg
- CFG(CFG) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Clones the given control flow graph.
- CFG(CodeMemberDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFG(CodeMemberDescriptor, Collection<Statement>, NodeList<CFG, Statement, Edge>) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFGCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call to one or more of the CFGs under analysis.
- CFGCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(CFG, CodeLocation, Call.CallType, String, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(UnresolvedCall, Collection<CFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Creates a cfg call as the resolved version of the given
sourcecall, copying all its data. - CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
- CFGDescriptorWarning(CodeMemberDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
-
Builds the warning.
- cfgMatrix - Variable in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
The matrix of the cfg containing this structure.
- CFGWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the CFGs under analysis.
- CFGWarning(CFG, String) - Constructor for class it.unive.lisa.checks.warnings.CFGWarning
-
Builds the warning.
- CFGWithAnalysisResults<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
- CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CFGWithAnalysisResults(CFG, AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, Map<Statement, AnalysisState<A, H, V, T>>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CFGWithAnalysisResults(CFG, StatementStore<A, H, V, T>, StatementStore<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CharAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A char annotation value.
- CharAnnotationValue(char) - Constructor for class it.unive.lisa.program.annotations.values.CharAnnotationValue
-
Builds a char annotation value.
- Check<T> - Interface in it.unive.lisa.checks
-
A check that inspects the syntactic structure of the program to report warnings.
- checkMember(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing, CodeMember, boolean) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Checks if the given code member
cmis a candidate target for the given call, and proceeds to add it to the set of targets if it is. - ChecksExecutor - Class in it.unive.lisa.checks
-
Utility class that handles the execution of
Checks. - CheckTool - Class in it.unive.lisa.checks.syntactic
-
An auxiliary tool that can be used by checks during their execution.
- CheckTool() - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool.
- CheckTool(CheckTool) - Constructor for class it.unive.lisa.checks.syntactic.CheckTool
-
Build the tool, shallow-copying the set of warnings from the given one.
- CheckToolWithAnalysisResults<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.checks.semantic
-
An extension of
CheckToolthat also contains the results of the fixpoint computation. - CheckToolWithAnalysisResults(CheckTool, Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, copying the given tool and storing the given results.
- CheckToolWithAnalysisResults(Map<CFG, Collection<CFGWithAnalysisResults<A, H, V, T>>>, CallGraph) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, storing the given results.
- ClassUnit - Class in it.unive.lisa.program
-
A
CompilationUnitrepresenting a concrete class that can be instantiated. - ClassUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.ClassUnit
-
Builds a compilation unit, defined at the given program point.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- clear() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Cleans the cache, removing all elements.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- CodeEdge<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph.code
- CodeElement - Interface in it.unive.lisa.program
-
Interface for code elements that have to provide information about the location where they appear.
- CodeGraph<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
- CodeGraph(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Builds the graph.
- CodeGraph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Clones the given graph.
- CodeGraph(Collection<N>, NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Builds the graph.
- CodeLocation - Interface in it.unive.lisa.program.cfg
-
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
- CodeMember - Interface in it.unive.lisa.program.cfg
-
A program member that has code within it.
- CodeMemberDescriptor - Class in it.unive.lisa.program.cfg
-
A descriptor of a
CodeMember, containing the debug informations (source file, line, column) as well as metadata. - CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor with
Untypedreturn type. - CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor.
- CodeMemberDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Builds the descriptor.
- CodeNode<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph.code
- CodeUnit - Class in it.unive.lisa.program
-
A file-based unit of the program to analyze, that logically groups code in files or modules.
- CodeUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.CodeUnit
-
Builds a unit, defined at the given location.
- collect() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a concrete list containing all the elements corresponding to the bits in this set.
- collect(T...) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Stores the given objects into a collection and returns it.
- CollectionsDiffBuilder<T> - Class in it.unive.lisa.util.collections
-
An utility class that can compute the difference between two collections containing the same object types.
- CollectionsDiffBuilder(Class<T>, Collection<T>, Collection<T>) - Constructor for class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Builds the diff builder.
- CollectionUtilities - Class in it.unive.lisa.util.collections
-
Utility methods for operations on
Collections. - COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color attribute name.
- COLOR_BLACK - Static variable in class it.unive.lisa.outputs.DotGraph
-
The black color.
- COLOR_BLUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The blue color.
- COLOR_GRAY - Static variable in class it.unive.lisa.outputs.DotGraph
-
The gray color.
- COLOR_RED - Static variable in class it.unive.lisa.outputs.DotGraph
-
The red color.
- COMMON - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present in both reports.
- commonNumericalType(Set<Type>, Set<Type>) - Static method in interface it.unive.lisa.type.NumericType
-
Computes the set of
Types representing the common ones among the given sets. - commonSupertype(Type) - Method in class it.unive.lisa.type.common.BoolType
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Float64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int16Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.Int8Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.StringType
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt16Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt32Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt64Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.common.UInt8Type
- commonSupertype(Type) - Method in class it.unive.lisa.type.NullType
- commonSupertype(Type) - Method in class it.unive.lisa.type.ReferenceType
- commonSupertype(Type) - Method in interface it.unive.lisa.type.Type
-
Yields the most specific common supertype between this
Typeand the given one. - commonSupertype(Type) - Method in class it.unive.lisa.type.TypeTokenType
- commonSupertype(Type) - Method in class it.unive.lisa.type.Untyped
- commonSupertype(Type) - Method in class it.unive.lisa.type.VoidType
- commonSupertype(Collection<Type>, Type) - Static method in interface it.unive.lisa.type.Type
-
Yields the most specific common supertype of the given collection of types by successive invocations of
Type.commonSupertype(Type)between its elements. - compare(JsonReport, JsonReport, File, File) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compare(JsonReport, JsonReport, File, File, JsonReportComparer.DiffReporter) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compareTo(DomainRepresentation) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.UnitWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.Warning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- compareTo(JsonReport.JsonWarning) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- compareTo(SerializableEdge) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- compareTo(SerializableNode) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- compareTo(SerializableNodeDescription) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- compareTo(SerializableValue) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SyntheticLocation
- compareTo(Edge) - Method in class it.unive.lisa.program.cfg.edge.Edge
- compareTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
- compareTo(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
- ComparisonEq - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, a
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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.
- compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
-
Computes an analysis state that abstracts the result of this call when
parametersare used as actual parameters, and the state when the call is executed isentryState. - compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- compute(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- compute(Comparator<T>) - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Computes the diff between the collections used to create this object.
- Concat - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string contains operation.
- Concat(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Concat
-
Builds the concat.
- ConcurrentFIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A first-in, first-out working set.
- ConcurrentLIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A last-in, first-out working set.
- CONDITIONAL_EDGE_STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The style of conditional edges.
- Constant - Class in it.unive.lisa.symbolic.value
-
A constant value.
- Constant(Type, Object, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Constant
-
Builds the constant.
- contains(E) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Checks whether an element is contained in this set.
- contains(E) - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Checks whether an element is contained in this set.
- contains(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Returns
trueifmatchermatches at least one of this annotations,falseotherwise. - contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields
trueif the given statement is part of the body of this structure. - contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- contains(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- contains(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- contains(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Determines if this set contains all elements of another if they share the same cache.
- contains(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- contains(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- Contains - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string contains operation.
- Contains(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Contains
-
Builds the contains.
- containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- containsAll(Collection<?>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- containsEdge(E) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields
trueif 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
trueif the given edge is contained in this list. - containsEdge(E) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields
trueif the given edge is contained in this graph. - containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields
trueif 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
trueif the given node is contained in this list. - containsNode(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields
trueif the given node is contained in this graph. - ControlFlowExtractor - Class in it.unive.lisa.program.cfg.controlFlow
-
An extractor of
ControlFlowStructures fromCFGs. - ControlFlowExtractor(CFG) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
-
Builds the extractor.
- ControlFlowStructure - Class in it.unive.lisa.program.cfg.controlFlow
-
A control flow structure of a
CFG. - ControlFlowStructure(NodeList<CFG, Statement, Edge>, Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Builds the structure.
- convert(Set<Type>, Set<Type>) - Method in class it.unive.lisa.type.TypeSystem
-
Simulates a conversion operation, where an expression with possible runtime types
typesis being converted to one of the possible type tokens intokens. - copy() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- copy() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a fresh copy of this set, defined over the same cache and containing the same elements.
- copy() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
-
Copying an
UniversalExternalSetyields aBitExternalSetrepresenting a snapshot of the actual state of the cache.
Yields a fresh copy of this set, defined over the same cache and containing the same elements. - count() - Method in class it.unive.lisa.logging.Counter
-
Progresses the count by one.
- Counter - Class in it.unive.lisa.logging
-
A counter that logs to a given logger while progressing during the count.
- Counter(Logger, Level, String, String, int, double) - Constructor for class it.unive.lisa.logging.Counter
-
Builds the counter.
- createdFiles() - Method in class it.unive.lisa.util.file.FileManager
-
Yields the collection of file names that have been created by this manager.
- createReference(CFG) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Creates a
VariableReffor the variable depicted by this entry, happening in the givenCFGat the location of its descriptor.
D
- DataflowDomain<D extends DataflowDomain<D,E>,E extends DataflowElement<D,E>> - Class in it.unive.lisa.analysis.dataflow
-
A dataflow domain that collects instances of
DataflowElement. - DataflowDomain(E, Set<E>, boolean, boolean) - Constructor for class it.unive.lisa.analysis.dataflow.DataflowDomain
-
Builds the domain.
- DataflowElement<D extends DataflowDomain<D,E>,E extends DataflowElement<D,E>> - Interface in it.unive.lisa.analysis.dataflow
-
An element of the dataflow domain, that contains a collection of
Identifiers in its definition. - DefiniteForwardDataflowDomain<E extends DataflowElement<DefiniteForwardDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomainfor forward and definite dataflow analysis. - DefiniteForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
-
Builds an empty domain.
- deserialize(JsonParser, DeserializationContext) - Method in class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
- diff(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval subtraction between
thisandother. - 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
thisandother. - divide(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this / other. - Division - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the division operation (
/). - Division(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Division
-
Builds the division.
- DivisionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a division between its operands.
- domain - Variable in class it.unive.lisa.analysis.dataflow.DataflowDomain
-
The underlying domain.
- DomainRepresentation - Class in it.unive.lisa.analysis.representation
-
A structured representation of the abstract information present in a single instance of
SemanticDomain,NonRelationalDomain,DataflowElementor other types of domains. - DomainRepresentation() - Constructor for class it.unive.lisa.analysis.representation.DomainRepresentation
- Dominators<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
An algorithms that evaluates the dominators of each node in a graph.
- Dominators() - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators.
- DotGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped into Dot format.
- DotGraph(String) - Constructor for class it.unive.lisa.outputs.DotGraph
-
Builds a graph.
- DoubleAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A double annotation value.
- DoubleAnnotationValue(double) - Constructor for class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
-
Builds a double annotation value.
- dump(Writer) - Method in class it.unive.lisa.outputs.DotGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.GraphmlGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Dumps this graph through the given
Writer. - dump(Writer) - Method in class it.unive.lisa.outputs.HtmlGraph
- dump(Writer) - Method in class it.unive.lisa.outputs.json.JsonReport
-
Dumps this report to the given
Writerinstance, serializing it as a json object. - dump(Writer) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Dumps this graph, in JSON format through the given
Writer. - dump(Writer, boolean) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
This method provides the actual implementation for
GraphmlGraph.dump(Writer), optionally avoiding the xml formatting (i.e. - DUPLICATE_MEMBER - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for duplicated
CodeMembers in the sameUnit.
E
- Edge - Class in it.unive.lisa.program.cfg.edge
-
An edge of a control flow graph, connecting two statements.
- Edge<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
An edge of a
Graph. - Edge() - Constructor for class it.unive.lisa.program.cfg.edge.Edge
-
Builds an "empty" edge, meaning that it does not have endpoints.
- Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
-
Builds the edge.
- edgeName(long, long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Given the codes for the source and destination edges, builds the name of an edge that can be added to, removed from or retrieved from the wrapped graph.
- elements - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.lattices.SetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.representation.ListRepresentation
-
The elements of contained in this list.
- elements - Variable in class it.unive.lisa.analysis.representation.SetRepresentation
-
The elements of contained in this set.
- elements() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Yields the set of elements contained in this lattice element.
- elements() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Yields the set of elements contained in this lattice element.
- EndsWith - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string endsWith operation.
- EndsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.EndsWith
-
Builds the endsWith.
- entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- EnumAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An enum annotation value.
- EnumAnnotationValue(String, String) - Constructor for class it.unive.lisa.program.annotations.values.EnumAnnotationValue
-
Builds an enum annotation value.
- Environment<M extends Environment<M,E,T,V>,E extends SymbolicExpression,T extends NonRelationalElement<T,E,M>,V extends Lattice<V>> - Class in it.unive.lisa.analysis.nonrelational
-
An environment for a
NonRelationalDomain, that mapsIdentifiers to instances of such domain. - Environment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
-
Builds an empty environment.
- Environment(T, Map<Identifier, T>) - Constructor for class it.unive.lisa.analysis.nonrelational.Environment
-
Builds an environment containing the given mapping.
- Equal - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the equality test (
==). - Equal(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.Equal
-
Builds the equality test.
- equality(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, yields whether or not the most recent one has to be considered equal to the older one in terms of fixpoint iterations.
- equals(C, C, BiPredicate<T, T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Tests if two collections contain the same elements, using a custom equality test to determine if two elements are to be considered equals.
- equals(Object) - Method in class it.unive.lisa.analysis.AnalysisState
- equals(Object) - Method in class it.unive.lisa.analysis.BaseLattice
- equals(Object) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- equals(Object) - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- equals(Object) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- equals(Object) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.ScopeToken
- equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- equals(Object) - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.UnitWarning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.Warning
- equals(Object) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- equals(Object) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport
- equals(Object) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- equals(Object) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotation
- equals(Object) - Method in class it.unive.lisa.program.annotations.AnnotationMember
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotations
- equals(Object) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- equals(Object) - Method in class it.unive.lisa.program.cfg.edge.Edge
- equals(Object) - Method in class it.unive.lisa.program.cfg.Parameter
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.Call
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Expression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Ret
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Statement
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- equals(Object) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- equals(Object) - Method in class it.unive.lisa.program.Global
- equals(Object) - Method in class it.unive.lisa.program.SourceCodeLocation
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- equals(Object) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- equals(Object) - Method in class it.unive.lisa.symbolic.SymbolicExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Constant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Identifier
- equals(Object) - Method in class it.unive.lisa.symbolic.value.NullConstant
- equals(Object) - Method in class it.unive.lisa.symbolic.value.PushAny
- equals(Object) - Method in class it.unive.lisa.symbolic.value.Skip
- equals(Object) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- equals(Object) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- equals(Object) - Method in class it.unive.lisa.type.common.BoolType
- equals(Object) - Method in class it.unive.lisa.type.common.Float32Type
- equals(Object) - Method in class it.unive.lisa.type.common.Float64Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int16Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int32Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int64Type
- equals(Object) - Method in class it.unive.lisa.type.common.Int8Type
- equals(Object) - Method in class it.unive.lisa.type.common.StringType
- equals(Object) - Method in class it.unive.lisa.type.common.UInt16Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt32Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt64Type
- equals(Object) - Method in class it.unive.lisa.type.common.UInt8Type
- equals(Object) - Method in class it.unive.lisa.type.NullType
- equals(Object) - Method in class it.unive.lisa.type.ReferenceType
- equals(Object) - Method in class it.unive.lisa.type.TypeTokenType
- equals(Object) - Method in class it.unive.lisa.type.Untyped
- equals(Object) - Method in class it.unive.lisa.type.VoidType
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.IterableArray
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- equals(Object) - Method in class it.unive.lisa.util.numeric.IntInterval
- equals(Object) - Method in class it.unive.lisa.util.numeric.MathNumber
- Equals - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string equals operation.
- Equals(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Equals
-
Builds the equals.
- eval(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalDomain
-
Evaluates a
SymbolicExpression, assuming that the values of program variables are the ones stored inenvironment. - eval(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Yields the evaluation of the given expression, happening at the given program point.
- eval(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- eval(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- eval(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.inference.InferredValue
-
Evaluates a
ValueExpression, assuming that the values of program variables are the ones stored inenvironment. - eval(ValueExpression, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- eval(ValueExpression, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- eval(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a
BinaryExpressionapplyingoperatorto two expressions whose runtime types areleftandright, respectively. - evalBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
BinaryExpressionapplyingoperatorto two expressions whose abstract value areleftandright, respectively. - evalBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
BinaryExpressionapplyingoperatorto two expressions whose abstract value areleftandright, respectively. - evalIdentifier(Identifier, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of an identifier in a given environment.
- evalIdentifier(Identifier, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of an identifier in a given environment.
- evalIdentifier(Identifier, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of an identifier in a given environment.
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of the given non-null constant.
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of the given non-null constant.
- evalNonNullConstant(Constant, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of the given non-null constant.
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of the null constant
NullConstant. - evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of the null constant
NullConstant. - evalNullConstant(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of the null constant
NullConstant. - evalPushAny(PushAny, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a push-any expression.
- evalPushAny(PushAny, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a push-any expression.
- evalPushAny(PushAny, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a push-any expression.
- evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a
TernaryExpressionapplyingoperatorto two expressions whose runtime types areleft,middleandright, respectively. - evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
TernaryExpressionapplyingoperatorto two expressions whose abstract value areleft,middleandright, respectively. - evalTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
TernaryExpressionapplyingoperatorto two expressions whose abstract value areleft,middleandright, respectively. - evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type cast expression.
- evalTypeCast(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type cast expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a type conversion expression.
- evalTypeConv(BinaryExpression, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a type conversion expression.
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Evaluates the given sub-expressions according to this order.
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- evaluate(Expression[], AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- EvaluationOrder - Interface in it.unive.lisa.program.cfg.statement.evaluation
-
The order of evaluation of the sub-expressions of an
NaryExpression. - EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- EvaluationVisitor() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the evaluation of a
UnaryExpressionapplyingoperatorto an expression whose runtime types isarg. - evalUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the evaluation of a
UnaryExpressionapplyingoperatorto an expression whose abstract value isarg. - evalUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the evaluation of a
UnaryExpressionapplyingoperatorto an expression whose abstract value isarg. - execAction(Logger, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, TimeFormat, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execAction(Logger, Level, String, TimerLogger.LoggableAction) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given action, while logging the time need for it to complete.
- execSupplier(Logger, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, TimeFormat, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- execSupplier(Logger, Level, String, TimerLogger.LoggableSupplier<T>) - Static method in class it.unive.lisa.logging.TimerLogger
-
Executes the given supplier, while logging the time need for it to complete.
- executeAll(T, Application, Iterable<C>) - Static method in class it.unive.lisa.checks.ChecksExecutor
-
Executes all the given checks on the given inputs cfgs.
- EXIT_NODE_EXTRA_ATTR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The name of the extra attribute identifying exit nodes.
- EXIT_NODE_EXTRA_VALUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The value of the extra attribute identifying exit nodes.
- EXIT_WITH_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for terminating
Statements with followers. - Expression - Class in it.unive.lisa.program.cfg.statement
-
An expression that is part of a statement of the program.
- Expression(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds an untyped expression happening at the given source location, that is its type is
Untyped.INSTANCE. - Expression(CFG, CodeLocation, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds a typed expression happening at the given source location.
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.CallWithResult
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Computes the semantics of the expression, after the semantics of all sub-expressions have been computed.
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
- expressionSemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
- ExpressionSet<T extends SymbolicExpression> - Class in it.unive.lisa.analysis.lattices
-
A set lattice containing a set of symbolic expressions.
- ExpressionSet() - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds the empty set lattice element.
- ExpressionSet(Set<T>) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a set lattice element.
- ExpressionSet(T) - Constructor for class it.unive.lisa.analysis.lattices.ExpressionSet
-
Builds a singleton set lattice element.
- ExpressionVisitor<T> - Interface in it.unive.lisa.symbolic
-
A visitor for
SymbolicExpressions, to be used as parameter toSymbolicExpression.accept(ExpressionVisitor, Object...). - ExpressionWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on an expression.
- ExpressionWarning(Expression, String) - Constructor for class it.unive.lisa.checks.warnings.ExpressionWarning
-
Builds the warning.
- ExternalSet<T> - Interface in it.unive.lisa.util.collections.externalSet
-
A set of elements that are stored externally from this set.
- ExternalSetCache<T> - Class in it.unive.lisa.util.collections.externalSet
-
A cache for creating
ExternalSets of the elements contained in this cache. - ExternalSetCache() - Constructor for class it.unive.lisa.util.collections.externalSet.ExternalSetCache
- extract() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowExtractor
-
Runs the algorithms for extracting
ControlFlowStructures.
F
- FalseEdge - Class in it.unive.lisa.program.cfg.edge
-
An edge connecting two statements, that is traversed when the condition expressed in the source state does not hold.
- FalseEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.FalseEdge
-
Builds the edge.
- FalseLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A
Literalrepresenting thefalseboolean value. - FalseLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.FalseLiteral
-
Builds the literal.
- fields - Variable in class it.unive.lisa.analysis.representation.ObjectRepresentation
-
The fields of this object, with their values.
- FIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A first-in, first-out working set.
- fileDiff(String, String, String) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Callback invoked by a
JsonReportComparerwhenever files from different reports but with matching names have different content. - FileManager - Class in it.unive.lisa.util.file
-
A file manager that provides standard functionalities for communicating with the file system.
- FileManager(String) - Constructor for class it.unive.lisa.util.file.FileManager
-
Builds a new manager that will produce files in the given
workdir. - FileManager.WriteAction - Interface in it.unive.lisa.util.file
-
A functional interface for a write operation that can throw
IOExceptions. - FILES - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated files.
- filter(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a new external set containing only the elements of this set that satisfy the given predicate.
- first() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the first element inside this set.
- first(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Yields the index of the first sub-expression that has to be evaluated.
- first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- first(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- FixedOrderMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A resolution strategy that does not permit by-name (e.g.
- FixedOrderMatchingStrategy() - Constructor for class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
- fixpoint(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(AnalysisState<A, H, V, T>, Class<? extends WorkingSet<Statement>>, int) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes a fixpoint over the whole control flow graph, producing a
CFGWithAnalysisResultsfor eachCFGcontained in this analysis. - fixpoint(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Collection<Statement>, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Runs the fixpoint.
- Fixpoint<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>,T> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
A fixpoint algorithm for a
Graph, parametric to theFixpoint.FixpointImplementationthat one wants to use to compute the results. - Fixpoint(Graph<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Builds a fixpoint for the given
Graph. - Fixpoint.FixpointImplementation<N,E,T> - Interface in it.unive.lisa.util.datastructures.graph.algorithms
-
Concrete implementation of the general methods used by a fixpoint algorithm to perform.
- FixpointException - Exception in it.unive.lisa.util.datastructures.graph.algorithms
-
An exception raised during the fixpoint computation.
- FixpointException() - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(String) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(String, Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- FixpointException(Throwable) - Constructor for exception it.unive.lisa.util.datastructures.graph.algorithms.FixpointException
-
Builds the exception.
- Float32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit signed
Literalrepresenting a constant non-integral value. - Float32Literal(CFG, CodeLocation, float) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float32Literal
-
Builds the literal.
- Float32Type - Class in it.unive.lisa.type.common
-
A signed 32-bit floating point
NumericType. - Float32Type() - Constructor for class it.unive.lisa.type.common.Float32Type
-
Builds the type.
- Float64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit signed
Literalrepresenting a constant non-integral value. - Float64Literal(CFG, CodeLocation, double) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Float64Literal
-
Builds the literal.
- Float64Type - Class in it.unive.lisa.type.common
-
A signed 64-bit floating point
NumericType. - Float64Type() - Constructor for class it.unive.lisa.type.common.Float64Type
-
Builds the type.
- FloatAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A float annotation value.
- FloatAnnotationValue(float) - Constructor for class it.unive.lisa.program.annotations.values.FloatAnnotationValue
-
Builds a float annotation value.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this matrix going from the given node to such node.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this list going from the given node to such node.
- followersOf(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this control flow graph going from the given node to such node.
- forceDeleteFolder(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Deletes a folder with all of its contents if it exists.
- forget(Statement) - Method in class it.unive.lisa.analysis.StatementStore
-
Removes the stored state for the given statement.
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets an
Identifier. - forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- forgetIdentifiers(Iterable<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all the given
Identifiers. - forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- forgetIdentifiersIf(Predicate<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all
Identifiers that match the given predicate. - forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- format(long) - Method in enum it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos into a string with time units.
- fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Transforms a boolean value to a
SemanticDomain.Satisfiabilityinstance. - fromCFG(CFG) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
-
Builds a
SerializableGraphstarting from the givenCFG, with no extra descriptions for the statements. - fromCFG(CFG, Function<Statement, SerializableValue>) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableCFG
-
Builds a
SerializableGraphstarting from the givenCFG, using the given function to generate extra descriptions for each statement. - function - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
The function implemented by this lattice.
- FunctionalLattice<F extends FunctionalLattice<F,K,V>,K,V extends Lattice<V>> - Class in it.unive.lisa.analysis.lattices
-
A generic functional abstract domain that performs the functional lifting of the lattice on the elements of the co-domain.
- FunctionalLattice(V) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds the lattice.
- FunctionalLattice(V, Map<K, V>) - Constructor for class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds the lattice by cloning the given function.
- FunctionalLattice.FunctionalLift<V extends Lattice<V>> - Interface in it.unive.lisa.analysis.lattices
-
Interface for the lift of lattice elements.
- FunctionalLattice.KeyFunctionalLift<K> - Interface in it.unive.lisa.analysis.lattices
-
Interface for the left of key sets.
- functionalLift(F, FunctionalLattice.KeyFunctionalLift<K>, FunctionalLattice.FunctionalLift<V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the functional lift between
thisandother.
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
expressionto the givenid. - gen(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
The dataflow gen operation, yielding the dataflow elements that are generated by evaluating the given non-assigning
expression. - generateHtmlViewerSupportFiles(boolean) - Method in class it.unive.lisa.util.file.FileManager
-
Generates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.
- get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the
pos-th element of this cache. - getAbstractCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
AbstractCodeMembers defined in this unit. - getAbstractResultOf(CFGCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes an analysis state that abstracts the execution of the possible targets considering that they were given
parametersas actual parameters, and the state when the call is executed isentryState.
Note that the interprocedural analysis is also responsible for registering the call to theCallGraph, if needed. - getAbstractResultOf(OpenCall, AnalysisState<A, H, V, T>, ExpressionSet<SymbolicExpression>[], StatementStore<A, H, V, T>) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Computes an analysis state that abstracts the execution of an unknown target considering that they were given
parametersas actual parameters, and the state when the call is executed isentryState. - getAdjacencyMatrix() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
-
Yields the adjacency matrix backing this graph.
- getAliasing() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the symbol aliasing information, that can be used to resolve targets of calls when the names used in the call are different from the ones in the target's signature.
- getAllCFGs() - Method in class it.unive.lisa.program.Application
- getAllCFGs() - Method in class it.unive.lisa.program.Program
-
Yields all the
CFGs defined in this program, obtained by filtering the results ofProgram.getCodeMembersRecursively(). - getAllCodeCodeMembers() - Method in class it.unive.lisa.program.Application
-
Yields the lazily computed collection of all
CodeMembers defined in allPrograms of this application. - getAllExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller, or throwing an error (i.e., all such statements on which either
Statement.stopsExecution()orStatement.throwsError()hold). - getAnalysisResultsOf(CFG) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields the results of the given analysis, identified by its class, on the given
CFG. - getAnalysisStateAfter(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result at a given statement (exit state).
- getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result before a given statement (entry state).
- getAnnotationMembers() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation members of this annotation.
- getAnnotationName() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation name of this annotation.
- getAnnotations() - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the list of annotations.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the annotations of this descriptor.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the annotations of this parameter.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the annotations of this variable, retrieved from the variable table of the cfg this variable belongs to.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the annotations of this variable.
- getAnnotations() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the annotations of this compilation unit.
- getAnnotations() - Method in class it.unive.lisa.program.Global
-
Yields the annotations of this global element.
- getAnnotations() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the annotations of this identifier.
- getAnnotations(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the annotations that are matched by the matcher
m. - getAssigningStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
ParameterAssigningStrategydefining how actual parameters of a call are matched against the formal ones of its targets. - getBaseType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the base type of this array type.
- getBody() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
-
Yields the
Statements contained in the body of this loop. - getBooleanType() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the
BooleanTypeof 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 theCallGraphthat has been built during the analysis. - getCallees(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- getCallees(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
CodeMembers that are called by the given one. - getCallers(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields all the
CodeMembers that call the given one, according to theCallGraphthat has been built during the analysis. - getCallers(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- getCallers(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
CodeMembers that call the given one. - getCalls() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
-
Yields the calls underlying this multi call.
- getCallSites(CodeMember) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields all the
Calls that targets the givenCodeMember, according to theCallGraphthat has been built during the analysis. - getCallSites(CodeMember) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- getCallSites(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
Calls that targets the givenCodeMember. - getCallType() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the call type of this call.
- getCFG() - Method in class it.unive.lisa.checks.warnings.CFGWarning
-
Yields the cfg where this warning was reported on.
- getCFG() - Method in interface it.unive.lisa.program.cfg.ProgramPoint
-
Yields the
CFGthat this program point belongs to. - getCFG() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the child.
- getCodeLocation() - Method in interface it.unive.lisa.program.cfg.CodeLocation
-
Yields the string code location representation.
- getCodeLocation() - Method in class it.unive.lisa.program.SourceCodeLocation
- getCodeLocation() - Method in class it.unive.lisa.program.SyntheticLocation
- getCodeLocation() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the code location of the statement that has generated this symbolic expression.
- getCodeMember() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
-
Yields the
CodeMemberrepresented by this node. - getCodeMember(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
CodeMemberdefined 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
NodeListcontaining the full structure (nodes and edges) represented by this conditional structure. - getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the last computed expression.
- getCondition() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the condition of this structure.
- getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the name of the native construct represented by this expression.
- getContainer() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
-
Yields the
Unitwhere the global targeted by this access is defined. - getContainer() - Method in class it.unive.lisa.program.Global
-
Yields the unit containing this global.
- getContainer() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the parent.
- getControlFlowStructures() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the collection of
ControlFlowStructures contained in this cfg.
Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause aControlFlowExtractorto try to extract them. - getCurrentCount() - Method in class it.unive.lisa.logging.Counter
-
Yields the current count of this counter.
- getDataflowElements() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
-
Yields the
DataflowElements contained in this domain instance. - getDefaultValue() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the default value for this parameter that can be used when a call does not specify a value for it.
- getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the description of the graph.
- getDescription() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Yields the
SerializableValueto 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
CodeMemberDescriptorcontaining the signature of this code member. - getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
- getDestId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the id of the destination
SerializableNode. - getDestination() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getDestination() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getDestination() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge ends.
- getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.AnalysisState
- getDomainInstance(Class<D>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getDomainInstance(Class<T>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields the instance of a specific domain, of class
domain, contained inside the domain. - getDominators() - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Yelds the last computed dominators through
Dominators.build(Graph). - getDynamicType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the dynamic type of this expression, that is, the most specific common supertype of all its runtime types (available through
SymbolicExpression.getRuntimeTypes(TypeSystem). - getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the edge connecting the two given nodes, if any.
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the edge connecting the two given nodes, if any.
- getEdgeConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the edge connecting the two given nodes, if any.
- getEdges() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the set of edges of this graph.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the set of edges of this matrix.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the set of edges of this list.
- getEdges() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of edges of this graph.
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields all edges connecting the two given nodes, if any.
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgesConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields all edges connecting the two given nodes, if any.
- getEdgesConnecting(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields all edges connecting the two given nodes, if any.
- getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEdgesCount() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of edges of this graph.
- getElements() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Yields the elements contained in this array.
- getEntries() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the entry nodes of this matrix, that is, the nodes that have no predecessors.
- getEntries() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the entry nodes of this list, that is, the nodes that have no predecessors.
- getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getEntrypoints() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the nodes of this graph that are entrypoints, that is, roots of the graph.
- getEntryPoints() - Method in class it.unive.lisa.program.Application
- getEntryPoints() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
CFGs that are entry points in this program. - getEntryState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the entry state.
- getEvaluationPredecessor() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the
Statementthat is evaluated right before this one, such that querying for the entry state ofthisexpression is equivalent to querying the exit state of the returned one. - getExecutionState() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Yields the execution state (also called program counter), that might change when evaluating an expression.
- getExits() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the exit nodes of this matrix, that is, the nodes that have no followers.
- getExits() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the exit nodes of this list, that is, the nodes that have no followers.
- getExitState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the exit state.
- getExpression() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
-
Yields the expression where this warning was reported on.
- getExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Yields the expression that is the argument of this unary statement.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
-
Yields the expression to be dereferenced.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapReference
-
Yields the referred expression.
- getExpression() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the inner expression, that is transformed by this expression by applying
UnaryExpression.getOperator(). - getFalseBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Yields the
Statements contained in the false branch of this if-then-else. - getFeatures() - Method in class it.unive.lisa.program.Program
-
Yields the language-specific features, algorithms and semantics of this program.
- getFields() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Yields the fields of this object.
- getFiles() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of file names contained into this report.
- getFirstFollower() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the first follower of this structure, that is, the first statement after the conditional structure exits.
- getFormals() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the array containing the formal parameters of the CFG associated with this descriptor.
- getFullName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full name of the CFG associated with this descriptor.
- getFullSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full signature of this cfg, that is,
CodeMemberDescriptor.getSignature()preceded by the cfg's return type. - getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the full signature of this cfg including parameters names, that is,
CodeMemberDescriptor.getSignatureWithParNames()preceded by the cfg's return type. - getFullTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the full name of the target of the call.
- getGenericProgramPoint() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields a generic
ProgramPointhappening 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
Globaldefined 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
BaseCallGraphcontaining this node. - getGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all the
ControlFlowStructures, regardless of their type, containing the given program point. - getHeapState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
HeapDomainthat contains the information on heap structures contained in this abstract state. - getHeapState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getHigh() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields the upper bound of this interval.
- getId() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields a string meant to identify this specific result, based on how it has been produced.
- getId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the id of this node.
- getId() - Method in class it.unive.lisa.program.annotations.AnnotationMember
-
Yields the identifier of this annotation member.
- getIdsToForget() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the collection of identifiers that must be removed after the application of this replacement, that is, the identifiers that are in
HeapSemanticOperation.HeapReplacement.getSources()but not inHeapSemanticOperation.HeapReplacement.getTargets(). - getIfThenElseGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all the
IfThenElsecontaining 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
InferredValuerepresenting the inferred value. - getInferredDynamicType() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getInferredDynamicType() - Method in interface it.unive.lisa.analysis.value.TypeDomain
-
Yields the dynamic type that this analysis inferred for the last computed expression.
- getInferredRuntimeTypes() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- getInferredRuntimeTypes() - Method in interface it.unive.lisa.analysis.value.TypeDomain
-
Yields the runtime types that this analysis inferred for the last computed expression.
- getInferredValue() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Yields the inferred value of the last
SymbolicExpressionhandled by this domain, either throughEnvironment.assign(Identifier, SymbolicExpression, ProgramPoint)orInferenceSystem.smallStepSemantics(ValueExpression, ProgramPoint). - getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
-
Yields the ingoing edges.
- getIngoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
-
Yields the ingoing edges.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the ingoing edges to the given node.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the ingoing edges to the given node.
- getIngoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the ingoing edges to the given node.
- getInnerType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the type of the inner dimension of this array type.
- 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
CodeMemberdefined 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
Globaldefined 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
NumericTypethat is typically used to index array elements and performing string operations. - getInterfaces() - Method in class it.unive.lisa.program.ClassUnit
-
Yields the list of
InterfaceUnits implemented by this class. - getInvolvedIdentifiers() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Yields all the
Identifiers that are involved in the definition of this element. - getKeys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the set of keys currently in this lattice.
- getKind() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the kind of this edge.
- getLeft() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the left-most (first) sub-expression of this expression.
- getLeft() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the left-most (first) sub-expression of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the left-hand side operand of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the left-hand side operand of this expression.
- getLine() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the line number where this code element happens in the source file.
- getLocation() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported.
- getLocation() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- getLocation() - Method in class it.unive.lisa.program.cfg.Parameter
- getLocation() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getLocation() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- getLocation() - Method in interface it.unive.lisa.program.CodeElement
-
Yields the location where this code element appears in the program.
- getLocation() - Method in class it.unive.lisa.program.Global
- getLocation() - Method in class it.unive.lisa.program.ProgramUnit
- getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the string representation of the location where this warning was reported, surrounded by square brackets.
- getLoopGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all
Loops containing the given program point. - getLow() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields the lower bound of this interval.
- getMap() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the map associated with this functional lattice element.
- getMatchingCodeMember(CodeMemberDescriptor) - Method in class it.unive.lisa.program.Unit
-
Finds all the code members whose signature matches the one of the given
CodeMemberDescriptor, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor). - getMatchingInstanceCodeMembers(CodeMemberDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Finds all the instance code members whose signature matches the one of the given
CodeMemberDescriptor, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor). - getMatchingStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
ParameterMatchingStrategyencoding how actual parameters of a call are matched against the formal ones of its targets. - getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning.
- getMessage() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Yields the message of this warning.
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- getMetaVariable() - Method in interface it.unive.lisa.program.cfg.statement.MetaVariableCreator
-
Yields the meta variable that is introduced during the evaluation of the semantics of this object to store information about the value produced by this object.
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.Return
- getMetaVariables() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the meta variables that are generated by the evaluation of this expression.
- getMiddle() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the middle (second) sub-expression of this expression.
- getMiddle() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the middle operand of this expression.
- getMostRecentGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
ControlFlowStructure, regardless of its type, containing the given program point. - getMostRecentIfThenElseGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
IfThenElsecontaining the given program point. - getMostRecentLoopGuard(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of the most recent
Loopcontaining the given program point. - getName() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
-
Yields the name represented by this symbol.
- getName() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
-
Yields the name represented by this symbol.
- getName() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the name of the graph.
- getName() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the name of the CFG associated with this descriptor.
- getName() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the name of this parameter.
- getName() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.Global
-
Yields the name of this global.
- getName() - Method in class it.unive.lisa.program.Unit
-
Yields the name of the unit.
- getName() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the name of this identifier.
- getNodeId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Yields the id of the
SerializableNodethat this description refers to. - getNodeList() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Yields the node list backing this graph.
- getNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Yields the set of nodes of this graph.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of nodes of this matrix.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of nodes of this list.
- getNodes() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of nodes of this graph.
- getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getNodesCount() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of nodes of this graph.
- getNormalExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller without throwing an error (i.e., all such statements on which
Statement.stopsExecution()holds butStatement.throwsError()does not). - getOffset() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getOffset() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeNode
-
Yields the offset of this node relative to its containing graph.
- getOnlyFirst() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the first collection used to create this builder.
- getOnlySecond() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the second collection used to create this builder.
- getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the operator that is applied to
BinaryExpression.getLeft()andBinaryExpression.getRight(). - getOperator() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the operator that is applied to
TernaryExpression.getLeft(),TernaryExpression.getMiddle()andTernaryExpression.getRight(). - getOperator() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the operator that is applied to
UnaryExpression.getExpression(). - getOrder() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the
EvaluationOrderof the sub-expressions. - getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
-
Yields the outgoing edges.
- getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
-
Yields the outgoing edges.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the outgoing edges from the given node.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the outgoing edges from the given node.
- getOutgoingEdges(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the outgoing edges from the given node.
- getParameterName() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
-
Yields the name of the parameter targeted by this expression.
- getParameters() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the parameters of this call.
- getParentStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the
Statementthat 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
Programwhere 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
Programwhere 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
ProgramValidationLogicthat validates the structure of a program, identifying erroneous situations (e.g., code members with the same signature) that can crash the analysis. - getProperties() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Yields the set collection of textual properties defined for this representation.
- getProperties() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Yields the additional properties to use as metadata.
- getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
-
Yields the qualifier represented by this symbol.
- getQualifier() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
-
Yields the qualifier represented by this symbol.
- getQualifier() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the optional qualifier of the target of the call.
- getReceiver() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Yields the expression that determines the receiver of the global access defined by this expression.
- getReferencedLocation() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
-
Yields the heap location pointed by this pointer.
- getResolvedVersion(UnresolvedCall) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the resolved version of the given call, according to the
CallGraphthat has been built during the analysis. - getResultOf(CFG) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the analysis results stored in this tool for the given
CFG. - getReturnType() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the return type of the CFG associated with this descriptor.
- getRight() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the right-most (second) sub-expression of this expression.
- getRight() - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Yields the right-most (third) sub-expression of this expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the right-hand side operand of this expression.
- getRight() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the right-hand side operand of this expression.
- getRootStatement() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the outer-most
Statementcontaining this expression, that is used as a node in the cfg. - getRuntimeTypes() - Method in interface it.unive.lisa.analysis.nonrelational.value.NonRelationalTypeDomain
-
Yields the set containing the types held by this instance.
- getRuntimeTypes(TypeSystem) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the runtime types of this expression.
- getScope() - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
-
Returns the scope of the identifier.
- getScopeEnd() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the statement where this variable is last visible.
- getScoper() - Method in class it.unive.lisa.analysis.ScopeToken
-
Yields the element that this scope refers to.
- getScopeStart() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the statement where this variable is first visible.
- getSeen() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
-
Yields the elements visited (and this no longer able to be added to this working set) by this object.
- getSignature() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the signature of this cfg, composed by its
CodeMemberDescriptor.getFullName()followed by its parameters types. - getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the signature of this cfg, composed by its
CodeMemberDescriptor.getFullName()followed by its parameters (types and names). - getSource() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getSource() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getSource() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the call that this call originated from, if any.
- getSource() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge originates.
- getSourceFile() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the source file name where this code element happens.
- getSourceId() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Yields the id of the source
SerializableNode. - getSources() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that this replacement originates from, that is, the ones whose value will be assigned to the targets.
- getState() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the
AbstractStateembedded 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
InferredValuerepresenting the execution state. - getState(K) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the state associated to the given key.
- getStatement() - Method in class it.unive.lisa.checks.warnings.StatementWarning
-
Yields the statement where this warning was reported on.
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the
Statementthat precedes the given one, assuming thatotheris contained into this expression. - getStatementEvaluatedBefore(Statement) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- getStaticType() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the static type of this parameter.
- getStaticType() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Yields the static type of this expression.
- getStaticType() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the static type of this variable.
- getStaticType() - Method in class it.unive.lisa.program.Global
-
Yields the static type of this global.
- getStaticType() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the static type of this expression.
- getStringType() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the
StringTypeof this type system. - getSubExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Yields the only sub-expression of this unary expression.
- getSubExpressions() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Yields the sub-expressions of this expression, to be evaluated left-to-right.
- getSubNodes() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the id of the nodes that are subnodes of this one, in the order they appear.
- getSubstitution() - Method in interface it.unive.lisa.analysis.heap.HeapSemanticOperation
-
Yields the substitution, in the form of a list of
HeapSemanticOperation.HeapReplacements that must be processed in their order of appearance, that the creation of this heap domain caused. - getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- getSuperclasses() - Method in class it.unive.lisa.program.ClassUnit
-
Yields the list of
ClassUnits that this class inherits from. - getTag() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- getTag() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the tag of this warning.
- getTaggedMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning, preceeded by the tag under square brackets.
- getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
-
Yields the
Globaltargeted by this expression. - getTarget() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
-
Yields the instance
Globaltargeted by this expression. - getTargetedCFGs() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
-
Yields the CFGs that are targeted by this CFG call.
- getTargetedConstructs() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Yields the
NativeCFGs that are targeted by this native call. - getTargetName() - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields the name of the target of the call.
- getTargets() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that are targeted by this replacement, that is, the ones that will be assigned.
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- getTargets() - Method in interface it.unive.lisa.program.cfg.statement.call.ResolvedCall
-
Yields the targets of the
Call. - getTargets() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- getText() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Yields the text of this node.
- getTitle() - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Yields the title of the graph.
- getTraversalStrategy() - Method in class it.unive.lisa.program.language.LanguageFeatures
-
Yields the
HierarcyTraversalStrategythat 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
Typeinstance with the given name. - getTypes() - Method in class it.unive.lisa.program.Program
-
Yields the type system knowing about the types that appear in the program.
- getTypes() - Method in class it.unive.lisa.type.TypeSystem
-
Yields the collection of
Types that have been registered in this type system. - getTypes() - Method in class it.unive.lisa.type.TypeTokenType
-
Yields the
Types represented by this type token. - getTypeState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
ValueDomainandTypeDomainthat contains the information on runtime types of program variables and concretized memory locations. - getTypeState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getUnit() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
-
Yields the unit containing the global where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.checks.warnings.UnitWarning
-
Yields the unit where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the
Unitcontaining the cfg associated to this descriptor. - getUnit() - Method in interface it.unive.lisa.type.UnitType
-
Yields the
CompilationUnitthat induces this type. - getUnit(String) - Method in class it.unive.lisa.program.Program
-
Yields the
ClassUnitdefined in this unit having the given name (Unit.getName()), if any. - getUnits() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
ClassUnits defined in this program. - getValue() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Yields the textual representation of the value.
- getValue() - Method in class it.unive.lisa.program.annotations.AnnotationMember
-
Yields the annotation value of this annotation member.
- getValue() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
-
Yields the value of this literal.
- getValue() - Method in class it.unive.lisa.symbolic.value.Constant
-
Yields the constant value.
- getValueOnStack() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Yields the computed value of the last
SymbolicExpressionhandled by this domain, either throughEnvironment.assign(Identifier, SymbolicExpression, ProgramPoint)orValueEnvironment.smallStepSemantics(ValueExpression, ProgramPoint). - getValues() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the values of this functional lattice.
- getValueState() - Method in interface it.unive.lisa.analysis.AbstractState
-
Yields the instance of
ValueDomainthat contains the information on values of program variables and concretized memory locations. - getValueState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getVariable() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields a
Variablerepresenting the referenced variable. - getVariables() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the list of
VariableTableEntrys that have been added to this descriptor. - getWarnings() - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Returns an unmodifiable view of the warnings that have been generated up to now using this tool.
- getWarnings() - Method in class it.unive.lisa.outputs.json.JsonReport
-
Yields the collection of
JsonReport.JsonWarnings contained into this report. - glb(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs the greatest lower bound operation between this satisfiability and the given one.
- glb(M) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Performs the greatest lower bound between this environment and
other. - glb(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Performs the greatest lower bound between this inverse set lattice element and the given one.
- glb(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Performs the greatest lower bound between this set lattice element and the given one.
- glb(T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- glb(T) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Performs the greatest lower bound operation between this domain element and
other. - glb(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- glb(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Performs the greatest lower bound operation between this inferred value and
other, assuming that base cases have already been handled. - glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Performs the greatest lower bound operation between this domain element and
other, assuming that base cases have already been handled. - glbAux(T) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Performs the greatest lower bound operation between this domain element and
other, assuming that base cases have already been handled. - glbAux(T, Map<Identifier, T>, HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- glbAux(T, Map<Identifier, T>, InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- glbAux(T, Map<Identifier, T>, TypeEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- glbAux(T, Map<Identifier, T>, ValueEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- glbAux(T, Map<Identifier, T>, M) - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Auxiliary glb operation, invoked after the result has been computed to create the concrete instance of environment.
- glbKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the intersection of the keys between
k1andk2. - Global - Class in it.unive.lisa.program
-
A global variable, scoped by its container.
- Global(CodeLocation, Unit, String, boolean) - Constructor for class it.unive.lisa.program.Global
-
Builds an untyped global variable, identified by its name.
- Global(CodeLocation, Unit, String, boolean, Type) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- Global(CodeLocation, Unit, String, boolean, Type, Annotations) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- GlobalWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Globals under analysis.
- GlobalWarning(Unit, Global, String) - Constructor for class it.unive.lisa.checks.warnings.GlobalWarning
-
Builds the warning.
- graph - Variable in class it.unive.lisa.outputs.GraphStreamWrapper
-
The wrapped graph.
- Graph<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
Interface of a generic graph structure.
- GraphmlGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped into compound GraphML format.
- GraphmlGraph(String) - Constructor for class it.unive.lisa.outputs.GraphmlGraph
-
Builds a graph.
- GraphStreamWrapper - Class in it.unive.lisa.outputs
-
A graph instance that decorates a graphstream
Graph, offering custom/improved dumping. - GraphStreamWrapper() - Constructor for class it.unive.lisa.outputs.GraphStreamWrapper
-
Builds the wrapper.
- GraphVisitor<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>,V> - Interface in it.unive.lisa.util.datastructures.graph
-
A visitor of a
Graph. - GreaterOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the greater or equal operation (
>=). - GreaterOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterOrEqual
-
Builds the greater or equal.
- GreaterThan - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the greater than operation (
>). - GreaterThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.GreaterThan
-
Builds the greater than.
H
- hashCode() - Method in class it.unive.lisa.analysis.AnalysisState
- hashCode() - Method in class it.unive.lisa.analysis.BaseLattice
- hashCode() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- hashCode() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- hashCode() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- hashCode() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- hashCode() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- hashCode() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- hashCode() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.ScopeToken
- hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- hashCode() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- hashCode() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- hashCode() - Method in class it.unive.lisa.checks.warnings.Warning
- hashCode() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- hashCode() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport
- hashCode() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- hashCode() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotation
- hashCode() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotations
- hashCode() - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- hashCode() - Method in class it.unive.lisa.program.cfg.edge.Edge
- hashCode() - Method in class it.unive.lisa.program.cfg.Parameter
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.Call
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Expression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Ret
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Statement
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- hashCode() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- hashCode() - Method in class it.unive.lisa.program.Global
- hashCode() - Method in class it.unive.lisa.program.SourceCodeLocation
- hashCode() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- hashCode() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- hashCode() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.Constant
- hashCode() - Method in class it.unive.lisa.symbolic.value.HeapLocation
- hashCode() - Method in class it.unive.lisa.symbolic.value.Identifier
- hashCode() - Method in class it.unive.lisa.symbolic.value.NullConstant
- hashCode() - Method in class it.unive.lisa.symbolic.value.PushAny
- hashCode() - Method in class it.unive.lisa.symbolic.value.Skip
- hashCode() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- hashCode() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- hashCode() - Method in class it.unive.lisa.type.common.BoolType
- hashCode() - Method in class it.unive.lisa.type.common.Float32Type
- hashCode() - Method in class it.unive.lisa.type.common.Float64Type
- hashCode() - Method in class it.unive.lisa.type.common.Int16Type
- hashCode() - Method in class it.unive.lisa.type.common.Int32Type
- hashCode() - Method in class it.unive.lisa.type.common.Int64Type
- hashCode() - Method in class it.unive.lisa.type.common.Int8Type
- hashCode() - Method in class it.unive.lisa.type.common.StringType
- hashCode() - Method in class it.unive.lisa.type.common.UInt16Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt32Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt64Type
- hashCode() - Method in class it.unive.lisa.type.common.UInt8Type
- hashCode() - Method in class it.unive.lisa.type.NullType
- hashCode() - Method in class it.unive.lisa.type.ReferenceType
- hashCode() - Method in class it.unive.lisa.type.TypeTokenType
- hashCode() - Method in class it.unive.lisa.type.Untyped
- hashCode() - Method in class it.unive.lisa.type.VoidType
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.IterableArray
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- hashCode() - Method in class it.unive.lisa.util.numeric.IntInterval
- hashCode() - Method in class it.unive.lisa.util.numeric.MathNumber
- hasRuntimeTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields
trueif this expression's runtime types have been set (even to the empty set). - HEAP_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
HeapDomaininside theDomainRepresentationreturned bySemanticDomain.representation(). - HeapAllocation - Class in it.unive.lisa.symbolic.heap
-
An allocation of a memory location.
- HeapAllocation(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapAllocation
-
Builds the heap allocation.
- HeapDereference - Class in it.unive.lisa.symbolic.heap
-
A heap dereference expression.
- HeapDereference(Type, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.symbolic.heap.HeapDereference
-
Builds the heap dereference.
- HeapDomain<D extends HeapDomain<D>> - Interface in it.unive.lisa.analysis.heap
-
A semantic domain that can evaluate the semantic of statements that operate on heap locations, and not on concrete values.
- HeapEnvironment<T extends NonRelationalHeapDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.heap
-
An environment for a
NonRelationalHeapDomain, that mapsIdentifiers 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
CompilationUnitto search for implementations of call targets or global implementations. - highIsPlusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif the upper bound of this interval is set to plus infinity. - HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours.
- HtmlGraph - Class in it.unive.lisa.outputs
-
A graph that can be dumped as an html page using javascript to visualize the graphs.
- HtmlGraph(GraphmlGraph, boolean, SortedMap<Integer, Pair<String, SerializableNodeDescription>>, String, String) - Constructor for class it.unive.lisa.outputs.HtmlGraph
-
Builds the graph.
I
- Identifier - Class in it.unive.lisa.symbolic.value
-
An identifier of a program variable, representing either a program variable (as an instance of
Variable), or a resolved memory location (as an instance ofHeapLocation). - Identifier(Type, String, boolean, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- Identifier(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- IfThenElse - Class in it.unive.lisa.program.cfg.controlFlow
-
A
ControlFlowStructurerepresenting 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
trueif this interval includes the given one. - indexOf(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- IndexOf - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string indexOf operation.
- IndexOf(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.IndexOf
-
Builds the indexOf.
- indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- InferenceSystem<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
An inference system that model standard derivation systems (e.g., types systems, small step semantics, big step semantics, ...).
- InferenceSystem(InferenceSystem<T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an inference system identical to the given one, except for the execution state that will be set to the given one.
- InferenceSystem(T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an empty inference system.
- InferenceSystem(T, Map<Identifier, T>, InferredValue.InferredPair<T>) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an environment containing the given mapping.
- InferredPair(T, T, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Builds the pair.
- InferredValue<T extends InferredValue<T>> - Interface in it.unive.lisa.analysis.nonrelational.inference
-
A
NonRelationalElementthat can be inferred byInferenceSystems. - InferredValue.InferredPair<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
A pair of instances of
InferredValue, representing the result of an evaluation in the form of<inferred value, new execution state>. - INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-Inf, +Inf]. - INHERIT_FROM_SEALED - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for inheritance from a sealed
CompilationUnit. - init(Application) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- init(Application) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Initializes the call graph of the given program.
- init(Application, CallGraph, OpenCallPolicy) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Initializes the interprocedural analysis of the given program.
- InMemoryType - Interface in it.unive.lisa.type
-
A type that can only live in-memory, without being used for local variables.
- INSTANCE - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Only instance code members are targeted by the call.
- INSTANCE - Static variable in class it.unive.lisa.interprocedural.ReturnTopPolicy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.interprocedural.WorstCasePolicy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.program.SyntheticLocation
-
Singleton instance of the synthetic location.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.value.operator.binary.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.common.BoolType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Float32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Float64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int16Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.Int8Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.StringType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt16Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt32Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt64Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.common.UInt8Type
-
The unique singleton instance of this type.
- INSTANCE - Static variable in class it.unive.lisa.type.NullType
-
Unique instance of
NullType. - INSTANCE - Static variable in class it.unive.lisa.type.Untyped
-
Unique instance of Untyped type.
- INSTANCE - Static variable in class it.unive.lisa.type.VoidType
-
Unique instance of
VoidType. - instances - Variable in class it.unive.lisa.program.CompilationUnit
-
The lazily computed collection of instances of this unit, that is, the collection of compilation units that directly or indirectly inherit from this unit.
- Int16Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 16-bit signed
Literalrepresenting a constant integral value. - Int16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int16Literal
-
Builds the literal.
- Int16Type - Class in it.unive.lisa.type.common
-
A signed 16-bit integral
NumericType. - Int16Type() - Constructor for class it.unive.lisa.type.common.Int16Type
-
Builds the type.
- Int32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit signed
Literalrepresenting a constant integral value. - Int32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int32Literal
-
Builds the literal.
- Int32Type - Class in it.unive.lisa.type.common
-
A signed 32-bit integral
NumericType. - Int32Type() - Constructor for class it.unive.lisa.type.common.Int32Type
-
Builds the type.
- Int64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit signed
Literalrepresenting a constant integral value. - Int64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int64Literal
-
Builds the literal.
- Int64Type - Class in it.unive.lisa.type.common
-
A signed 64-bit integral
NumericType. - Int64Type() - Constructor for class it.unive.lisa.type.common.Int64Type
-
Builds the type.
- Int8Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
An 8-bit signed
Literalrepresenting a constant integral value. - Int8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Int8Literal
-
Builds the literal.
- Int8Type - Class in it.unive.lisa.type.common
-
A signed 8-bit integral
NumericType. - Int8Type() - Constructor for class it.unive.lisa.type.common.Int8Type
-
Builds the type.
- IntAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An integer annotation value.
- IntAnnotationValue(int) - Constructor for class it.unive.lisa.program.annotations.values.IntAnnotationValue
-
Builds an integer annotation value.
- INTERFACE_WITH_GLOBALS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
Globals insideInterfaceUnits. - InterfaceUnit - Class in it.unive.lisa.program
-
A interface unit of the program to analyze.
- InterfaceUnit(CodeLocation, Program, String, boolean) - Constructor for class it.unive.lisa.program.InterfaceUnit
-
Builds an interface unit, defined at the given location.
- InterproceduralAnalysis<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.interprocedural
-
The definition of interprocedural analyses.
- InterproceduralAnalysisException - Exception in it.unive.lisa.interprocedural
-
An exception that occurred while performing an interprocedural analysis.
- InterproceduralAnalysisException() - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(String) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(String, Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- InterproceduralAnalysisException(Throwable) - Constructor for exception it.unive.lisa.interprocedural.InterproceduralAnalysisException
-
Builds the exception.
- intersection(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- intersection(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the intersection of this set and another.
- intersects(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- intersects(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Determines if this set has at least an element in common with another if they share the same cache.
- intersects(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif this interval intersects with the given one. - IntInterval - Class in it.unive.lisa.util.numeric
-
An interval with integer bounds.
- IntInterval(int, int) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- IntInterval(MathNumber, MathNumber) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- IntInterval(Integer, Integer) - Constructor for class it.unive.lisa.util.numeric.IntInterval
-
Builds a new interval.
- INVALID_CFSTRUCTURE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for invalid
ControlFlowStructures. - INVALID_NODE_LIST - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for invalid
NodeLists. - InverseSetLattice<S extends InverseSetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic inverse set lattice containing a set of elements.
- InverseSetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Builds the lattice.
- is(int) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif this is a singleton interval containing onlyn. - is(int) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
trueif this number is number represents exactly the given integer. - is16Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is16Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is16Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is16Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is16Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type follows a 16-bits format representation. - is32Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is32Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is32Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is32Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is32Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type follows a 32-bits format representation. - is64Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is64Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is64Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is64Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is64Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type follows a 64-bits format representation. - is8Bits() - Method in class it.unive.lisa.type.common.Float32Type
- is8Bits() - Method in class it.unive.lisa.type.common.Float64Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int16Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int32Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int64Type
- is8Bits() - Method in class it.unive.lisa.type.common.Int8Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt16Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt32Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt64Type
- is8Bits() - Method in class it.unive.lisa.type.common.UInt8Type
- is8Bits() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type follows a 8-bits format representation. - isArrayType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofArrayType. - isBooleanType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofBooleanType. - isBottom() - Method in class it.unive.lisa.analysis.AnalysisState
- isBottom() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- isBottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isBottom() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
trueif and only if this object represents the bottom of the lattice. - isBottom() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields
trueif 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.analysis.nonrelational.value.TypeEnvironment
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isEmpty() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Returns
trueif this set contains no elements. - isEmpty() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Returns
trueif this set contains no elements. - isEmpty() - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields
trueif and only if the set of annotations represented by this instance is empty. - isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- isEmpty() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- isEmpty() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- isEmpty() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields
trueif and only if this working set is empty. - isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- isEqualTo(G) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- isEqualTo(G) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Checks if this graph is effectively equal to the given one, that is, if they have the same structure while potentially being different instances.
- isFinite() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif 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
trueif this number is finite (i.e. - isGuarded(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields
trueif and only if the given program point is inside the body of aControlFlowStructure, regardless of its type.
Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause aControlFlowExtractorto try to extract them. - isInfinite() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif 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
trueif this number is infinite (i.e. - isInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif this is the interval representing infinity, that is,[-Inf, +Inf]. - isInherited() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields
trueif this annotation can be inherited,falseotherwise. - isInMemoryType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofInMemoryType. - isInsideIfThenElse(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields
trueif and only if the given program point is inside one of the branches of anIfThenElse.
Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause aControlFlowExtractorto try to extract them. - isInsideLoop(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields
trueif and only if the given program point is inside the body of aLoop.
Note that if no control flow structures have been provided by frontends, and no attempt at extracting them has been made yet, invoking this method will cause aControlFlowExtractorto try to extract them. - isInstance() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields
trueif and only if the cfg associated to this descriptor is an instance cfg. - isInstance() - Method in class it.unive.lisa.program.Global
-
Yields
trueif 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
trueif and only if this unit is an instance of the given one. - isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.InterfaceUnit
- isIntegral() - Method in class it.unive.lisa.type.common.Float32Type
- isIntegral() - Method in class it.unive.lisa.type.common.Float64Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int16Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int32Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int64Type
- isIntegral() - Method in class it.unive.lisa.type.common.Int8Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt16Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt32Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt64Type
- isIntegral() - Method in class it.unive.lisa.type.common.UInt8Type
- isIntegral() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type is integral, representing one of the numbers in the mathematical set Z. - isLogging() - Method in class it.unive.lisa.logging.Counter
-
Yields
trueif this counter is currently logging updates. - isMinusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
trueif this number is minus infinity. - isNaN() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
trueif 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
trueif this number is negative. - isNullType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofNullType. - isNumericType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofNumericType. - isOverridable() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields
trueif and only if the cfg associated to this descriptor is can be overridden by cfgs inUnits that inherit for the cfg's unit. - isPlusInfinity() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
trueif this number is plus infinity. - isPointerType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofPointerType. - isPositiveOrZero() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields
trueif this number is positive or equal to zero. - isReferenceType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofReferenceType. - isSealed() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields whether or not this unit is sealed, meaning that it cannot be used as super unit of other compilation units.
- isSigned() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type is signed. - isSingleton() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif this is a singleton interval, that is, if the lower bound and the upper bound are the same. - isStringType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofStringType. - isTop - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
- isTop - Variable in class it.unive.lisa.analysis.lattices.SetLattice
-
Whether or not this is the top or bottom element of the lattice, valid only if the set of elements is empty.
- isTop() - Method in class it.unive.lisa.analysis.AnalysisState
- isTop() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- isTop() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isTop() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
trueif and only if this object represents the top of the lattice. - isTop() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields
trueif 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.analysis.nonrelational.value.TypeEnvironment
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isTypeTokenType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofTypeTokenType. - isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- isUnconditional() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- isUnconditional() - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
-
Yields
trueif and only if this edge represent unconditional execution flow between its bounds. - isUnitType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofUnitType. - isUnsigned() - Method in class it.unive.lisa.type.common.Float32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Float64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int16Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.Int8Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt16Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt32Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt64Type
- isUnsigned() - Method in class it.unive.lisa.type.common.UInt8Type
- isUnsigned() - Method in interface it.unive.lisa.type.NumericType
-
Returns
trueif this numeric type is unsigned. - isUntyped() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofUntyped. - isVoidType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofVoidType. - isWeak() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields whether or not this identifier is weak.
- it.unive.lisa - package it.unive.lisa
- it.unive.lisa.analysis - package it.unive.lisa.analysis
- it.unive.lisa.analysis.dataflow - package it.unive.lisa.analysis.dataflow
- it.unive.lisa.analysis.heap - package it.unive.lisa.analysis.heap
- it.unive.lisa.analysis.lattices - package it.unive.lisa.analysis.lattices
- it.unive.lisa.analysis.nonrelational - package it.unive.lisa.analysis.nonrelational
- it.unive.lisa.analysis.nonrelational.heap - package it.unive.lisa.analysis.nonrelational.heap
- it.unive.lisa.analysis.nonrelational.inference - package it.unive.lisa.analysis.nonrelational.inference
- it.unive.lisa.analysis.nonrelational.value - package it.unive.lisa.analysis.nonrelational.value
- it.unive.lisa.analysis.representation - package it.unive.lisa.analysis.representation
- it.unive.lisa.analysis.symbols - package it.unive.lisa.analysis.symbols
- it.unive.lisa.analysis.value - package it.unive.lisa.analysis.value
- it.unive.lisa.checks - package it.unive.lisa.checks
- it.unive.lisa.checks.semantic - package it.unive.lisa.checks.semantic
- it.unive.lisa.checks.syntactic - package it.unive.lisa.checks.syntactic
- it.unive.lisa.checks.warnings - package it.unive.lisa.checks.warnings
- it.unive.lisa.interprocedural - package it.unive.lisa.interprocedural
- it.unive.lisa.interprocedural.callgraph - package it.unive.lisa.interprocedural.callgraph
- it.unive.lisa.logging - package it.unive.lisa.logging
- it.unive.lisa.outputs - package it.unive.lisa.outputs
- it.unive.lisa.outputs.compare - package it.unive.lisa.outputs.compare
- it.unive.lisa.outputs.json - package it.unive.lisa.outputs.json
- it.unive.lisa.outputs.serializableGraph - package it.unive.lisa.outputs.serializableGraph
- it.unive.lisa.program - package it.unive.lisa.program
- it.unive.lisa.program.annotations - package it.unive.lisa.program.annotations
- it.unive.lisa.program.annotations.matcher - package it.unive.lisa.program.annotations.matcher
- it.unive.lisa.program.annotations.values - package it.unive.lisa.program.annotations.values
- it.unive.lisa.program.cfg - package it.unive.lisa.program.cfg
- it.unive.lisa.program.cfg.controlFlow - package it.unive.lisa.program.cfg.controlFlow
- it.unive.lisa.program.cfg.edge - package it.unive.lisa.program.cfg.edge
- it.unive.lisa.program.cfg.statement - package it.unive.lisa.program.cfg.statement
- it.unive.lisa.program.cfg.statement.call - package it.unive.lisa.program.cfg.statement.call
- it.unive.lisa.program.cfg.statement.comparison - package it.unive.lisa.program.cfg.statement.comparison
- it.unive.lisa.program.cfg.statement.evaluation - package it.unive.lisa.program.cfg.statement.evaluation
- it.unive.lisa.program.cfg.statement.global - package it.unive.lisa.program.cfg.statement.global
- it.unive.lisa.program.cfg.statement.literal - package it.unive.lisa.program.cfg.statement.literal
- it.unive.lisa.program.cfg.statement.logic - package it.unive.lisa.program.cfg.statement.logic
- it.unive.lisa.program.cfg.statement.numeric - package it.unive.lisa.program.cfg.statement.numeric
- it.unive.lisa.program.cfg.statement.string - package it.unive.lisa.program.cfg.statement.string
- it.unive.lisa.program.language - package it.unive.lisa.program.language
- it.unive.lisa.program.language.hierarchytraversal - package it.unive.lisa.program.language.hierarchytraversal
- it.unive.lisa.program.language.parameterassignment - package it.unive.lisa.program.language.parameterassignment
- it.unive.lisa.program.language.resolution - package it.unive.lisa.program.language.resolution
- it.unive.lisa.program.language.validation - package it.unive.lisa.program.language.validation
- it.unive.lisa.symbolic - package it.unive.lisa.symbolic
- it.unive.lisa.symbolic.heap - package it.unive.lisa.symbolic.heap
- it.unive.lisa.symbolic.value - package it.unive.lisa.symbolic.value
- it.unive.lisa.symbolic.value.operator - package it.unive.lisa.symbolic.value.operator
- it.unive.lisa.symbolic.value.operator.binary - package it.unive.lisa.symbolic.value.operator.binary
- it.unive.lisa.symbolic.value.operator.ternary - package it.unive.lisa.symbolic.value.operator.ternary
- it.unive.lisa.symbolic.value.operator.unary - package it.unive.lisa.symbolic.value.operator.unary
- it.unive.lisa.type - package it.unive.lisa.type
- it.unive.lisa.type.common - package it.unive.lisa.type.common
- it.unive.lisa.util.collections - package it.unive.lisa.util.collections
- it.unive.lisa.util.collections.externalSet - package it.unive.lisa.util.collections.externalSet
- it.unive.lisa.util.collections.workset - package it.unive.lisa.util.collections.workset
- it.unive.lisa.util.datastructures.graph - package it.unive.lisa.util.datastructures.graph
- it.unive.lisa.util.datastructures.graph.algorithms - package it.unive.lisa.util.datastructures.graph.algorithms
- it.unive.lisa.util.datastructures.graph.code - package it.unive.lisa.util.datastructures.graph.code
- it.unive.lisa.util.file - package it.unive.lisa.util.file
- it.unive.lisa.util.numeric - package it.unive.lisa.util.numeric
- IterableArray<E> - Class in it.unive.lisa.util.collections
-
An iterable over an array of elements.
- IterableArray(E[]) - Constructor for class it.unive.lisa.util.collections.IterableArray
-
Builds the iterable.
- iterate(Logger, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
Iterableinstance that automatically logs at levelLevel.INFOwhile traversing the array. - iterate(Logger, Iterable<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given iterable into an
Iterableinstance that automatically logs at levelLevel.INFOwhile traversing the array. - iterate(Logger, Collection<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given collection into an
Iterableinstance that automatically logs at levelLevel.INFOwhile traversing the collection. - iterate(Logger, Stream<E>, String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given stream into an
Iterableinstance that automatically logs at levelLevel.INFOwhile 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
Iterableinstance 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
Iterableinstance 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
Iterableinstance 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
Iterableinstance that automatically logs while traversing a collection created from the stream. - IterationLogger - Class in it.unive.lisa.logging
-
An utility class that allows automatic logging while iterating over elements of a collection, stream or array.
- iterator() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- iterator() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- iterator() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- iterator() - Method in class it.unive.lisa.program.annotations.Annotations
- iterator() - Method in class it.unive.lisa.util.collections.CastIterable
- iterator() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.IterableArray
- iterator() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- iterator() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
J
- JavaLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the first parameter is tested using
RuntimeTypesMatchingStrategyif it represents the receiver of an instance call, otherwise it is tested withStaticTypesMatchingStrategy. - join(C, C, C, BiPredicate<T, T>, BinaryOperator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Joins (union) two collections, using a custom equality test to determine if two elements are to be considered equals and thus joined together through the given
joiner. - join(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Joins two
CFGWithAnalysisResultstogether. - join(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, joins the states (i.e.
- JsonReport - Class in it.unive.lisa.outputs.json
-
A report of an executed analysis that can be dumped in json format, and that can be read from a json file.
- JsonReport() - Constructor for class it.unive.lisa.outputs.json.JsonReport
-
Builds an empty report.
- JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.json.JsonReport
-
Builds the report, containing the given warnings and files.
- JsonReport.JsonWarning - Class in it.unive.lisa.outputs.json
-
A warning that is ready to dump into a
JsonReport. - JsonReportComparer - Class in it.unive.lisa.outputs.compare
-
A class providing capabilities for finding differences between two
JsonReports. - JsonReportComparer() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer
- JsonReportComparer.DiffReporter - Interface in it.unive.lisa.outputs.compare
-
An object that provides callbacks for reporting differences when comparing
JsonReports. - JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different type of reports that can be issued.
- JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different components of a
JsonReport, in order to distinguish which one of them caused a difference being reported. - JsonWarning() - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Builds an empty warning with no message.
- JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Builds the warning, cloning the information from the given
Warning.
K
- keyLift(Set<K>, Set<K>) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.KeyFunctionalLift
-
Yields the lift of
firstandsecondkey 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
expressionto the givenid. - kill(ValueExpression, ProgramPoint, D) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
The dataflow kill operation, yielding the dataflow elements that are killed by evaluating the given non-assigning
expression.
L
- LABEL - Static variable in class it.unive.lisa.outputs.DotGraph
-
The label attribute name.
- LanguageFeatures - Class in it.unive.lisa.program.language
-
Logical grouping of all language-specific features, such as strategies for matching call parameters or traversing type hierarchies.
- LanguageFeatures() - Constructor for class it.unive.lisa.program.language.LanguageFeatures
- last(int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Yields the index of the last sub-expression that has to be evaluated.
- last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- last(int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- lattice - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
The underlying lattice.
- Lattice<L extends Lattice<L>> - Interface in it.unive.lisa.analysis
-
An interface for elements that follow a lattice structure.
- LeftToRightEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
-
A left-to-right
EvaluationOrder, evaluating expressions in the given order. - Length - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string length operation.
- Length(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Length
-
Builds the length.
- lessOrEqual(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- lessOrEqual(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lessOrEqual(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Yields
trueif and only if this lattice element is in relation with (usually represented through ≤) the given one. - LessOrEqual - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the less or equal operation (
<=). - LessOrEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessOrEqual
-
Builds the less or equal.
- lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lessOrEqualAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- lessOrEqualAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- lessOrEqualAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- lessOrEqualAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- lessOrEqualAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- lessOrEqualAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- lessOrEqualAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lessOrEqualAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Yields
trueif and only if this lattice element is in relation with (usually represented through ≤) the given one, assuming that base cases have already been handled. - lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- lessOrEqualAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- LessThan - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the less than operation (
<). - LessThan(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.LessThan
-
Builds the less than.
- LIFOWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A last-in, first-out working set.
- lift(V, V) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.FunctionalLift
-
Yields the lift of
firstandsecondlattice element. - list - Variable in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
The node list of this graph.
- ListRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentationin the form of a list of values. - ListRepresentation(DomainRepresentation...) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation containing the given elements.
- ListRepresentation(List<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation starting from the given list.
- ListRepresentation(List<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ListRepresentation
-
Builds a new representation containing the given list.
- Literal<E> - Class in it.unive.lisa.program.cfg.statement.literal
-
A literal, representing a constant value.
- Literal(CFG, CodeLocation, E, Type) - Constructor for class it.unive.lisa.program.cfg.statement.literal.Literal
-
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
- LogicalAnd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to Boolean values, a
BinaryExpressionusing 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
UnaryExpressionusing this operator computes the logical negation of the expression: if it evaluates totrue, it is transformed tofalse, and vice versa.
Argument expression type:BooleanType
Computed expression type:BooleanType - LogicalNegation() - Constructor for class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
-
Builds the operator.
- LogicalOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperatorandLogicalOperator, providing aLogicalOperation.typeInference(TypeSystem, Set, Set)implementation that returns an empty set if noBooleanTypecan be found in one of the arguments, and a singleton set containingTypeSystem.getBooleanType()otherwise. - LogicalOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
- LogicalOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A logical operation on operand(s) of type
BooleanType. - LogicalOr - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to Boolean values, a
BinaryExpressionusing 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
ControlFlowStructurerepresenting 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
trueif the lower bound of this interval is set to minus infinity. - lub(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- lub(Identifier) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- lub(Identifier) - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the least upper bounds between two identifiers.
- lub(L) - Method in class it.unive.lisa.analysis.BaseLattice
- lub(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the least upper bound operation between this lattice element and the given one.
- lubAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lubAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- lubAux(DefiniteForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- lubAux(PossibleForwardDataflowDomain<E>) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- lubAux(ExpressionSet<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- lubAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- lubAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- lubAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- lubAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lubAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the least upper bound operation between this lattice element and the given one, assuming that base cases have already been handled.
- lubAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- lubAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- lubKeys(Set<Identifier>, Set<Identifier>) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- lubKeys(Set<K>, Set<K>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the union of the keys between
k1andk2.
M
- map - Variable in class it.unive.lisa.analysis.representation.MapRepresentation
-
The mappings of contained in this map.
- MapRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentationin the form of a key-value mapping. - MapRepresentation(Map<DomainRepresentation, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
-
Builds a new representation containing the given map.
- MapRepresentation(Map<K, V>, Function<K, DomainRepresentation>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.MapRepresentation
-
Builds a new representation starting from the given map.
- markSubNode(SerializableNode, SerializableNode) - Method in class it.unive.lisa.outputs.GraphmlGraph
-
Takes note that
inneris a subnode ofnodeinstead 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
trueif this matcher matches the input annotation,falseotherwise. - 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
trueif and only if the signature of thepos-th parameter of a cfg is matched by the given actual parameter, according to this strategy. - matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.JavaLikeMatchingStrategy
- matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.RuntimeTypesMatchingStrategy
- matches(Call, int, Parameter, Expression, Set<Type>) - Method in class it.unive.lisa.program.language.resolution.StaticTypesMatchingStrategy
- matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in class it.unive.lisa.program.language.resolution.FixedOrderMatchingStrategy
- matches(Call, Parameter[], Expression[], Set<Type>[]) - Method in interface it.unive.lisa.program.language.resolution.ParameterMatchingStrategy
-
Yields
trueif 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
BigDecimalto represent the mathematical concept of a number, that can be also plus or minus infinity, in a convenient way. - MathNumber(double) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- MathNumber(long) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- MathNumber(BigDecimal) - Constructor for class it.unive.lisa.util.numeric.MathNumber
-
Builds a math number representing the given value.
- max(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the maximum number between
thisandother. - MEMBER_MISMATCH - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for a
CodeMembernot matching its own signature. - MemoryPointer - Class in it.unive.lisa.symbolic.value
-
A memory pointer to a heap location.
- MemoryPointer(Type, HeapLocation, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer.
- MemoryPointer(Type, HeapLocation, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer with empty annotations.
- mergeWith(AdjacencyMatrix<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Merges this matrix with the given one, by adding all nodes and all edges contained in
other. - mergeWith(NodeList<G, N, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Merges this list with the given one, by adding all nodes and all edges contained in
other. - MetaVariableCreator - Interface in it.unive.lisa.program.cfg.statement
-
Objects implementing this interface will produce a meta-variable to represent the value that they produce on the stack during the computation of their semantic.
- mightBeFalse() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Yields whether or not this element can represent a
falseresult. - mightBeTrue() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Yields whether or not this element can represent a
trueresult. - 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
thisandother. - MINUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant for minus infinity.
- MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-1, -1]. - MINUS_ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant
-1. - MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes.
- MINUTES_AND_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes and seconds.
- MISSING_OVERRIDE - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for missing override of an
AbstractCodeMember. - mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
-
Yields a new, empty working set.
- mk() - Static method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
-
Yields a new, empty working set.
- mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
-
Utility for creating a concrete instance of
DataflowDomaingiven its core fields. - mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.DefiniteForwardDataflowDomain
- mk(E, Set<E>, boolean, boolean) - Method in class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
- mk(H) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
-
Creates a new instance of this domain containing the same abstract information of reference.
- mk(AnalysisState<A, H, V, T>, Map<Statement, AnalysisState<A, H, V, T>>) - Method in class it.unive.lisa.analysis.StatementStore
- mk(Aliases, Map<Symbol, Aliases>) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- mk(WorkingSet<E>) - Static method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
-
Yields a new, empty working set.
- mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Utility for creating a concrete instance of
InverseSetLatticegiven a set. - mk(Set<E>) - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Utility for creating a concrete instance of
SetLatticegiven a set. - mk(Set<Symbol>) - Method in class it.unive.lisa.analysis.symbols.Aliases
- mk(Set<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- mk(T, Map<Identifier, T>) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- mk(V, Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Builds a instance of this class from the given lattice instance and the given mapping.
- mkDotFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
dotextension. - mkEmptySet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an empty
ExternalSetthat uses this cache. - mkGraphmlFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name, appending the
graphmlextension. - 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
htmlextension. - 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
jsonextension. - 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
ExternalSetthat 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
ExternalSetthat uses this cache and contains only the given element. - mkUniversalSet() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Builds an
ExternalSetthat uses this cache and contains all of its elements. - Modulo - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the modulo operation (
%, returning the Euclidean module between the two operands and taking the sign of the divisor). - Modulo(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Modulo
-
Builds the modulo.
- 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
thisandother. - 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
sourcecall, 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
CodeMemberinside the sameCompilationUnit. - Multiplication - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the multiplication operation (
*). - Multiplication(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Multiplication
-
Builds the multiplication.
- MultiplicationOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a multiplication between its operands.
- multiply(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this * other. - multiTransform(Function<T, Collection<T>>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Transforms this set into another set where each element is obtained by transforming elements of this set.
N
- NamedParameterExpression - Class in it.unive.lisa.program.cfg.statement.call
-
An expression that can be used to for by-name parameter passing to
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
Symbolthat represents a name (e.g. - NameSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.NameSymbol
-
Builds the symbol.
- NaN - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
A constant for representing numbers obtained from an operation that does not produce a result (e.g.
- NANOS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as nanoseconds.
- NaryExpression - Class in it.unive.lisa.program.cfg.statement
-
A generic expression with
nsub-expressions. - NaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
-
Builds the expression, happening at the given location in the program.
- NaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
-
Builds the expression, happening at the given location in the program.
- NaryExpression(CFG, CodeLocation, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
-
Builds the expression, happening at the given location in the program.
- NaryExpression(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NaryExpression
-
Builds the expression, happening at the given location in the program.
- NativeCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call to one or more
NativeCFGs under analysis. - NativeCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCall(CFG, CodeLocation, Call.CallType, String, String, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCall(UnresolvedCall, Collection<NativeCFG>) - Constructor for class it.unive.lisa.program.cfg.statement.call.NativeCall
-
Creates a native call as the resolved version of the given
sourcecall, copying all its data. - NativeCFG - Class in it.unive.lisa.program.cfg
-
A native cfg, representing a cfg that is usually provided by the runtime of the programming language.
- NativeCFG(CodeMemberDescriptor, Class<? extends NaryExpression>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
-
Builds the native control flow graph.
- NegatableOperator - Interface in it.unive.lisa.symbolic.value.operator
-
A logical operation on operand(s) of type
BooleanType. - negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Negates the current satisfiability, getting the opposite result.
- Negation - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the numerical negation operation (
-). - Negation(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Negation
-
Builds the numerical negation.
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeEdge
-
Builds a new instance of this edge, connecting the given nodes.
- next(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Assuming that
posis the index of a sub-expression, yields the index of the sub-expression that has to be evaluated after the given one. - next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.LeftToRightEvaluation
- next(int, int) - Method in class it.unive.lisa.program.cfg.statement.evaluation.RightToLeftEvaluation
- NO_FOLLOWERS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for
Statements with no followers. - Node<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
A node of a
Graph. - NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The default shape of a node.
- NodeList<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
-
A list of nodes of a
CodeGraph, together with the edges connecting them. - NodeList(E) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Builds a new list.
- NodeList(E, boolean) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Builds a new list.
- NodeList(NodeList<G, N, E>) - Constructor for class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Copies the given list.
- NodeList.NodeEdges<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph.code
-
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
- nodeName(long) - Static method in class it.unive.lisa.outputs.GraphStreamWrapper
-
Given a code, builds the name of a node that can be added to, removed from or retrieved from the wrapped graph.
- NoEntryPointException - Exception in it.unive.lisa.interprocedural
-
A
FixpointExceptionsignaling that no entry points have been found. - NoEntryPointException() - Constructor for exception it.unive.lisa.interprocedural.NoEntryPointException
-
Builds the exception.
- noneMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
trueiff none of the elements contained in this set satisfy the given predicate. - NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>> - Interface in it.unive.lisa.analysis.nonrelational
-
A
NonRelationalElementthat models the standard concept of non-relational abstract domain, and that is able to compute the value of aSymbolicExpressions of typeEby 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 typeEby 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
SymbolicExpressionby 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
ValueExpressionby 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
ValueExpressionby knowing the values of all program variables. - NoOp - Class in it.unive.lisa.program.cfg.statement
-
A statement that does nothing.
- NoOp(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.NoOp
-
Builds the no-op, happening at the given location in the program.
- NORMAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color of a normal node.
- Not - Class in it.unive.lisa.program.cfg.statement.logic
-
An expression modeling the logical negation (
!ornot). - Not(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.Not
-
Builds the logical negation.
- NOT_SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is not satisfied.
- NotEqual - Class in it.unive.lisa.program.cfg.statement.comparison
-
An expression modeling the inequality test (
!=). - NotEqual(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.comparison.NotEqual
-
Builds the inequality test.
- NullConstant - Class in it.unive.lisa.symbolic.value
-
A
Constantthat represent thenullvalue. - NullConstant(CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.NullConstant
-
Builds a null constant.
- NullLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A literal representing the
nullconstant. - NullLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.NullLiteral
-
Builds the null literal, happening at the given location in the program.
- nullSafeCompare(boolean, T, T, Comparator<T>) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
A
null-safe comparison callback that invokes the given comparator only if the given objects are both non-null. - NullType - Class in it.unive.lisa.type
-
The Null type, that is the type of {#link NullLiteral}.
- NullType() - Constructor for class it.unive.lisa.type.NullType
-
Builds the type.
- Numeric16BitAdd - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to numeric values, a
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryOperatorandComparisonOperator, providing aNumericComparison.typeInference(TypeSystem, Set, Set)implementation that returns an empty set if noNumericTypecan be found in one of the arguments or ifNumericType.commonNumericalType(Set, Set)returns an empty set, and a singleton set containingTypeSystem.getBooleanType()otherwise. - NumericComparison() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
- NumericNegation - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given an expression that evaluates to a numeric value, a
UnaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing this operator computes the arithmetic subtraction of those values. - NumericNonOverflowingSub() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericNonOverflowingSub
-
Builds the operator.
- NumericOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperator, providing aNumericOperation.typeInference(TypeSystem, Set, Set)implementation that returns an empty set if noNumericType, and the result ofNumericType.commonNumericalType(Set, Set)otherwise. - NumericOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
- NumericType - Interface in it.unive.lisa.type
-
Numeric type interface.
O
- ObjectRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentationin the form of a complex object with fields. - ObjectRepresentation(Map<String, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
-
Builds a new representation containing the given map.
- ObjectRepresentation(Map<String, V>, Function<V, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.ObjectRepresentation
-
Builds a new representation starting from the given map.
- of(Class<? extends WorkingSet<E>>) - Static method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields a
WorkingSetinstance by invoking a staticmk()method on the given class. - off() - Method in class it.unive.lisa.logging.Counter
-
Turns off the counter, logging the event.
- offset - Variable in class it.unive.lisa.program.cfg.statement.Statement
-
The offset of the statement within the cfg.
- on() - Method in class it.unive.lisa.logging.Counter
-
Turns on the counter, logging the event.
- ONE - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[1, 1]. - ONE - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant
1. - ONLY_FIRST - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present only in the first report.
- ONLY_SECOND - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present only in the second report.
- OpenCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call to a CFG that is not under analysis.
- OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
-
Builds the open call, happening at the given location in the program.
- OpenCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
-
Builds the open call, happening at the given location in the program.
- OpenCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
-
Builds the open call, happening at the given location in the program.
- OpenCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
-
Builds the open call, happening at the given location in the program.
- OpenCall(UnresolvedCall) - Constructor for class it.unive.lisa.program.cfg.statement.call.OpenCall
-
Creates an open call as the resolved version of the given
sourcecall, copying all its data. - OpenCallPolicy - Interface in it.unive.lisa.interprocedural
-
Policy that determines what happens to the
AnalysisStatewhen anOpenCallis encountered during the fixpoint. - Operator - Interface in it.unive.lisa.symbolic.value
-
An operator that causes a transformation of one or more
SymbolicExpressions. - opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
- opposite() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
- opposite() - Method in interface it.unive.lisa.symbolic.value.operator.NegatableOperator
-
Yields the opposite operator of this operator (e.g.,
ComparisonLetoComparisonGt,ComparisonLttoComparisonGe). - opposite() - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
- or(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical or between this satisfiability and the given one.
- Or - Class in it.unive.lisa.program.cfg.statement.logic
-
An expression modeling the logical disjunction (
||oror). - Or(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.logic.Or
-
Builds the logical disjunction.
- OrderPreservingAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
-
A strategy that passes the parameters in the same order as they are specified.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Concat
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Contains
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.EndsWith
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Equals
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.IndexOf
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Length
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Replace
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.StartsWith
-
Statement that has been rewritten to this operation, if any.
- originating - Variable in class it.unive.lisa.program.cfg.statement.string.Substring
-
Statement that has been rewritten to this operation, if any.
- OutOfScopeIdentifier - Class in it.unive.lisa.symbolic.value
-
An identifier outside the current scope of the call, that is, in a method that is in the call stack but not the last one.
- OutOfScopeIdentifier(Identifier, ScopeToken, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
-
Builds the identifier outside the scope.
- OutputDumpingException - Exception in it.unive.lisa.outputs
-
An exception thrown when creating or dumping one of the outputs of the analysis.
- OutputDumpingException() - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(String) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(String, Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OutputDumpingException(Throwable) - Constructor for exception it.unive.lisa.outputs.OutputDumpingException
-
Builds the exception.
- OverflowingOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that might overflow or underflow.
- overriddenBy() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the collection of
CodeMemberthat override the cfg associated with this descriptor. - overrides() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Yields the collection of
CodeMemberthat the cfg associated with this descriptor overrides.
P
- Parameter - Class in it.unive.lisa.program.cfg
-
A CFG parameter identified by its name and its type, containing the information about the source file, line and column where the parameter is defined.
- Parameter(CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds an untyped parameter reference, identified by its name.
- Parameter(CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- Parameter(CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- Parameter(CodeLocation, String, Type, Expression, Annotations) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds the parameter reference, identified by its name and its type, happening at the given location in the program.
- ParameterAssigningStrategy - Interface in it.unive.lisa.program.language.parameterassignment
-
A strategy for assigning parameters at call sites.
- ParameterMatchingStrategy - Interface in it.unive.lisa.program.language.resolution
-
A strategy for matching call signatures.
- parameterTypes(StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Yields an array containing the runtime types of the parameters of this call, retrieved by accessing the given
StatementStore. - peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- peek() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- peek() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Returns the next element to be processed from this working set without removing it.
- perform(Writer) - Method in interface it.unive.lisa.util.file.FileManager.WriteAction
-
Performs the operation on the given writer.
- PluggableStatement - Interface in it.unive.lisa.program.cfg.statement
- plus(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval addition between
thisandother. - PLUS_INFINITY - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant for plus infinity.
- PointerType - Interface in it.unive.lisa.type
-
Pointer type interface.
- pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- pop() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- pop() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Removes the next element to be processed from this working set and returns it.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.AnalysisState
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Pop a scope to the dataflow element.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
-
Pops the scope identified by the given token from the set.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- popScope(ScopeToken) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Pops the scope identified by the given token from the domain.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.heap.HeapExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Pops the scope identified by the given token from the expression.
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Constant
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.PushAny
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Skip
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- popScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Variable
- PossibleForwardDataflowDomain<E extends DataflowElement<PossibleForwardDataflowDomain<E>,E>> - Class in it.unive.lisa.analysis.dataflow
-
A
DataflowDomainfor forward and possible dataflow analysis. - PossibleForwardDataflowDomain(E) - Constructor for class it.unive.lisa.analysis.dataflow.PossibleForwardDataflowDomain
-
Builds an empty domain.
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this matrix going from such node to the given one.
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- predecessorsOf(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this list going from such node to the given one.
- predecessorsOf(N) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields the collection of the nodes that are predecessors of the given vertex, that is, all nodes such that there exist an edge in this control flow graph going from such node to the given one.
- prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.OrderPreservingAssigningStrategy
- prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.program.language.parameterassignment.ParameterAssigningStrategy
-
Prepares the entryState for the targets of the given
Call, assuming that the state when the call is executed (after the evaluation of the parameters) iscallState, and each parameter to the call is represented by an element ofparameters. - prepare(Call, AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>, Parameter[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.language.parameterassignment.PythonLikeAssigningStrategy
- preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
- preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Callback that is invoked on a node before simplifying it.
- previous(int, int) - Method in interface it.unive.lisa.program.cfg.statement.evaluation.EvaluationOrder
-
Assuming that
posis 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 byBaseValidationLogic.validateAndFinalize(CompilationUnit). - Program - Class in it.unive.lisa.program
-
A program that LiSA can analyze.
- Program(LanguageFeatures, TypeSystem) - Constructor for class it.unive.lisa.program.Program
-
Builds an empty program.
- PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
-
The name of the program.
- ProgramPoint - Interface in it.unive.lisa.program.cfg
-
A program point, representing an instruction that is happening in one of the
CFGunder analysis. - ProgramUnit - Class in it.unive.lisa.program
-
A unit that is part of a LiSA
Program. - ProgramUnit(CodeLocation, Program, String) - Constructor for class it.unive.lisa.program.ProgramUnit
-
Builds a unit, defined at the given location.
- ProgramValidationException - Exception in it.unive.lisa.program
-
A generic
Exceptionthat indicates that something has gone wrong while validating aProgram's structure or when computing unit's hierarchies and cfgs' overridings. - ProgramValidationException() - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(String) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(String, Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationException(Throwable) - Constructor for exception it.unive.lisa.program.ProgramValidationException
-
Builds the exception.
- ProgramValidationLogic - Interface in it.unive.lisa.program.language.validation
-
A logic for validating
Programs. - push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- push(E) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- push(E) - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Pushes a new element into this working set.
- PushAny - Class in it.unive.lisa.symbolic.value
-
An expression converting that push any possible value on the stack.
- PushAny(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.PushAny
-
Builds the push any.
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.AnalysisState
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- pushScope(ScopeToken) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Push a scope to the dataflow element.
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
-
Pushes a new scope, identified by the give token, in the set.
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- pushScope(ScopeToken) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Pushes a new scope, identified by the give token, in the domain.
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.heap.HeapExpression
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Pushes a new scope, identified by the give token, in the expression.
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Constant
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.PushAny
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Skip
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- pushScope(ScopeToken) - Method in class it.unive.lisa.symbolic.value.Variable
- put(Statement, AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.StatementStore
-
Stores the given state for the given statement.
- putState(Symbol, Symbol) - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
-
Registers an alias for the given symbol.
- putState(K, V) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields an instance of this class equal to the receiver of the call, but with
keymapped tostate. - PythonLikeAssigningStrategy - Class in it.unive.lisa.program.language.parameterassignment
-
A Python-like assigning strategy.
- PythonLikeMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A Python-like matching strategy.
- PythonLikeMatchingStrategy(FixedOrderMatchingStrategy) - Constructor for class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
-
Builds the strategy.
- pythonLogic(Parameter[], Expression[], T[], Set<Type>[], T[], Set<Type>[], T[], Set<Type>[], F) - Static method in class it.unive.lisa.program.language.resolution.PythonLikeMatchingStrategy
-
Python logic for preparing an argument list for a method call.
Q
- QualifiedNameSymbol - Class in it.unive.lisa.analysis.symbols
-
A
Symbolthat 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
Symbolthat represents a qualifier (i.e. - QualifierSymbol(String) - Constructor for class it.unive.lisa.analysis.symbols.QualifierSymbol
-
Builds the symbol.
R
- read(Reader) - Static method in class it.unive.lisa.outputs.json.JsonReport
-
Reads a
JsonReportfrom aReaderinstance, deserializing it as a json object. - readDot(Reader) - Static method in class it.unive.lisa.outputs.DotGraph
-
Reads a graph through the given
Reader. - readGraph(Reader) - Static method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Reads a graph through the given
Reader, deserializing it as a JSON file. - reduce(T, BinaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Reduces this set to a single element.
- ReferenceType - Class in it.unive.lisa.type
-
A type for references to memory regions.
- ReferenceType(Type) - Constructor for class it.unive.lisa.type.ReferenceType
-
Builds the type for a reference to a location containing values of types
t. - registerCall(CFGCall) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- registerCall(CFGCall) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
- registerType(Type) - Method in class it.unive.lisa.type.TypeSystem
-
Registers a new
Typethat appears in the program. - Remainder - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the remainder operation (
%, returning the remainder of the division between the two operands and taking the sign of the dividend). - Remainder(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Remainder
-
Builds the remainder.
- 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
TruncatedParamsCallthat 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
LogicalNegationoperator, preserving its semantics, if possible. - removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Removes the given node from the matrix, together with all its connected edges.
- removeNode(N) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Removes the given node from the list, together with all its connected edges.
- Replace - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string replace operation.
- Replace(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Replace
-
Builds the replace.
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Reports a difference in one of the components of the reports.
- representation - Variable in class it.unive.lisa.analysis.representation.StringRepresentation
-
The textual representation.
- representation() - Method in class it.unive.lisa.analysis.AnalysisState
- representation() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- representation() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Yields a
DomainRepresentationof the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
-
Yields a
DomainRepresentationof the information contained in this set. - representation() - Method in class it.unive.lisa.analysis.nonrelational.Environment
- representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- representation() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Yields a
DomainRepresentationof the information contained in this pair. - representation() - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields a
DomainRepresentationof the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- representation() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- representation() - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a
DomainRepresentationof the information contained in this domain's instance. - representation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields a
Callimplementation that corresponds to the resolution of the givenUnresolvedCall. - resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields a
Callimplementation that corresponds to the resolution of the givenUnresolvedCall. - ResolvedCall - Interface in it.unive.lisa.program.cfg.statement.call
-
Marker for
Calls that have already been resolved, and that thus know what are their targets. - resolveInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Resolves the given call as an instance call.
- resolveNonInstance(UnresolvedCall, Set<Type>[], Collection<CFG>, Collection<NativeCFG>, SymbolAliasing) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Resolves the given call as regular (non-instance) call.
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringConcat
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringContains
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEndsWith
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringEquals
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringIndexOf
- resultType(TypeSystem) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
-
Yields the
Typeof 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
expressionto the caller CFG, happening at the given location in the program. - RETURNED_VARIABLE_NAME - Static variable in interface it.unive.lisa.interprocedural.OpenCallPolicy
-
The name of the variable storing the return value of the call, if any.
- ReturnTopPolicy - Class in it.unive.lisa.interprocedural
-
An
OpenCallPolicy, where the post state is exactly the entry state, with the only difference of having a synthetic variable named "open_call_return" assigned to top only if the call returns a value. - rewrite(Statement, Expression...) - Method in class it.unive.lisa.program.cfg.NativeCFG
-
Produces an
NaryExpressionproviding the semantics of this native cfg. - rewrite(SymbolicExpression, HeapEnvironment<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
-
Rewrites a
SymbolicExpression, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocations representing the accessed locations. - rewrite(SymbolicExpression, ProgramPoint) - Method in interface it.unive.lisa.analysis.heap.HeapDomain
-
Rewrites a
SymbolicExpression, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocations representing the accessed locations. - rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- rewriteAll(ExpressionSet<SymbolicExpression>, HeapEnvironment<T>, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.heap.NonRelationalHeapDomain
-
Rewrites all
SymbolicExpressions, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocations representing the accessed locations. - rewriteAll(ExpressionSet<SymbolicExpression>, ProgramPoint) - Method in interface it.unive.lisa.analysis.heap.HeapDomain
-
Rewrites all
SymbolicExpressions, getting rid of the parts that access heap structures, substituting them with syntheticHeapLocations representing the accessed locations. - Rewriter() - Constructor for class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- RightToLeftEvaluation - Class in it.unive.lisa.program.cfg.statement.evaluation
-
A right-to-left
EvaluationOrder, evaluating expressions in reversed order. - roundDown() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Rounds down this number to the next integer value towards minus infinity (see
RoundingMode.FLOOR). - roundUp() - Method in class it.unive.lisa.util.numeric.MathNumber
-
Rounds down this number to the next integer value towards plus infinity (see
RoundingMode.CEILING). - run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableAction
-
Runs the action.
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableSupplier
-
Runs the supplier.
- RuntimeTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the runtime types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if at least one of the runtime types of the actual parameter can be assigned to the type of the formal parameter, then
FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[])returnstrue.
S
- sameContent() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields
trueif and only if the two collections used to create this builder contain the same elements, that is, if bothCollectionsDiffBuilder.getOnlyFirst()andCollectionsDiffBuilder.getOnlySecond()are empty. - sameNumericTypes(NumericType) - Method in interface it.unive.lisa.type.NumericType
-
Checks if the two implementations of
NumericTypeofthisandotherrepresent the same type, and can thus be used interchangeably. - sameStructure(SerializableGraph) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Checks if this graph and the given one share the same structure, that is, if they are equal up to the descriptions of their nodes.
- SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is satisfied.
- satisfies(E, F, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Checks whether
expressionis satisfied inenvironment, assuming that the values of program variables are the ones stored inenvironmentand returning an instance ofSemanticDomain.Satisfiability. - satisfies(E, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- satisfies(E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Checks if the given expression is satisfied by the abstract values of this domain, returning an instance of
SemanticDomain.Satisfiability. - satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- satisfies(ValueExpression, InferenceSystem<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- satisfies(ValueExpression, TypeEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- satisfies(ValueExpression, ValueEnvironment<T>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- satisfies(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- satisfiesAbstractValue(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of an runtime types of type
<T>. - satisfiesAbstractValue(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of an abstract value of type
<T>. - satisfiesAbstractValue(T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of an abstract value of type
<T>. - satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of a
BinaryExpressionapplyingoperatorto two expressions whose runtime types areleft, andright. - satisfiesBinaryExpression(BinaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
BinaryExpressionapplyingoperatorto two expressions whose abstract values areleft, andright. - satisfiesBinaryExpression(BinaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
BinaryExpressionapplyingoperatorto two expressions whose abstract values areleft, andright. - satisfiesNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNonNullConstant(Constant, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the given non-null constant on this abstract domain.
- satisfiesNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of the null constant
NullConstanton this abstract domain. - satisfiesNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of the null constant
NullConstanton this abstract domain. - satisfiesNullConstant(T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the null constant
NullConstanton this abstract domain. - satisfiesPushAny(PushAny, T) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of the push any expression.
- satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of a
TernaryExpressionapplyingoperatorto three expressions whose runtime types areleft,middleandright. - satisfiesTernaryExpression(TernaryOperator, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
TernaryExpressionapplyingoperatorto three expressions whose abstract values areleft,middleandright. - satisfiesTernaryExpression(TernaryOperator, T, T, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
TernaryExpressionapplyingoperatorto three expressions whose abstract values areleft,middleandright. - satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
-
Yields the satisfiability of a
UnaryExpressionapplyingoperatorto an expression whose runtime types arearg, returning an instance ofSemanticDomain.Satisfiability. - satisfiesUnaryExpression(UnaryOperator, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
-
Yields the satisfiability of a
UnaryExpressionapplyingoperatorto an expression whose abstract value isarg, returning an instance ofSemanticDomain.Satisfiability. - satisfiesUnaryExpression(UnaryOperator, T, T, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
-
Yields the satisfiability of a
UnaryExpressionapplyingoperatorto an expression whose abstract value isarg, returning an instance ofSemanticDomain.Satisfiability. - ScopeToken - Class in it.unive.lisa.analysis
-
A token that can be used for pushing and popping scopes on local variables through
SemanticDomain.pushScope(ScopeToken)andSemanticDomain.popScope(ScopeToken). - ScopeToken(CodeElement) - Constructor for class it.unive.lisa.analysis.ScopeToken
-
Builds a new scope, referring to the given code element.
- searchCodeMembers(Predicate<CodeMember>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Searches among instance code members, returning a collection containing all members that satisfy the given condition.
- searchGlobals(Predicate<Global>, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Searches among instance globals, returning a collection containing all globals that satisfy the given condition.
- SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds.
- SECONDS_AND_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds and milliseconds.
- SemanticCheck<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Interface in it.unive.lisa.checks.semantic
-
A
Checkthat is able to exploit both the syntactic structure of the program and the semantic information produced with the fixpoint iteration. - SemanticDomain<D extends SemanticDomain<D,E,I>,E extends SymbolicExpression,I extends Identifier> - Interface in it.unive.lisa.analysis
-
A domain able to determine how abstract information evolves thanks to the semantics of statements and expressions.
- SemanticDomain.Satisfiability - Enum in it.unive.lisa.analysis
-
The satisfiability of an expression.
- SemanticEvaluator - Interface in it.unive.lisa.analysis
-
An entity that can perform semantic evaluations that is not a
SemanticDomain. - SemanticException - Exception in it.unive.lisa.analysis
-
An exception that occurred during semantic computation.
- SemanticException() - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(String, Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticException(Throwable) - Constructor for exception it.unive.lisa.analysis.SemanticException
-
Builds the exception.
- SemanticExceptionWrapper - Exception in it.unive.lisa.analysis
-
A runtime exception that wraps a
SemanticException, so that it can be thrown within lambdas. - SemanticExceptionWrapper(SemanticException) - Constructor for exception it.unive.lisa.analysis.SemanticExceptionWrapper
-
Builds the exception wrapper.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.literal.NullLiteral
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
-
Semantics of an n-ary expression is evaluated by computing the semantics of its sub-expressions, from left to right, using the analysis state from each sub-expression's computation as entry state for the next one.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Ret
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Return
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement.
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.Throw
- semantics(AnalysisState<A, H, V, T>, InterproceduralAnalysis<A, H, V, T>, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- semantics(N, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and its entry state, computes its exit state relying on its semantics.
This callback is invoked after the overall entry state for a node has been computed throughFixpoint.FixpointImplementation.union(Object, Object, Object)of the exit states of its predecessors. - semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
-
Yields a new instance of this domain, built by evaluating the semantics of the given heap expression.
- SequentialEdge - Class in it.unive.lisa.program.cfg.edge
-
A sequential edge connecting two statement.
- SequentialEdge() - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
-
Builds an "empty" edge, meaning that it does not have endpoints.
- SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
-
Builds the edge.
- SerializableArray - Class in it.unive.lisa.outputs.serializableGraph
-
An array of serializable values, represented through a list.
- SerializableArray() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Builds the array.
- SerializableArray(SortedMap<String, String>, List<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableArray
-
Builds the array.
- SerializableCFG - Class in it.unive.lisa.outputs.serializableGraph
-
Utility class to build
SerializableGraphs fromCFGs. - SerializableEdge - Class in it.unive.lisa.outputs.serializableGraph
-
An edge of a
SerializableGraph. - SerializableEdge() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Builds an empty (invalid) edge.
- SerializableEdge(int, int, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableEdge
-
Builds an edge.
- SerializableGraph - Class in it.unive.lisa.outputs.serializableGraph
-
A graph that can be serialized.
- SerializableGraph() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Builds an empty graph.
- SerializableGraph(String, String, SortedSet<SerializableNode>, SortedSet<SerializableEdge>, SortedSet<SerializableNodeDescription>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Builds a graph.
- SerializableNode - Class in it.unive.lisa.outputs.serializableGraph
-
A node of a
SerializableGraph, represented by a numeric id. - SerializableNode() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Builds an empty (invalid) node.
- SerializableNode(int, List<Integer>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNode
-
Builds a node.
- SerializableNodeDescription - Class in it.unive.lisa.outputs.serializableGraph
-
A description for a
SerializableNode, pairing it with aSerializableValue. - SerializableNodeDescription() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Builds an empty (invalid) description.
- SerializableNodeDescription(int, SerializableValue) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
-
Builds a description.
- SerializableObject - Class in it.unive.lisa.outputs.serializableGraph
-
A complex serializable object, represented through a set of named serializable fields.
- SerializableObject() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Builds an empty object.
- SerializableObject(SortedMap<String, String>, SortedMap<String, SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableObject
-
Builds an object.
- SerializableString - Class in it.unive.lisa.outputs.serializableGraph
-
A single serializable value, represented in its textual form.
- SerializableString() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Builds an empty (invalid) string.
- SerializableString(SortedMap<String, String>, String) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableString
-
Builds a string.
- SerializableValue - Class in it.unive.lisa.outputs.serializableGraph
-
A value that can be serialized, as part of a
SerializableNodeDescription. - SerializableValue() - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Builds the value.
- SerializableValue(SortedMap<String, String>) - Constructor for class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Builds the value.
- serialize(SerializableValue, JsonGenerator, SerializerProvider) - Method in class it.unive.lisa.outputs.serializableGraph.ValueSerializer
- setFirstFollower(Statement) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Sets the first follower of this structure, that is, the first statement after the conditional structure exits.
- setId(String) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Sets the string meant to identify this specific result, based on how it has been produced.
- setIndex(int) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the index of this variable.
- SetLattice<S extends SetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic set lattice containing a set of elements.
- SetLattice(Set<E>, boolean) - Constructor for class it.unive.lisa.analysis.lattices.SetLattice
-
Builds the lattice.
- setMessage(String) - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
-
Sets the message of this warning.
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Ret
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- setOffset(int) - Method in interface it.unive.lisa.util.datastructures.graph.code.CodeNode
-
Sets the offset of this node to the given value, and then proceeds by setting the one of its nested nodes (if any) to subsequent values.
- setOriginatingStatement(Statement) - Method in interface it.unive.lisa.program.cfg.statement.PluggableStatement
-
Sets the original
Statementthat got rewritten by theis pluggable statement. - setOverridable(boolean) - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
-
Sets whether or not the cfg associated to this descriptor can be overridden.
- setParentStatement(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Sets the
Statementthat contains this expression. - setProperty(String, String) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Sets a textual property to enrich the information represented by this instance.
- setProperty(String, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableValue
-
Sets a textual property to enrich the information represented by this value.
- SetRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentationin the form of a set of values. - SetRepresentation(Set<E>, Function<E, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
-
Builds a new representation starting from the given set.
- SetRepresentation(Set<DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.SetRepresentation
-
Builds a new representation containing the given set.
- setRuntimeTypes(Set<Type>) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Sets the runtime types to the given set of types.
- setScopeEnd(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the statement where this variable is last visible.
- setScopeStart(Statement) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Sets the statement where this variable is first visible.
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.Call
-
Sets the call that this call originated from.
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- setSource(UnresolvedCall) - Method in class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
- SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The shape attribute name.
- ShortAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A short annotation value.
- ShortAnnotationValue(short) - Constructor for class it.unive.lisa.program.annotations.values.ShortAnnotationValue
-
Builds a short annotation value.
- SimpleAbstractState<H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations.
- SimpleAbstractState(H, V, T) - Constructor for class it.unive.lisa.analysis.SimpleAbstractState
-
Builds a new abstract state.
- simplify() - Method in class it.unive.lisa.program.cfg.CFG
-
Simplifies this cfg, removing all
NoOps and rewriting the edge set accordingly. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Simplifies this structure, removing all
NoOps from its body. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- simplify(Class<? extends N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
-
Simplifies the adjacency matrix beneath this graph, removing all nodes that are instances of
<T>and rewriting the edge set accordingly. - simplify(Iterable<N>, Collection<N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Simplifies this list, removing all the given nodes and rewriting the edge set accordingly.
- SingleInheritanceTraversalStrategy - Class in it.unive.lisa.program.language.hierarchytraversal
-
A
HierarcyTraversalStrategythat assumes a single super unit per each unit (Java-like). - size() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Returns the number of elements in this lattice (its cardinality).
- size() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Returns the number of elements in this lattice (its cardinality).
- size() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- size() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the total number of elements stored in this cache.
- size() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- size() - Method in class it.unive.lisa.util.collections.IterableArray
-
Yields the size of this iterable, that is, the length of the array behind this iterable.
- size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- size() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- size() - Method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields the size of this working set, that is, the number of elements contained in it.
- Skip - Class in it.unive.lisa.symbolic.value
-
An expression that does nothing.
- Skip(CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Skip
-
Builds the skip.
- smallStepSemantics(E, ProgramPoint) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Yields a copy of this domain, that has been modified accordingly to the semantics of the given
expression. - smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- smallStepSemantics(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- smallStepSemantics(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- SourceCodeLocation - Class in it.unive.lisa.program
-
A location of an element in the source code represented by the path to the source code, the line and the column where the element appears.
- SourceCodeLocation(String, int, int) - Constructor for class it.unive.lisa.program.SourceCodeLocation
-
Builds the code element.
- SPECIAL_NODE_COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color of a special node (entry or exit).
- StartsWith - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string startsWith operation.
- StartsWith(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.StartsWith
-
Builds the startsWith.
- Statement - Class in it.unive.lisa.program.cfg.statement
-
A statement of the program to analyze.
- Statement(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Statement
-
Builds a statement happening at the given source location.
- StatementStore<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> - Class in it.unive.lisa.analysis
-
A functional lattice that stores instances of
AnalysisStatecomputed on statements. - StatementStore(AnalysisState<A, H, V, T>) - Constructor for class it.unive.lisa.analysis.StatementStore
-
Builds the store.
- StatementWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on a statement.
- StatementWarning(Statement, String) - Constructor for class it.unive.lisa.checks.warnings.StatementWarning
-
Builds the warning.
- STATIC - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Only non-instance code members are targeted by the call.
- StaticTypesMatchingStrategy - Class in it.unive.lisa.program.language.resolution
-
A strategy where the static types of the parameters of the call are evaluated against the signature of a cfg: for each parameter, if the static type of the actual parameter can be assigned to the type of the formal parameter, then
FixedOrderMatchingStrategy.matches(Call, Parameter[], Expression[], Set[])returntrue. - stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Ret
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Return
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Whether or not this statement stops the execution of the containing cfg, either by throwing an error or returning a value.
- stopsExecution() - Method in class it.unive.lisa.program.cfg.statement.Throw
- StringAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A string annotation value.
- StringAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.StringAnnotationValue
-
Builds a string annotation value.
- StringConcat - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing 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
BinaryExpressionusing this operator checks if the string from the first argument is equal (in terms of contents, that is different fromComparisonEq) to the one of the second argument.
First argument expression type:StringType
Second argument expression type:StringType
Computed expression type:BooleanType - StringEquals() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringEquals
-
Builds the operator.
- StringIndexOf - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpressionusing 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-1if 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
UnaryExpressionusing this operator computes an integral value, from0upwards, 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.
- StringLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A
Literalrepresenting a constant string value. - StringLiteral(CFG, CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.statement.literal.StringLiteral
-
Builds the literal.
- StringOperation - Class in it.unive.lisa.symbolic.value.operator.binary
-
A common implementation for classes implementing
BinaryOperatorandStringOperator, providing aStringOperation.typeInference(TypeSystem, Set, Set)implementation that returns an empty set if noStringTypecan be found in one of the arguments, and a singleton set containingStringOperation.resultType(TypeSystem)otherwise. - StringOperation() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.StringOperation
- StringOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation manipulating one or more values of type
StringType. - StringReplace - Class in it.unive.lisa.symbolic.value.operator.ternary
-
Given three expressions that all evaluate to string values, a
TernaryExpressionusing 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.analysis.representation
-
A
DomainRepresentationin the form of a single string element. - StringRepresentation(Object) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
-
Builds a new representation starting from the given object.
- StringRepresentation(String) - Constructor for class it.unive.lisa.analysis.representation.StringRepresentation
-
Builds a new representation containing the given string.
- StringStartsWith - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions that both evaluate to string values, a
BinaryExpressionusing 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
TernaryExpressionusing 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 - Class in it.unive.lisa.type.common
-
An implementation of the
StringType. - StringType - Interface in it.unive.lisa.type
-
String type interface.
- StringType() - Constructor for class it.unive.lisa.type.common.StringType
-
Builds the type.
- STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The style attribute name.
- Substring - Class in it.unive.lisa.program.cfg.statement.string
-
An expression modeling the string substring operation.
- Substring(CFG, CodeLocation, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.string.Substring
-
Builds the substring.
- subtract(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this - other. - Subtraction - Class in it.unive.lisa.program.cfg.statement.numeric
-
An expression modeling the subtraction operation (
-). - Subtraction(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.numeric.Subtraction
-
Builds the subtraction.
- SubtractionOperator - Interface in it.unive.lisa.symbolic.value.operator
-
An operation that performs a subtraction between its operands.
- supertype(NumericType) - Method in interface it.unive.lisa.type.NumericType
- Symbol - Interface in it.unive.lisa.analysis.symbols
-
A symbol that can be aliased or used as an alias.
- SymbolAliasing - Class in it.unive.lisa.analysis.symbols
- SymbolAliasing() - Constructor for class it.unive.lisa.analysis.symbols.SymbolAliasing
-
Builds an empty map of aliases.
- SymbolicExpression - Class in it.unive.lisa.symbolic
-
A symbolic expression that can be evaluated by
SemanticDomains. - SymbolicExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.SymbolicExpression
-
Builds the symbolic expression.
- SyntacticCheck - Interface in it.unive.lisa.checks.syntactic
-
A
Checkthat is able to exploit only the syntactic structure of the program. - SyntheticLocation - Class in it.unive.lisa.program
-
A synthetic code location.
T
- TernaryExpression - Class in it.unive.lisa.program.cfg.statement
-
An
NaryExpressionwith exactly three sub-expressions. - TernaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
TernaryExpressionto threeSymbolicExpressions. - 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
Operatorthat can be applied to threeSymbolicExpression. - ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Replace
- ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Substring
- ternarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, SymbolicExpression, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.TernaryExpression
-
Computes the semantics of the expression, after the semantics of the sub-expressions have been computed.
- Throw - Class in it.unive.lisa.program.cfg.statement
-
A statement that raises an error, stopping the execution of the current CFG and propagating the error to among the call chain.
- Throw(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.Throw
-
Builds the throw, raising
expressionas 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
Runnableexecuting a function with no arguments a no return value. - TimerLogger.LoggableSupplier<R> - Interface in it.unive.lisa.logging
-
A
Supplierproducing one element. - toArray() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toArray() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toArray(E[]) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- toDot() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to a
DotGraph. - toGraphml(boolean) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to a
GraphmlGraph. - toHtml(boolean, String) - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
-
Converts this graph to an
HtmlGraph. - top() - Method in class it.unive.lisa.analysis.AnalysisState
- top() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- top() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- top() - Method in interface it.unive.lisa.analysis.Lattice
-
Yields the top element of this lattice.
- top() - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- top() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- top() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- top() - Method in class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
- top() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- top() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
- top() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- top() - Method in class it.unive.lisa.analysis.StatementStore
- top() - Method in class it.unive.lisa.analysis.symbols.Aliases
- top() - Method in class it.unive.lisa.analysis.symbols.SymbolAliasing
- TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent top values.
- topRepresentation() - Static method in interface it.unive.lisa.analysis.Lattice
-
Yields a fresh
DomainRepresentationthat can be used to represent top values. - toSerializableGraph() - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraphbuilt from this one. - toSerializableGraph(Function<Statement, SerializableValue>) - Method in class it.unive.lisa.program.cfg.CFG
- toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- toSerializableGraph(Function<N, SerializableValue>) - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- toSerializableGraph(Function<N, SerializableValue>) - Method in interface it.unive.lisa.util.datastructures.graph.Graph
-
Yields an instance of
SerializableGraphbuilt from this one. - toSerializableValue() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
-
Produces a serializable version of this representation.
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- toSerializableValue() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.analysis.AnalysisState
- toString() - Method in class it.unive.lisa.analysis.BaseLattice
- toString() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- toString() - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain
- toString() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
- toString() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- toString() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.ListRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.ObjectRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.analysis.ScopeToken
- toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- toString() - Method in class it.unive.lisa.analysis.symbols.NameSymbol
- toString() - Method in class it.unive.lisa.analysis.symbols.QualifiedNameSymbol
- toString() - Method in class it.unive.lisa.analysis.symbols.QualifierSymbol
- toString() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- toString() - Method in class it.unive.lisa.checks.warnings.CFGWarning
- toString() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- toString() - Method in class it.unive.lisa.checks.warnings.StatementWarning
- toString() - Method in class it.unive.lisa.checks.warnings.UnitWarning
- toString() - Method in class it.unive.lisa.checks.warnings.Warning
- toString() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- toString() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- toString() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- toString() - Method in class it.unive.lisa.outputs.GraphStreamWrapper
- toString() - Method in class it.unive.lisa.outputs.json.JsonReport.JsonWarning
- toString() - Method in class it.unive.lisa.outputs.json.JsonReport
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableArray
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableEdge
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableGraph
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNode
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableNodeDescription
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableObject
- toString() - Method in class it.unive.lisa.outputs.serializableGraph.SerializableString
- toString() - Method in class it.unive.lisa.program.annotations.Annotation
- toString() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- toString() - Method in class it.unive.lisa.program.annotations.Annotations
- toString() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- toString() - Method in class it.unive.lisa.program.cfg.CFG
- toString() - Method in class it.unive.lisa.program.cfg.CodeMemberDescriptor
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- toString() - Method in class it.unive.lisa.program.cfg.edge.Edge
- toString() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- toString() - Method in class it.unive.lisa.program.cfg.NativeCFG
- toString() - Method in class it.unive.lisa.program.cfg.Parameter
- toString() - Method in class it.unive.lisa.program.cfg.statement.Assignment
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.Call
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.CFGCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.MultiCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.NativeCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.call.OpenCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.literal.Literal
- toString() - Method in class it.unive.lisa.program.cfg.statement.literal.StringLiteral
- toString() - Method in class it.unive.lisa.program.cfg.statement.NaryExpression
- toString() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- toString() - Method in class it.unive.lisa.program.cfg.statement.Ret
- toString() - Method in class it.unive.lisa.program.cfg.statement.Return
- toString() - Method in class it.unive.lisa.program.cfg.statement.Statement
- toString() - Method in class it.unive.lisa.program.cfg.statement.Throw
- toString() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- toString() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- toString() - Method in class it.unive.lisa.program.Global
- toString() - Method in class it.unive.lisa.program.SourceCodeLocation
- toString() - Method in class it.unive.lisa.program.Unit
- toString() - Method in class it.unive.lisa.symbolic.heap.AccessChild
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- toString() - Method in class it.unive.lisa.symbolic.heap.HeapReference
- toString() - Method in class it.unive.lisa.symbolic.SymbolicExpression
- toString() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.Constant
- toString() - Method in class it.unive.lisa.symbolic.value.HeapLocation
- toString() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- toString() - Method in class it.unive.lisa.symbolic.value.NullConstant
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseAnd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseOr
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftLeft
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseShiftRight
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseUnsignedShiftRight
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.BitwiseXor
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonGt
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonLt
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalAnd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOr
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitAdd
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitDiv
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMod
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.Numeric16BitMul
- toString() - Method in class it.unive.lisa.symbolic.value.operator.binary.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.Skip
- toString() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- toString() - Method in class it.unive.lisa.symbolic.value.Variable
- toString() - Method in class it.unive.lisa.type.common.BoolType
- toString() - Method in class it.unive.lisa.type.common.Float32Type
- toString() - Method in class it.unive.lisa.type.common.Float64Type
- toString() - Method in class it.unive.lisa.type.common.Int16Type
- toString() - Method in class it.unive.lisa.type.common.Int32Type
- toString() - Method in class it.unive.lisa.type.common.Int64Type
- toString() - Method in class it.unive.lisa.type.common.Int8Type
- toString() - Method in class it.unive.lisa.type.common.StringType
- toString() - Method in class it.unive.lisa.type.common.UInt16Type
- toString() - Method in class it.unive.lisa.type.common.UInt32Type
- toString() - Method in class it.unive.lisa.type.common.UInt64Type
- toString() - Method in class it.unive.lisa.type.common.UInt8Type
- toString() - Method in class it.unive.lisa.type.NullType
- toString() - Method in class it.unive.lisa.type.ReferenceType
- toString() - Method in class it.unive.lisa.type.TypeTokenType
- toString() - Method in class it.unive.lisa.type.Untyped
- toString() - Method in class it.unive.lisa.type.VoidType
- toString() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toString() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
- toString() - Method in class it.unive.lisa.util.collections.IterableArray
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- toString() - Method in class it.unive.lisa.util.datastructures.graph.BaseGraph
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.CodeGraph
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList.NodeEdges
- toString() - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
- toString() - Method in class it.unive.lisa.util.numeric.IntInterval
- toString() - Method in class it.unive.lisa.util.numeric.MathNumber
- toSymbolicVariable() - Method in class it.unive.lisa.program.cfg.Parameter
-
Creates a
Variablethat represent this parameter, that can be used bySemanticDomains to reference this parameter. - toSymbolicVariable(CodeLocation) - Method in class it.unive.lisa.program.Global
-
Creates a
Variablethat represent this global, that can be used bySemanticDomains to reference it. - tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- tracksIdentifiers(Identifier) - Method in interface it.unive.lisa.analysis.SemanticEvaluator
-
Yields
trueif the domain tracks information on the identifierid,falseotherwise. - transform(UnaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Transforms this set into another set where each element is obtained by transforming elements of this set.
- traverse(E, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given an edge and a state, computes a new state by modifying the given one assuming that the edge gets traversed.
This callback is invoked while computing the overall entry state for a node to filter a state according to the logic of the edge (an edge might be always traversed, or only if a condition holds). - traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.Edge
-
Traverses this edge, optionally modifying the given
sourceStateby applying semantic assumptions. - traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- traverse(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- traverse(Statement, CompilationUnit) - Method in interface it.unive.lisa.program.language.hierarchytraversal.HierarcyTraversalStrategy
-
Yields an iterable containing (or generating on-the-fly) compilation units in the order they should be visited for traversing a type hierarchy to find targets of calls or global accesses.
- traverse(Statement, CompilationUnit) - Method in class it.unive.lisa.program.language.hierarchytraversal.SingleInheritanceTraversalStrategy
- TrueEdge - Class in it.unive.lisa.program.cfg.edge
-
An edge connecting two statements, that is traversed when the condition expressed in the source state holds.
- TrueEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.TrueEdge
-
Builds the edge.
- TrueLiteral - Class in it.unive.lisa.program.cfg.statement.literal
-
A
Literalrepresenting thetrueboolean value. - TrueLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.literal.TrueLiteral
-
Builds the literal.
- truncate(Expression[]) - Static method in interface it.unive.lisa.program.cfg.statement.call.CanRemoveReceiver
-
Truncates the given array of expressions by removing the first element.
- TruncatedParamsCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call that wraps another one that has been created through
CanRemoveReceiver.removeFirstParameter(). - TruncatedParamsCall(Call) - Constructor for class it.unive.lisa.program.cfg.statement.call.TruncatedParamsCall
-
Builds the call.
- Type - Interface in it.unive.lisa.type
-
Type interface.
- TYPE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
TypeDomaininside theDomainRepresentationreturned bySemanticDomain.representation(). - TypeCast - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpressionusing 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
BinaryExpressionusing this operator checks if the runtime types of the value the first argument evaluates to are subtypes of the ones contained in the token.
First argument expression type: anyType
Second argument expression type:TypeTokenType
Computed expression type:BooleanType - TypeCheck() - Constructor for class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
-
Builds the operator.
- TypeConv - Class in it.unive.lisa.symbolic.value.operator.binary
-
Given two expressions, with the second one evaluating to a type token, a
BinaryExpressionusing 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.value
-
An domain that is able to determine the runtime types of an expression given the runtime types of its operands.
- TypeEnvironment<T extends NonRelationalTypeDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
An environment for a
NonRelationalTypeDomain, that mapsIdentifiers to instances of such domain. - TypeEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
-
Builds an empty environment.
- TypeEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.TypeEnvironment
-
Builds an environment containing the given mapping.
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.BitwiseNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.LogicalNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.NumericNegation
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.StringLength
- typeInference(TypeSystem, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.unary.TypeOf
- typeInference(TypeSystem, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.unary.UnaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the argument of this expression has the given types.
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.binary.BinaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonEq
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.ComparisonNe
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.LogicalOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericComparison
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.NumericOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.StringOperation
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCast
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeCheck
- typeInference(TypeSystem, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.binary.TypeConv
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringReplace
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in class it.unive.lisa.symbolic.value.operator.ternary.StringSubstring
- typeInference(TypeSystem, Set<Type>, Set<Type>, Set<Type>) - Method in interface it.unive.lisa.symbolic.value.operator.ternary.TernaryOperator
-
Computes the runtime types of this expression (i.e., of the result of this expression) assuming that the arguments of this expression have the given types.
- TypeOf - Class in it.unive.lisa.symbolic.value.operator.unary
-
Given any expression, a
UnaryExpressionusing this operator computes the type(s) of that expression.
Argument expression type: anyType
Computed expression type:TypeTokenTypecontaining 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.
- TypeSystem - Class in it.unive.lisa.type
-
A type system, knowing about the types that can appear in a
Program. - TypeSystem() - Constructor for class it.unive.lisa.type.TypeSystem
-
Builds an empty type system, where only
TypeSystem.getBooleanType(),TypeSystem.getStringType()andTypeSystem.getIntegerType()are registered. - TypeTokenType - Class in it.unive.lisa.type
-
The type of type tokens, used as reference to types in code.
- TypeTokenType(Set<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
-
Builds the type token representing the given types.
U
- UInt16Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 16-bit unsigned
Literalrepresenting a constant integral value. - UInt16Literal(CFG, CodeLocation, short) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt16Literal
-
Builds the literal.
- UInt16Type - Class in it.unive.lisa.type.common
-
An unsigned 16-bit integral
NumericType. - UInt16Type() - Constructor for class it.unive.lisa.type.common.UInt16Type
-
Builds the type.
- UInt32Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 32-bit unsigned
Literalrepresenting a constant integral value. - UInt32Literal(CFG, CodeLocation, int) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt32Literal
-
Builds the literal.
- UInt32Type - Class in it.unive.lisa.type.common
-
An unsigned 32-bit integral
NumericType. - UInt32Type() - Constructor for class it.unive.lisa.type.common.UInt32Type
-
Builds the type.
- UInt64Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
A 64-bit unsigned
Literalrepresenting a constant integral value. - UInt64Literal(CFG, CodeLocation, long) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt64Literal
-
Builds the literal.
- UInt64Type - Class in it.unive.lisa.type.common
-
An unsigned 64-bit integral
NumericType. - UInt64Type() - Constructor for class it.unive.lisa.type.common.UInt64Type
-
Builds the type.
- UInt8Literal - Class in it.unive.lisa.program.cfg.statement.literal
-
An 8-bit unsigned
Literalrepresenting a constant integral value. - UInt8Literal(CFG, CodeLocation, byte) - Constructor for class it.unive.lisa.program.cfg.statement.literal.UInt8Literal
-
Builds the literal.
- UInt8Type - Class in it.unive.lisa.type.common
-
An unsigned 8-bit integral
NumericType. - UInt8Type() - Constructor for class it.unive.lisa.type.common.UInt8Type
-
Builds the type.
- UnaryExpression - Class in it.unive.lisa.program.cfg.statement
-
An
NaryExpressionwith a single sub-expression. - UnaryExpression - Class in it.unive.lisa.symbolic.value
-
A unary expression that applies a
UnaryOperatorto aSymbolicExpression. - UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Builds the untyped expression, happening at the given location in the program.
- UnaryExpression(CFG, CodeLocation, String, EvaluationOrder, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Builds the expression, happening at the given location in the program.
- UnaryExpression(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Builds the untyped expression, happening at the given location in the program.
- UnaryExpression(CFG, CodeLocation, String, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Builds the expression, happening at the given location in the program.
- UnaryExpression(Type, SymbolicExpression, UnaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
-
Builds the unary expression.
- UnaryOperator - Interface in it.unive.lisa.symbolic.value.operator.unary
-
A unary
Operatorthat can be applied to a singleSymbolicExpression. - unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.call.NamedParameterExpression
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.global.AccessInstanceGlobal
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.logic.Not
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.numeric.Negation
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.string.Length
- unarySemantics(InterproceduralAnalysis<A, H, V, T>, AnalysisState<A, H, V, T>, SymbolicExpression, StatementStore<A, H, V, T>) - Method in class it.unive.lisa.program.cfg.statement.UnaryExpression
-
Computes the semantics of the expression, after the semantics of the sub-expression has been computed.
- UnaryStatement - Class in it.unive.lisa.program.cfg.statement
-
A unary statement.
- UnaryStatement(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Builds the unary statement, happening at the given location in the program.
- union(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- union(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the union of this set and another.
- union(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, computes their union (i.e.
- Unit - Class in it.unive.lisa.program
-
A unit of the program to analyze.
- Unit(String) - Constructor for class it.unive.lisa.program.Unit
-
Builds a unit, defined at the given location.
- UnitType - Interface in it.unive.lisa.type
-
Interface for types that are introduced by a
ClassUnit. - UnitWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Units under analysis.
- UnitWarning(Unit, String) - Constructor for class it.unive.lisa.checks.warnings.UnitWarning
-
Builds the warning.
- UniversalExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
-
An
ExternalSetthat always stays up-to-date with the contents of the underlying factory, but that cannot be modified. - UNKNOWN - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that it is not possible to determine whether or not an expression is satisfied.
- UNKNOWN - it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Both instance and non-instance code members are targeted by the call.
- UNKNOWN_ENTRYPOINTS - Static variable in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Error message format for entrypoints not defined inside the
Program. - UnresolvedCall - Class in it.unive.lisa.program.cfg.statement.call
-
A call that happens inside the program to analyze.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, EvaluationOrder, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- UnresolvedCall(CFG, CodeLocation, Call.CallType, String, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.call.UnresolvedCall
-
Builds the unresolved call, happening at the given location in the program.
- Untyped - Class in it.unive.lisa.type
-
The untyped type, corresponding to an unknown/untyped type.
- Untyped() - Constructor for class it.unive.lisa.type.Untyped
-
Builds the type.
- UP_TO_HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours, minutes, seconds, milliseconds and nanoseconds.
- UP_TO_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds and nanoseconds.
- UP_TO_MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes, seconds, milliseconds and nanoseconds.
- UP_TO_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds, milliseconds and nanoseconds.
V
- validate() - Method in class it.unive.lisa.program.cfg.CFG
-
Validates this cfg, ensuring that the code contained in it is well formed.
- validate() - Method in interface it.unive.lisa.program.cfg.CodeMember
-
Validates this cfg, ensuring that the code contained in it is well formed.
- validate(CodeMember, boolean) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CodeMember, checking that no other code member exists in its containingUnitwith the same signature, according toCodeMemberDescriptor.matchesSignature(CodeMemberDescriptor). - validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Validates this matrix, ensuring that the it is well formed.
- validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.code.NodeList
-
Validates this list, ensuring that the it is well formed.
- validateAndFinalize(AbstractClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
AbstractClassUnit. - validateAndFinalize(ClassUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
ClassUnit. - validateAndFinalize(CodeUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CodeUnit. - validateAndFinalize(CompilationUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
CompilationUnit. - validateAndFinalize(InterfaceUnit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
InterfaceUnit. - validateAndFinalize(Program) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given
Program, ensuring its consistency. - validateAndFinalize(Program) - Method in interface it.unive.lisa.program.language.validation.ProgramValidationLogic
-
Validates the given
Program, ensuring its consistency. - validateAndFinalize(Unit) - Method in class it.unive.lisa.program.language.validation.BaseValidationLogic
-
Validates the given unit, ensuring its consistency.
- VALUE_REPRESENTATION_KEY - Static variable in interface it.unive.lisa.analysis.AbstractState
-
The key that should be used to store the instance of
ValueDomaininside theDomainRepresentationreturned bySemanticDomain.representation(). - ValueDeserializer - Class in it.unive.lisa.outputs.serializableGraph
-
Custom Jackson deserializer for
SerializableValues, built to read back what is serialized byValueSerializer. - ValueDeserializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
-
Builds the deserializer.
- ValueDeserializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueDeserializer
-
Builds the deserializer.
- ValueDomain<D extends ValueDomain<D>> - Interface in it.unive.lisa.analysis.value
-
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations.
- ValueEnvironment<T extends NonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
An environment for a
NonRelationalValueDomain, that mapsIdentifiers to instances of such domain. - ValueEnvironment(T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Builds an empty environment.
- ValueEnvironment(T, Map<Identifier, T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
-
Builds an environment containing the given mapping.
- ValueExpression - Class in it.unive.lisa.symbolic.value
-
A symbolic expression that represents an operation on the program's state.
- ValueExpression(Type, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.ValueExpression
-
Builds the heap expression.
- valueOf(String) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.logging.TimeFormat
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.program.cfg.statement.call.Call.CallType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- ValueSerializer - Class in it.unive.lisa.outputs.serializableGraph
-
Custom Jackson serializer for
SerializableValues that tries to reduce the size of the generated json files. - ValueSerializer() - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
-
Builds the serializer.
- ValueSerializer(Class<SerializableValue>) - Constructor for class it.unive.lisa.outputs.serializableGraph.ValueSerializer
-
Builds the serializer.
- variable(Identifier, ProgramPoint) - Method in interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
-
Yields a fixed abstraction of the given variable.
- Variable - Class in it.unive.lisa.symbolic.value
-
An identifier of a real program variable.
- Variable(Type, String, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
-
Builds the variable with annotations.
- Variable(Type, String, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
-
Builds the variable.
- VariableRef - Class in it.unive.lisa.program.cfg.statement
-
A reference to a variable of the current CFG, identified by its name.
- VariableRef(CFG, CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
-
Builds the untyped variable reference, identified by its name.
- VariableRef(CFG, CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.cfg.statement.VariableRef
-
Builds the variable reference, identified by its name, happening at the given location in the program.
- VariableTableEntry - Class in it.unive.lisa.program.cfg
-
An entry in the variable table representing a CFG variable identified by its index, containing the information about the source file, line and column where the variable is defined.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds an untyped variable table entry, identified by its index.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds the variable table entry, identified by its index, representing a variable defined at the given location in the program.
- VariableTableEntry(CodeLocation, int, Statement, Statement, String, Type, Annotations) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds the variable table entry with its annotations, identified by its index, representing a variable defined at the given location in the program.
- VariableTableEntry(CodeLocation, int, String) - Constructor for class it.unive.lisa.program.cfg.VariableTableEntry
-
Builds an untyped variable table entry, identified by its index.
- visit(AccessChild, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(AccessChild, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits an
AccessChild. - visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapAllocation. - visit(HeapDereference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapDereference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapDereference. - visit(HeapReference, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(HeapReference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapReference. - visit(BinaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(BinaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(BinaryExpression, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
BinaryExpression. - visit(Constant, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Constant, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Constant, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Constant. - visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Identifier, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits an
Identifier. - visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(PushAny, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
PushAny. - visit(Skip, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(Skip, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(Skip, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Skip. - visit(TernaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(TernaryExpression, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(TernaryExpression, T, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
TernaryExpression. - visit(UnaryExpression, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(UnaryExpression, InferredValue.InferredPair<T>, Object...) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalTypeDomain.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain.EvaluationVisitor
- visit(UnaryExpression, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
UnaryExpression. - visit(V, G) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a graph, inspecting its structure and signature, but without accessing its contents.
- visit(V, G, E) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits an edge of the given graph.
- visit(V, G, N) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a node of the given graph.
- visitGlobal(T, Unit, Global, boolean) - Method in interface it.unive.lisa.checks.Check
-
Visits the given global.
- VisitOnceWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A working set that guarantees that each element will be added to this working set no more than once.
- visitUnit(T, Unit) - Method in interface it.unive.lisa.checks.Check
-
Visits the given unit.
- VoidType - Class in it.unive.lisa.type
-
The void type.
- VoidType() - Constructor for class it.unive.lisa.type.VoidType
-
Builds the type.
W
- warn(String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning that is meant to be a generic warning on the program.
- Warning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- Warning(String) - Constructor for class it.unive.lisa.checks.warnings.Warning
-
Builds the warning.
- WARNINGS - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated warnings.
- WarningWithLocation - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- WarningWithLocation(CodeLocation, String) - Constructor for class it.unive.lisa.checks.warnings.WarningWithLocation
-
Builds the warning.
- warnOn(CFG, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given cfg.
- warnOn(CodeMemberDescriptor, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the cfg represented by the given descriptor.
- warnOn(Expression, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given expression.
- warnOn(Statement, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given statement.
- warnOn(Unit, Global, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given global.
- warnOn(Unit, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given unit.
- widening(CFGWithAnalysisResults<A, H, V, T>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- widening(L) - Method in class it.unive.lisa.analysis.BaseLattice
- widening(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the widening operation between this lattice element and the given one.
- wideningAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- wideningAux(AnalysisState<A, H, V, T>) - Method in class it.unive.lisa.analysis.AnalysisState
- wideningAux(HeapEnvironment<T>) - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- wideningAux(InferenceSystem<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- wideningAux(InferredValue.InferredPair<T>) - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- wideningAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- wideningAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the widening operation between this lattice element and the given one, assuming that base cases have already been handled.
- WorkingSet<E> - Interface in it.unive.lisa.util.collections.workset
-
A working set, containing items to be processed.
- WorstCasePolicy - Class in it.unive.lisa.interprocedural
-
A worst-case
OpenCallPolicy, where the whole analysis state becomes top and all information is lost.
Z
- ZERO - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[0, 0]. - ZERO - Static variable in class it.unive.lisa.util.numeric.MathNumber
-
The constant
0.
All Classes All Packages