A B C D E F G H I J K L M N O P R S T U V W Z
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- AbstractState<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Interface in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations.
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.AccessChild
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapAllocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapDereference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.heap.HeapReference
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Accepts an
ExpressionVisitor, visiting this expression recursively. - accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Constant
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.HeapLocation
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.MemoryPointer
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.OutOfScopeIdentifier
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.PushAny
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Skip
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.TernaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- accept(ExpressionVisitor<T>, Object...) - Method in class it.unive.lisa.symbolic.value.Variable
- accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<G, N, E, V>, V) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<G, N, E, V>, V) - Method in interface it.unive.lisa.util.datastructures.graph.Node
-
Accepts the given
GraphVisitor. - accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- accept(GraphVisitor<BaseCallGraph, CallGraphNode, CallGraphEdge, V>, V) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.edge.Edge
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Call
- accept(GraphVisitor<CFG, Statement, Edge, V>, V) - Method in class it.unive.lisa.program.cfg.statement.Literal
- 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(ExternalSet<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
- AccessGlobal(CFG, CodeLocation, Unit, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessGlobal
-
Builds the global access, happening at the given location in the program.
- AccessInstanceGlobal - Class in it.unive.lisa.program.cfg.statement
-
An access to an instance
Globalof aCompilationUnit. - AccessInstanceGlobal(CFG, CodeLocation, Expression, Global) - Constructor for class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
-
Builds the global access, happening at the given location in the program.
- add(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this + other. - add(T) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- add(T) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAll(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Adds to this set all elements contained into
other. - addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- addAll(Collection<? extends T>) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.annotations.Annotations
-
Adds an annotations to this annotation collection.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Adds an annotations to this descriptor.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.Parameter
-
Adds an annotations to this parameter.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Adds an annotation to the annotations of this variable table entry.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds an annotation to the annotations of this compilation unit.
- addAnnotation(Annotation) - Method in class it.unive.lisa.program.Global
-
Adds an annotation to the annotations of this global.
- addAnnotation(Annotation) - Method in class it.unive.lisa.symbolic.value.Identifier
-
Adds an annotation to the annotations of this identifier.
- addCFG(CFG) - Method in class it.unive.lisa.program.Unit
-
Adds a new
CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit. - addCompilationUnit(CompilationUnit) - Method in class it.unive.lisa.program.Program
-
Adds a new
CompilationUnit, identified by its name (Unit.getName()), to this program. - addConstruct(NativeCFG) - Method in class it.unive.lisa.program.Unit
-
Adds a new
NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit. - addControlFlowStructure(ControlFlowStructure) - Method in class it.unive.lisa.program.cfg.CFG
-
Adds the given
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.Graph
-
Adds an edge to this graph.
- addEdge(E, String, String) - Method in class it.unive.lisa.outputs.DotGraph
-
Adds an edge to the graph.
- addEntryPoint(CFG) - Method in class it.unive.lisa.program.Program
-
Adds a new
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. - addInstanceCFG(CFG) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new instance
CFG, identified by its signature (CFGDescriptor.getSignature()), to this unit. - addInstanceConstruct(NativeCFG) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new instance
NativeCFG, identified by its signature (CFGDescriptor.getSignature()), to this unit. - addInstanceGlobal(Global) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new instance
Global, identified by its name (Global.getName()), to this unit. - addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Adds the given node to the set of nodes.
- addNode(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes, optionally setting that as root.
- addNode(N, boolean) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Adds the given node to the set of nodes, optionally marking this as entrypoint (that is, reachable executable from other graphs).
- addNode(N, boolean, boolean, Function<N, String>) - Method in class it.unive.lisa.outputs.DotGraph
-
Adds a node to the graph.
- addSemanticCheck(SemanticCheck) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given semantic check to the ones that will be executed.
- addSemanticChecks(Collection<SemanticCheck>) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given semantic checks to the ones that will be executed.
- 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. - addSuperUnit(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
-
Adds a new
CompilationUnitas superunit of this unit. - addSyntacticCheck(SyntacticCheck) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given syntactic check to the ones that will be executed.
- addSyntacticChecks(Collection<SyntacticCheck>) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given syntactic checks to the ones that will be executed.
- 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. - addVariable(VariableTableEntry) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Adds a
VariableTableEntryat the end of the variable table. - adjacencyMatrix - Variable in class it.unive.lisa.util.datastructures.graph.Graph
-
The adjacency matrix of this graph, mapping nodes to the collection of edges attached to it.
- AdjacencyMatrix<N extends Node<N,E,G>,E extends Edge<N,E,G>,G extends Graph<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
- AdjacencyMatrix() - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Builds a new matrix.
- AdjacencyMatrix(AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Copies the given matrix by keeping the same edge
ExternalSetCache, shallow-copying theNodes and deep-copying the values. - AdjacencyMatrix.NodeEdges<N extends Node<N,E,G>,E extends Edge<N,E,G>,G extends Graph<G,N,E>> - Class in it.unive.lisa.util.datastructures.graph
-
Utility class for representing the edges tied to a node, split into two sets: ingoing and outgoing.
- afterExecution(T) - Method in interface it.unive.lisa.checks.Check
-
Callback invoked only once after the end of the inspection of the program.
- allInstances() - Method in class it.unive.lisa.symbolic.types.BoolType
- allInstances() - Method in class it.unive.lisa.symbolic.types.IntType
- allInstances() - Method in class it.unive.lisa.symbolic.types.StringType
- allInstances() - Method in class it.unive.lisa.type.NullType
- allInstances() - Method in interface it.unive.lisa.type.Type
-
Yields all possible instances of this type, including itself.
- allInstances() - Method in class it.unive.lisa.type.TypeTokenType
- allInstances() - Method in class it.unive.lisa.type.Untyped
- allInstances() - Method in class it.unive.lisa.type.VoidType
- allMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
trueiff all the elements contained in this set satisfy the given predicate. - AllocationSite - Class in it.unive.lisa.analysis.impl.heap.pointbased
-
A heap identifier that track also the source location where it has been allocated and a field (optional).
- AllocationSite(ExternalSet<Type>, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
-
Builds an allocation site from its source code location (without field) and specifying if it is weak.
- AllocationSite(ExternalSet<Type>, String, CodeLocation) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
-
Builds a strong allocation site from its source code location (without field).
- AllocationSite(ExternalSet<Type>, String, SymbolicExpression, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
-
Builds an allocation site from its source code location and its field and specifying if it is weak.
- AllocationSite(ExternalSet<Type>, String, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
-
Builds a strong allocation site from its source code location and its field.
- AllocationSites - Class in it.unive.lisa.analysis.impl.heap.pointbased
-
A heap domain tracking sets of
AllocationSite. - AllocationSites() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
-
Builds an instance of HeapIdentiferSetLattice, corresponding to the top element.
- 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>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
-
The abstract analysis state at a given program point.
- AnalysisState(A, ExpressionSet<SymbolicExpression>) - Constructor for class it.unive.lisa.analysis.AnalysisState
-
Builds a new state.
- AnalysisState(A, SymbolicExpression) - 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.
- 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. - 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. - 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
- 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
- assign(I, E, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.impl.heap.MonolithicHeap
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- 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.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, 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.combination.CartesianProduct
- 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(HeapEnvironment<AllocationSites>, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- assume(InferenceSystem<NonInterference>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- assume(InferenceSystem<T>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- 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.impl.heap.MonolithicHeap
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- assume(ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- assumeBinaryExpression(ValueEnvironment<IntegerConstantPropagation>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- assumeBinaryExpression(ValueEnvironment<Interval>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- assumeBinaryExpression(ValueEnvironment<Parity>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- assumeBinaryExpression(ValueEnvironment<Sign>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.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(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(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
- AvailableExpressions - Class in it.unive.lisa.analysis.impl.dataflow
-
An implementation of the available expressions dataflow analysis, that focuses only on the expressions that are stored into some variable.
- AvailableExpressions() - Constructor for class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
-
Builds an empty available expressions object.
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
- 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
- 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
- BaseNonRelationalValueDomain<T extends BaseNonRelationalValueDomain<T>> - Class in it.unive.lisa.analysis.nonrelational.value
-
Base implementation for
NonRelationalValueDomains. - BaseNonRelationalValueDomain() - Constructor for class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- BasicAnnotationMatcher - Class in it.unive.lisa.program.annotations.matcher
-
An annotation matcher based on the annotation name.
- BasicAnnotationMatcher(Annotation) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
-
Builds the matcher from the name of the annotation.
- BasicAnnotationMatcher(String) - Constructor for class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
-
Builds the matcher from the name of the annotation.
- BasicAnnotationValue - Interface in it.unive.lisa.program.annotations.values
-
Abstract class representing a basic annotation value, namely annotation values that can be inside an
ArrayAnnotationValue. - beforeExecution(T) - Method in interface it.unive.lisa.checks.Check
-
Callback invoked only once before the beginning of the inspection of the program.
- BinaryExpression - Class in it.unive.lisa.program.cfg.statement
-
A binary expression.
- BinaryExpression - Class in it.unive.lisa.symbolic.value
-
A bynary expression that applies a
BinaryOperatorto twoSymbolicExpressions. - BinaryExpression(CFG, CodeLocation, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Builds the binary expression, happening at the given location in the program.
- BinaryExpression(ExternalSet<Type>, SymbolicExpression, SymbolicExpression, BinaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.BinaryExpression
-
Builds the binary expression.
- BinaryNativeCall - Class in it.unive.lisa.program.cfg.statement
-
A
NativeCallwith a exactly two arguments. - BinaryNativeCall(CFG, CodeLocation, String, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryNativeCall
-
Builds the untyped native call, happening at the given location in the program.
- BinaryNativeCall(CFG, CodeLocation, String, Type, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.BinaryNativeCall
-
Builds the native call, happening at the given location in the program.
- BinaryOperator - Enum in it.unive.lisa.symbolic.value
-
A binary operator that can be applied to a pair of
SymbolicExpressions. - binarySemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.BinaryNativeCall
-
Computes the semantics of the call, after the semantics of the parameters have been computed.
- 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. - 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.symbolic.types
-
An internal implementation of the
BooleanTypeinterface that can be used by domains that need a concrete instance of that interface. - 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.combination.CartesianProduct
- bottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- bottom() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- bottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- bottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- bottom() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- bottom() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- bottom() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- bottom() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.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.types.InferredTypes
- bottom() - Method in class it.unive.lisa.interprocedural.impl.CFGResults
- bottom() - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
- BOTTOM - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that the satisfiability evaluation resulted in an error.
- BOTTOM_REPR - Static variable in interface it.unive.lisa.analysis.Lattice
-
A
DomainRepresentationthat can be used to represent bottom values. - BOTTOM_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent bottom values.
- build(G) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators for the given graph.
- ByteAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A byte annotation value.
- ByteAnnotationValue(byte) - Constructor for class it.unive.lisa.program.annotations.values.ByteAnnotationValue
-
Builds a byte annotation value.
C
- Caches - Class in it.unive.lisa.caches
-
A holder of
ExternalSetCaches, to ensure that allExternalSets built to hold a given element type will share the same unique cache. - Call - Class in it.unive.lisa.program.cfg.statement
-
A call to another procedure.
- Call(CFG, CodeLocation, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.Call
-
Builds a call happening at the given source location.
- callgraph - Variable in class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
-
The call graph used to resolve method calls.
- CallGraph - Interface in it.unive.lisa.interprocedural.callgraph
-
A callgraph of the program to analyze, that knows how to resolve dynamic targets of
UnresolvedCalls. - CallGraphBasedAnalysis<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.interprocedural.impl
-
An interprocedural analysis based on a call graph.
- CallGraphBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
- 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.
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.BinaryNativeCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.Call
-
Computes the semantics of the call, after the semantics of all parameters have been computed.
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.CFGCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.HybridCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.OpenCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.TernaryNativeCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.UnaryNativeCall
- callSemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>[], ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.BoolType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.IntType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.symbolic.types.StringType
- canBeAssignedTo(Type) - Method in class it.unive.lisa.type.NullType
- 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
- canBeSimplified() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- canBeSimplified() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- canBeSimplified() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields
trueif and only if this edge could be simplified if one of the nodes connected to it is simplified (i.e., removed from the graph). - canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- 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. - canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.types.InferredTypes
- CartesianProduct<C extends CartesianProduct<C,T1,T2,E,I>,T1 extends SemanticDomain<T1,E,I> & Lattice<T1>,T2 extends SemanticDomain<T2,E,I> & Lattice<T2>,E extends SymbolicExpression,I extends Identifier> - Class in it.unive.lisa.analysis.combination
-
A generic Cartesian product abstract domain between two non-communicating
SemanticDomains (i.e., no exchange of information between the abstract domains), assigning the sameIdentifiers and handling instances of the sameSymbolicExpressions. - CartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.CartesianProduct
-
Builds the Cartesian product abstract domain.
- 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(CFGDescriptor) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFG(CFGDescriptor, Collection<Statement>, AdjacencyMatrix<Statement, Edge, CFG>) - Constructor for class it.unive.lisa.program.cfg.CFG
-
Builds the control flow graph.
- CFGCall - Class in it.unive.lisa.program.cfg.statement
-
A call to one or more of the CFGs under analysis.
- CFGCall(CFG, CodeLocation, String, CFG, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGCall(CFG, CodeLocation, String, Collection<CFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.CFGCall
-
Builds the CFG call, happening at the given location in the program.
- CFGDescriptor - Class in it.unive.lisa.program.cfg
-
A descriptor of a CFG, containing the debug informations (source file, line, column) as well as metadata.
- CFGDescriptor(CodeLocation, Unit, boolean, String, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
-
Builds the descriptor with
Untypedreturn type. - CFGDescriptor(CodeLocation, Unit, boolean, String, Type, Annotations, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
-
Builds the descriptor.
- CFGDescriptor(CodeLocation, Unit, boolean, String, Type, Parameter...) - Constructor for class it.unive.lisa.program.cfg.CFGDescriptor
-
Builds the descriptor.
- CFGDescriptorWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the descriptor of one of the CFGs under analysis.
- CFGDescriptorWarning(CFGDescriptor, String) - Constructor for class it.unive.lisa.checks.warnings.CFGDescriptorWarning
-
Builds the warning.
- cfgMatrix - Variable in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
The matrix of the cfg containing this structure.
- CFGResults<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.interprocedural.impl
- CFGResults(CFGWithAnalysisResults<A, H, V>) - Constructor for class it.unive.lisa.interprocedural.impl.CFGResults
-
Builds a new result.
- 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>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
- CFGWithAnalysisResults(CFG, AnalysisState<A, H, V>) - 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>, Map<Statement, AnalysisState<A, H, V>>, Map<Statement, AnalysisState<A, H, V>>) - Constructor for class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Builds the control flow graph, storing the given mapping between nodes and fixpoint computation results.
- CHACallGraph - Class in it.unive.lisa.interprocedural.callgraph.impl
-
A call graph constructed following the Class Hierarchy Analysis as defined in: Frank Tip and Jens Palsberg.
- CHACallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.impl.CHACallGraph
- 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.
- 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>,H extends HeapDomain<H>,V extends ValueDomain<V>> - 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>>>) - 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>>>) - Constructor for class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Builds the tool, storing the given results.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- clear() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Cleans the cache, removing all elements.
- clear() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- CodeElement - Interface in it.unive.lisa.program
-
Interface for code elements that have to provide information about the location where they appear.
- CodeLocation - Interface in it.unive.lisa.program.cfg
-
A generic interface for representing the location of an element in the source code (e.g., source/line/column, source/offset, ...).
- CodeMember - Interface in it.unive.lisa.program.cfg
-
A program member that has code within it.
- collect() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a concrete list containing all the elements corresponding to the bits in this set.
- collect(T...) - Static method in class it.unive.lisa.util.collections.CollectionUtilities
-
Stores the given objects into a collection and returns it.
- CollectionsDiffBuilder<T> - Class in it.unive.lisa.util.collections
-
An utility class that can compute the difference between two collections containing the same object types.
- CollectionsDiffBuilder(Class<T>, Collection<T>, Collection<T>) - Constructor for class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Builds the diff builder.
- CollectionUtilities - Class in it.unive.lisa.util.collections
-
Utility methods for operations on
Collections. - COLOR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The color attribute name.
- COLOR_BLACK - Static variable in class it.unive.lisa.outputs.DotGraph
-
The black color.
- COLOR_BLUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The blue color.
- COLOR_GRAY - Static variable in class it.unive.lisa.outputs.DotGraph
-
The gray color.
- COLOR_RED - Static variable in class it.unive.lisa.outputs.DotGraph
-
The red color.
- COMMON - it.unive.lisa.outputs.compare.JsonReportComparer.REPORT_TYPE
-
Indicates that the objects being reported are present in both reports.
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.BoolType
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.IntType
- commonSupertype(Type) - Method in class it.unive.lisa.symbolic.types.StringType
- commonSupertype(Type) - Method in class it.unive.lisa.type.NullType
- 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
- compare(JsonReport, JsonReport, File, File) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compare(JsonReport, JsonReport, File, File, JsonReportComparer.DiffReporter) - Static method in class it.unive.lisa.outputs.compare.JsonReportComparer
-
Compares the two reports.
- compareTo(DomainRepresentation) - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.CFGWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.GlobalWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.StatementWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.UnitWarning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.Warning
- compareTo(Warning) - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
- compareTo(JsonReport.JsonWarning) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SourceCodeLocation
- compareTo(CodeLocation) - Method in class it.unive.lisa.program.SyntheticLocation
- compareTo(Statement) - Method in class it.unive.lisa.program.cfg.statement.Statement
- compareTo(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
- COMPARISON_EQ - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two values, check whether they have same values and same type.
- COMPARISON_GE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1andn2of typeNumericType, this operator checks ifn1is in relation through the "greater or equal than" relation withn2. - COMPARISON_GT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1andn2, this operator checks ifn1is in relation through the "greater than" relation withn2. - COMPARISON_LE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1andn2, this operator checks ifn1is in relation through the "less or equal than" relation withn2. - COMPARISON_LT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two numeric values
n1andn2, this operator checks ifn1is in relation through the "less than" relation withn2. - COMPARISON_NE - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two values, check whether they have different values or different type.
- CompilationUnit - Class in it.unive.lisa.program
-
A compilation unit of the program to analyze.
- CompilationUnit(CodeLocation, String, boolean) - Constructor for class it.unive.lisa.program.CompilationUnit
-
Builds a compilation unit, defined at the given program point.
- CompilationUnitAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A compilation unit annotation value.
- CompilationUnitAnnotationValue(String) - Constructor for class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
-
Builds a compilation unit annotation value.
- compute(Comparator<T>) - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Computes the diff between the collections used to create this object.
- 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.
- configurableComponents() - Static method in class it.unive.lisa.LiSAFactory
-
Yields the collection of
LiSAFactory.ConfigurableComponents that can be used to customize the analysis. - 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.
- ConstantPropagation - Class in it.unive.lisa.analysis.impl.dataflow
-
An implementation of the constant propagation dataflow analysis, that focuses only on integers.
- ConstantPropagation() - Constructor for class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
-
Builds an empty constant propagation object.
- 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(ContextSensitivityToken) - Method in class it.unive.lisa.interprocedural.impl.CFGResults
-
Yields
trueif a result exists for the giventoken. - contains(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Returns
trueifmatchermatches at least one of this annotations,falseotherwise. - contains(CFG) - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
-
Yields
trueif a result exists for the givencfg. - 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
- 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. - containsNode(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields
trueif the given node is contained in this matrix. - ContextBasedAnalysis<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.interprocedural.impl
-
A context sensitive interprocedural analysis.
- ContextBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.impl.ContextBasedAnalysis
-
Builds the analysis, using
SingleScopeTokens. - ContextBasedAnalysis(ContextSensitivityToken) - Constructor for class it.unive.lisa.interprocedural.impl.ContextBasedAnalysis
-
Builds the analysis.
- ContextInsensitiveToken - Class in it.unive.lisa.interprocedural.impl
-
A context sensitive token that is always the same (aka, do not track any information about the call stack).
- ContextSensitivityToken - Interface in it.unive.lisa.interprocedural.impl
-
A token for interprocedural analysis that tunes the level of context sensitivity.
- 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(AdjacencyMatrix<Statement, Edge, CFG>, Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Builds the structure.
- copy() - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Copies this environment.
- copy() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- copy() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
- copy() - Method in class it.unive.lisa.analysis.nonrelational.value.ValueEnvironment
- copy() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- copy() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields a fresh copy of this set, defined over the same cache and containing the same elements.
- copy() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
-
Copying an
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 source file 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. - DEFAULT_WIDENING_THRESHOLD - Static variable in class it.unive.lisa.LiSAConfiguration
-
The default number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice). - DefaultImplementation - Annotation Type in it.unive.lisa
-
An annotation defining the default implementation for an analysis component.
- DefaultParameters - Annotation Type in it.unive.lisa
-
An annotation defining the default parameters to use when automatically creating an instance of the annotated type.
- 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.
- 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.
- 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. - 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<N,E,G>,E extends Edge<N,E,G>> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
An algorithms that evaluates the dominators of each node in a graph.
- Dominators() - Constructor for class it.unive.lisa.util.datastructures.graph.algorithms.Dominators
-
Builds the dominators.
- DotCFG - Class in it.unive.lisa.outputs
- DotGraph<N extends Node<N,E,G>,E extends Edge<N,E,G>,G extends Graph<G,N,E>> - Class in it.unive.lisa.outputs
-
An auxiliary graph built from a
Graphthat can be dumped in dot format, together with a legend. - DotGraph(String, Graph) - Constructor for class it.unive.lisa.outputs.DotGraph
-
Builds a graph.
- DoubleAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A double annotation value.
- DoubleAnnotationValue(double) - Constructor for class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
-
Builds a double annotation value.
- dump(Writer) - Method in class it.unive.lisa.outputs.JsonReport
-
Dumps this report to the given
Writerinstance, serializing it as a json object. - dump(Writer) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Dumps the content of this graph in the given writer, formatted as a dot file.
- dump(Writer, Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Dumps the content of this graph in the given writer, formatted as a dot file.
- dumpDot(Writer) - Method in class it.unive.lisa.outputs.DotGraph
-
Dumps this graph through the given
Writer. - DYNAMIC_TYPES - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
-
A strategy where the dynamic (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, than
UnresolvedCall.ResolutionStrategy.matches(Parameter[], Expression[])returntrue.
E
- Edge - Class in it.unive.lisa.program.cfg.edge
-
An edge of a control flow graph, connecting two statements.
- Edge<N extends Node<N,E,G>,E extends Edge<N,E,G>,G extends Graph<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
An edge of a
Graph. - Edge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.Edge
-
Builds the edge.
- elements - Variable in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
The set of elements contained in the lattice.
- elements - Variable in class it.unive.lisa.analysis.lattices.SetLattice
-
The set of elements contained in the lattice.
- elements() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Yields the set of elements contained in this lattice element.
- elements() - Method in class it.unive.lisa.analysis.lattices.SetLattice
-
Yields the set of elements contained in this lattice element.
- empty() - Method in class it.unive.lisa.interprocedural.impl.ContextInsensitiveToken
- empty() - Method in interface it.unive.lisa.interprocedural.impl.ContextSensitivityToken
-
A token without any context sensitivity.
- empty() - Method in class it.unive.lisa.interprocedural.impl.RecursionFreeToken
- empty() - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- entrypoints - Variable in class it.unive.lisa.util.datastructures.graph.Graph
-
The nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- EnumAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
An enum annotation value.
- EnumAnnotationValue(String, String) - Constructor for class it.unive.lisa.program.annotations.values.EnumAnnotationValue
-
Builds an enum annotation value.
- Environment<M extends Environment<M,E,T,V>,E extends SymbolicExpression,T extends NonRelationalElement<T,E,M>,V extends Lattice<V>> - Class in it.unive.lisa.analysis.nonrelational
-
An environment for a
NonRelationalDomain, that 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.
- 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.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- equals(Object) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- equals(Object) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- equals(Object) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- equals(Object) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- equals(Object) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.representation.DomainRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.PairRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- equals(Object) - Method in class it.unive.lisa.analysis.ScopeToken
- equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- equals(Object) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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.interprocedural.impl.RecursionFreeToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- equals(Object) - Method in class it.unive.lisa.LiSAConfiguration
- equals(Object) - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- equals(Object) - Method in class it.unive.lisa.outputs.DotGraph
- equals(Object) - Method in class it.unive.lisa.outputs.JsonReport
- equals(Object) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotation
- equals(Object) - Method in class it.unive.lisa.program.annotations.AnnotationMember
- equals(Object) - Method in class it.unive.lisa.program.annotations.Annotations
- equals(Object) - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- equals(Object) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- equals(Object) - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- equals(Object) - Method in class it.unive.lisa.program.cfg.edge.Edge
- equals(Object) - Method in class it.unive.lisa.program.cfg.Parameter
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Call
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.CFGCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Expression
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.HybridCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.Literal
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NativeCall
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- equals(Object) - Method in class it.unive.lisa.program.cfg.statement.OpenCall
- 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.UnresolvedCall
- 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.types.BoolType
- equals(Object) - Method in class it.unive.lisa.symbolic.types.IntType
- equals(Object) - Method in class it.unive.lisa.symbolic.types.StringType
- 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.NullType
- equals(Object) - Method in class it.unive.lisa.type.TypeTokenType
- equals(Object) - Method in class it.unive.lisa.type.Untyped
- equals(Object) - Method in class it.unive.lisa.type.VoidType
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- equals(Object) - Method in class it.unive.lisa.util.collections.IterableArray
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- equals(Object) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- equals(Object) - Method in class it.unive.lisa.util.numeric.IntInterval
- equals(Object) - Method in class it.unive.lisa.util.numeric.MathNumber
- 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, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- 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, 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.ValueEnvironment
- evalBinaryExpression(BinaryOperator, NonInterference, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- evalBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- evalBinaryExpression(BinaryOperator, Parity, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- evalBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- evalBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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<NonInterference>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalIdentifier(Identifier, InferenceSystem<InferredTypes>, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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, 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, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalNonNullConstant(Constant, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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(NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalNullConstant(InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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, NonInterference, NonInterference, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalTernaryExpression(TernaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- evalTernaryExpression(TernaryOperator, InferredTypes, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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.
- evalUnaryExpression(UnaryOperator, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- evalUnaryExpression(UnaryOperator, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- evalUnaryExpression(UnaryOperator, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- evalUnaryExpression(UnaryOperator, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- evalUnaryExpression(UnaryOperator, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- evalUnaryExpression(UnaryOperator, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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, Program, Iterable<C>) - Static method in class it.unive.lisa.checks.ChecksExecutor
-
Executes all the given checks on the given inputs cfgs.
- EXIT_NODE_EXTRA_ATTR - Static variable in class it.unive.lisa.outputs.DotGraph
-
The name of the extra attribute identifying exit nodes.
- EXIT_NODE_EXTRA_VALUE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The value of the extra attribute identifying exit nodes.
- Expression - Class in it.unive.lisa.program.cfg.statement
-
An expression that is part of a statement of the program.
- Expression(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds an untyped expression happening at the given source location, that is its type is
Untyped.INSTANCE. - Expression(CFG, CodeLocation, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Expression
-
Builds a typed expression happening at the given source location.
- 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.
- FieldSensitivePointBasedHeap - Class in it.unive.lisa.analysis.impl.heap.pointbased
-
A field-sensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
- FieldSensitivePointBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap.
- 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_DYNAMIC_THEN_STATIC - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
-
A strategy where the first parameter is tested using
UnresolvedCall.ResolutionStrategy.DYNAMIC_TYPES, while the rest is tested usingUnresolvedCall.ResolutionStrategy.STATIC_TYPES. - fixpoint(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, 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>, Class<? extends WorkingSet<Statement>>, int) - Method in class it.unive.lisa.interprocedural.impl.ContextBasedAnalysis
- fixpoint(AnalysisState<A, H, V>, Class<? extends WorkingSet<Statement>>, int) - Method in class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
- fixpoint(AnalysisState<A, H, V>, 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>, Map<Statement, AnalysisState<A, H, V>>, InterproceduralAnalysis<A, H, V>, 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>, InterproceduralAnalysis<A, H, V>, WorkingSet<Statement>, int) - Method in class it.unive.lisa.program.cfg.CFG
-
Computes a fixpoint over this control flow graph.
- fixpoint(Map<N, T>, WorkingSet<N>, Fixpoint.FixpointImplementation<N, E, T>) - Method in class it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint
-
Runs the fixpoint.
- Fixpoint<G extends Graph<G,N,E>,N extends Node<N,E,G>,E extends Edge<N,E,G>,T> - Class in it.unive.lisa.util.datastructures.graph.algorithms
-
A fixpoint algorithm for a
Graph, parametric to 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.
- FixpointResults<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.interprocedural.impl
- FixpointResults(CFGResults<A, H, V>) - Constructor for class it.unive.lisa.interprocedural.impl.FixpointResults
-
Builds a new result.
- FloatAnnotationValue - Class in it.unive.lisa.program.annotations.values
-
A float annotation value.
- FloatAnnotationValue(float) - Constructor for class it.unive.lisa.program.annotations.values.FloatAnnotationValue
-
Builds a float annotation value.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this matrix going from the given node to such node.
- followersOf(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the collection of the nodes that are followers of the given one, that is, all nodes such that there exist an edge in this control flow graph going from the given node to such node.
- forceDeleteFolder(String) - Static method in class it.unive.lisa.util.file.FileManager
-
Deletes a folder with all of its contents if it exists.
- forget(CFG) - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
-
Forgets all results about the given
CFG. - forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.AnalysisState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonrelational.Environment
- forgetIdentifier(Identifier) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets an
Identifier. - forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- forgetIdentifiers(Iterable<Identifier>) - Method in interface it.unive.lisa.analysis.SemanticDomain
-
Forgets all the given
Identifiers. - format(long) - Method in enum it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos into a string with time units.
- from(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
- from(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
-
Builds a point-based heap from a reference one.
- fromBoolean(boolean) - Static method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Transforms a boolean value to a
SemanticDomain.Satisfiabilityinstance. - fromCFG(CFG, String, Function<Statement, String>) - Static method in class it.unive.lisa.outputs.DotCFG
- 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(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- gen(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- gen(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- 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. - gen(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- gen(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- gen(ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- get(int) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the
pos-th element of this cache. - getAbstractResultOf(CFGCall, AnalysisState<A, H, V>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.impl.ContextBasedAnalysis
- getAbstractResultOf(CFGCall, AnalysisState<A, H, V>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
- getAbstractResultOf(CFGCall, AnalysisState<A, H, V>, ExpressionSet<SymbolicExpression>[]) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Resolves the given call to all of its possible runtime targets, and then computes an analysis state that abstracts the execution of the possible targets considering that they were given
parametersas actual parameters. - getAdjacencyMatrix() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the adjacency matrix backing this graph.
- getAll() - Method in class it.unive.lisa.interprocedural.impl.CFGResults
-
Yields all the results stored in this object, for any possible
ContextSensitivityTokenused. - getAllCFGs() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all the
CFGs defined in this unit. - getAllCFGs() - Method in class it.unive.lisa.program.Program
-
Yields the collection of all the
CFGs defined in this unit. - getAllCFGs() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
CFGs defined in this unit. - getAllCodeMembers() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
CodeMembers defined in this unit. - getAllConstructs() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all the
NativeCFGs defined in this unit. - getAllConstructs() - Method in class it.unive.lisa.program.Program
-
Yields the collection of all the
NativeCFGs defined in this unit. - getAllConstructs() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
NativeCFGs defined in this unit. - getAllExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller, or throwing an error (i.e., all such statements on which either
Statement.stopsExecution()orStatement.throwsError()hold). - getAllGlobals() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all the
Globals defined in this unit. - getAllGlobals() - Method in class it.unive.lisa.program.Program
-
Yields the collection of all the
Globals defined in this unit. - getAllGlobals() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all the
Globals defined in this unit. - getAlternatives() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the alternatives for this component, that is, the concrete classes that implements it.
- getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.interprocedural.impl.ContextBasedAnalysis
- getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
- getAnalysisResultsOf(CFG) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields the results of the given analysis, identified by its class, on the given
CFG. - getAnalysisStateAfter(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result at a given statement (exit state).
- getAnalysisStateBefore(Statement) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the computed result before a given statement (entry state).
- getAnnotationMembers() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation members of this annotation.
- getAnnotationName() - Method in class it.unive.lisa.program.annotations.Annotation
-
Yields the annotation name of this annotation.
- getAnnotations() - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the list of annotations.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the annotations of this descriptor.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the annotations of this parameter.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the annotations of this variable, retrieved from the variable table of the cfg this variable belongs to.
- getAnnotations() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the annotations of this variable.
- getAnnotations() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the annotations of this compilation unit.
- getAnnotations() - Method in class it.unive.lisa.program.Global
-
Yields the annotations of this global element.
- getAnnotations() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the annotations of this identifier.
- getAnnotations(AnnotationMatcher) - Method in class it.unive.lisa.program.annotations.Annotations
-
Yields the annotations that are matched by the matcher
m. - getArgs() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the array containing the arguments of the CFG associated with this descriptor.
- getBaseType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the base type of this array type.
- getBody() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
-
Yields the
Statements contained in the body of this loop. - getCache() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- getCache() - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the cache that this set is connected to.
- getCache() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- getCallees(CodeMember) - Method in class it.unive.lisa.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.interprocedural.callgraph.BaseCallGraph
- getCallers(CodeMember) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields all the
CodeMembers that call the given one. - getCallGraph() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
CallGraphfor the analysis. - 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
- getCFG(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
CFGdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getCFGs() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of
CFGs defined in this unit. - getCFGsByName(String) - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all
CFGs defined in this unit that have the given name. - getChild() - Method in class it.unive.lisa.symbolic.heap.AccessChild
-
Yields the expression representing the child.
- getCodeLocation() - Method in interface it.unive.lisa.program.cfg.CodeLocation
-
Yields the string code location representation.
- getCodeLocation() - Method in class it.unive.lisa.program.SourceCodeLocation
- getCodeLocation() - Method in class it.unive.lisa.program.SyntheticLocation
- getCodeLocation() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the code location of the statement that has generated this symbolic expression.
- getCodeMember() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
-
Yields the
CodeMemberrepresented by this node. - getCodeMember(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
CodeMemberdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getCodeMembers() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of
CodeMembers defined in this unit. - getCodeMembersByName(String) - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all
CodeMembers defined in this unit that have the given name. - getCol() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the column where this code element happens in the source file.
- getCommons() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the pair of elements (deemed to be equal) that are contained in both collections used to create this builder.
- getCompleteStructure() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields an
AdjacencyMatrixcontaining the full structure (nodes and edges) represented by this conditional structure. - getComponent() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the component represented by this
LiSAFactory.ConfigurableComponent. - getComputedExpressions() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the last computed expression.
- getCondition() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the condition of this structure.
- getConstruct(String) - Method in class it.unive.lisa.program.Unit
-
Yields the
NativeCFGdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getConstructName() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
-
Yields the CFG that is targeted by this CFG call.
- getConstructs() - Method in class it.unive.lisa.program.Unit
-
Yields the collection of constructs (
NativeCFGs) defined in this unit. - getConstructsByName(String) - Method in class it.unive.lisa.program.Unit
-
Yields the collection of all
NativeCFGs defined in this unit that have the given name. - getContainer() - Method in class it.unive.lisa.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. - getDefaultFor(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
-
Builds the default instance of the specified analysis component.
- getDefaultInstance() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the default implementation for this component, that is, the concrete class that implements it and that will be used if the component is requested but the user did not specify which implementation to use (among the ones offered by
LiSAFactory.ConfigurableComponent.getAlternatives(). - getDescriptor() - Method in class it.unive.lisa.checks.warnings.CFGDescriptorWarning
-
Yields the cfg where this warning was reported on.
- getDescriptor() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the name of this control flow graph.
- getDescriptor() - Method in interface it.unive.lisa.program.cfg.CodeMember
-
Yields the
CFGDescriptorcontaining the signature of this code member. - getDescriptor() - Method in class it.unive.lisa.program.cfg.NativeCFG
- getDestination() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getDestination() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getDestination() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge ends.
- 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.program.cfg.statement.Expression
-
Yields the dynamic type of this expression, that is, the most specific common supertype of all its runtime types (available through
Expression.getRuntimeTypes(). - 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.getTypes(). - getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the edge connecting the two given nodes, if any.
- getEdgeConnecting(N, N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the edge connecting the two given nodes, if any.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the set of edges of this matrix.
- getEdges() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of edges of this graph.
- getEdgesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of edges of this graph.
- getEntries() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the entry nodes of this matrix, that is, the nodes that have no predecessors.
- getEntrypoints() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the nodes of this graph that are entrypoints, that is, that can be executed from other graphs.
- getEntryPoints() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
CFGs that are entry points in this program. - getEntryState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the entry state.
- getExecutionState() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Yields the execution state (also called program counter), that might change when evaluating an expression.
- getExits() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the exit nodes of this matrix, that is, the nodes that have no followers.
- getExitState() - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
-
Yields the exit state.
- getExpression() - Method in class it.unive.lisa.checks.warnings.ExpressionWarning
-
Yields the expression where this warning was reported on.
- getExpression() - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Yields the expression that is the argument of this unary statement.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapDereference
-
Yields the expression to be dereferred.
- getExpression() - Method in class it.unive.lisa.symbolic.heap.HeapReference
-
Yields the referred expression.
- getExpression() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
-
Yields the inner expression, that is transformed by this expression by applying
UnaryExpression.getOperator(). - getFalseBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Yields the
Statements contained in the false branch of this if-then-else. - getFiles() - Method in class it.unive.lisa.outputs.JsonReport
-
Yields the collection of file names contained into this report.
- getFirstFollower() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Yields the first follower of this structure, that is, the first statement after the conditional structure exits.
- getFixpointWorkingSet() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the concrete class of
WorkingSetto be used in fixpoints. - getFullName() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the full name of the CFG associated with this descriptor.
- getFullSignature() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the full signature of this cfg, that is,
CFGDescriptor.getSignature()preceded by the cfg's return type. - getFullSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the full signature of this cfg including parameters names, that is,
CFGDescriptor.getSignatureWithParNames()preceded by the cfg's return type. - 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. - 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.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. - 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. - 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.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the ingoing edges to the given node.
- getIngoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the ingoing edges to the given node.
- getInnerType() - Method in interface it.unive.lisa.type.ArrayType
-
Yields the type of the inner dimension of this array type.
- getInstance(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
-
Creates an instance of the given
component. - getInstanceCFG(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the instance
CFGdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getInstanceCFGs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
CFGs defined in this unit. - getInstanceCFGsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all instance
CFGs defined in this unit that have the given name. - getInstanceCodeMember(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the instance
CodeMemberdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getInstanceCodeMembers(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance
CodeMembers defined in this unit. - getInstanceCodeMembersByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all instance
CodeMembers defined in this unit that have the given name. - getInstanceConstruct(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the instance
NativeCFGdefined in this unit having the given signature (CFGDescriptor.getSignature()), if any. - getInstanceConstructs(boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of instance constructs (
NativeCFGs) defined in this unit. - getInstanceConstructsByName(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of all instance
NativeCFGs defined in this unit that have the given name. - getInstanceGlobal(String, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the instance
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
CompilationUnits that are instances of this one, including itself. - getInterproceduralAnalysis() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
InterproceduralAnalysisfor the analysis. - getInvolvedIdentifiers() - Method in interface it.unive.lisa.analysis.dataflow.DataflowElement
-
Yields all the
Identifiers that are involved in the definition of this element. - getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- getKeys() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the set of keys currently in this lattice.
- getLeft() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the left hand-side of the expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the left-hand side operand of this expression.
- getLeft() - Method in class it.unive.lisa.symbolic.value.TernaryExpression
-
Yields the left-hand side operand of this expression.
- getLine() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the line number where this code element happens in the source file.
- getLocation() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported.
- getLocation() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
- getLocation() - Method in class it.unive.lisa.program.cfg.Parameter
- getLocation() - Method in class it.unive.lisa.program.cfg.statement.Statement
- getLocation() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
- getLocation() - Method in interface it.unive.lisa.program.CodeElement
-
Yields the location where this code element appears in the source file.
- getLocation() - Method in class it.unive.lisa.program.CompilationUnit
- getLocation() - Method in class it.unive.lisa.program.Global
- getLocationName() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSite
-
Yields the code location string representation where this allocation site has been allocated.
- getLocationWithBrackets() - Method in class it.unive.lisa.checks.warnings.WarningWithLocation
-
Yields the location where this warning was reported, surrounded by square brackets.
- getLoopGuards(ProgramPoint) - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the guard of all
Loops containing the given program point. - getLow() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields the lower bound of this interval.
- getMap() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Yields the map associated with this functional lattice element.
- getMatchingCodeMember(CFGDescriptor) - Method in class it.unive.lisa.program.Unit
-
Finds all the code members whose signature matches the one of the given
CFGDescriptor, according toCFGDescriptor.matchesSignature(CFGDescriptor). - getMatchingInstanceCodeMembers(CFGDescriptor, boolean) - Method in class it.unive.lisa.program.CompilationUnit
-
Finds all the instance code members whose signature matches the one of the given
CFGDescriptor, according toCFGDescriptor.matchesSignature(CFGDescriptor). - getMessage() - Method in class it.unive.lisa.checks.warnings.Warning
-
Yields the message of this warning.
- getMessage() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Yields the message of this warning.
- getMetaVariable() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
- 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.OpenCall
- 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.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.program.cfg.CFGDescriptor
-
Yields the name of the CFG associated with this descriptor.
- getName() - Method in class it.unive.lisa.program.cfg.Parameter
-
Yields the name of this parameter.
- getName() - Method in class it.unive.lisa.program.cfg.statement.VariableRef
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.cfg.VariableTableEntry
-
Yields the name of this variable.
- getName() - Method in class it.unive.lisa.program.Global
-
Yields the name of this global.
- getName() - Method in class it.unive.lisa.program.Unit
-
Yields the name of the unit.
- getName() - Method in class it.unive.lisa.symbolic.value.Identifier
-
Yields the name of this identifier.
- getNativeTargets() - Method in class it.unive.lisa.program.cfg.statement.HybridCall
-
Yields the CFGs that are targeted by this CFG call.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the collection of nodes of this matrix.
- getNodes() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the set of nodes of this graph.
- getNodesCount() - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the total number of nodes of this graph.
- getNormalExitpoints() - Method in class it.unive.lisa.program.cfg.CFG
-
Yields the statements of this control flow graph that are normal exitpoints, that is, that normally ends the execution of this cfg, returning the control to the caller without throwing an error (i.e., all such statements on which
Statement.stopsExecution()holds butStatement.throwsError()does not). - getOffset() - Method in class it.unive.lisa.program.cfg.statement.Statement
-
Yields the offset of this statement relative to its containing cfg.
- getOnlyFirst() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the first collection used to create this builder.
- getOnlySecond() - Method in class it.unive.lisa.util.collections.CollectionsDiffBuilder
-
Yields a collection containing all the elements that are contained only in the second collection used to create this builder.
- getOperator() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
-
Yields the operator that is applied to
BinaryExpression.getLeft()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(). - getOutgoing() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
-
Yields the outgoing edges.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Yields the outgoing edges from the given node.
- getOutgoingEdges(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Yields the outgoing edges from the given node.
- getParameters() - Method in class it.unive.lisa.program.cfg.statement.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) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
-
Returns all the possible types of the given expression, that is a receiver of a method call.
- getPossibleTypesOfReceiver(Expression) - Method in class it.unive.lisa.interprocedural.callgraph.impl.CHACallGraph
- getPossibleTypesOfReceiver(Expression) - Method in class it.unive.lisa.interprocedural.callgraph.impl.RTACallGraph
- getQualifiedName() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
-
Yields the qualified name of the static target of this call.
- getQualifiedName() - Method in class it.unive.lisa.program.cfg.statement.HybridCall
-
Yields the qualified name of the static target of this call.
- getReferencedLocation() - Method in class it.unive.lisa.symbolic.value.MemoryPointer
-
Yields the heap location pointed by this pointer.
- getRegisteredTypes() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
Types that have been registered in this program. - getResultOf(CFG) - Method in class it.unive.lisa.checks.semantic.CheckToolWithAnalysisResults
-
Yields the analysis results stored in this tool for the given
CFG. - getReturnType() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the return type of the CFG associated with this descriptor.
- getRight() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
-
Yields the right hand-side of the 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 class it.unive.lisa.analysis.types.InferredTypes
-
Yields the
ExternalSetcontaining the types held by this instance. - getRuntimeTypes() - Method in class it.unive.lisa.program.cfg.statement.Expression
-
The concrete types that this expression can have at runtime.
- 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.
- getSemanticChecks() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the collection of
SemanticChecks that are to be executed during the analysis. - getSignature() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the signature of this cfg, composed by its
CFGDescriptor.getFullName()followed by its parameters types. - getSignatureWithParNames() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the signature of this cfg, composed by its
CFGDescriptor.getFullName()followed by its parameters (types and names). - getSingleton() - Static method in class it.unive.lisa.interprocedural.impl.ContextInsensitiveToken
-
Return an instance of the class.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.impl.RecursionFreeToken
-
Return an empty token.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
-
Return an empty token.
- getSource() - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- getSource() - Method in class it.unive.lisa.program.cfg.edge.Edge
- getSource() - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Yields the node where this edge originates.
- getSourceFile() - Method in class it.unive.lisa.program.SourceCodeLocation
-
Yields the source file name where this code element happens.
- getSources() - Method in class it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement
-
Yields the set of identifiers that this replacement originates from, that is, the ones whose value will be assigned to the targets.
- getState() - Method in class it.unive.lisa.analysis.AnalysisState
-
Yields the
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() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
AbstractStatefor the analysis. - 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.
- 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.
- getStrategy() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
-
Yields the
UnresolvedCall.ResolutionStrategyof the parameters of this call. - getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.BinaryOperator
- getStringRepresentation() - Method in interface it.unive.lisa.symbolic.value.Operator
-
Yields the string representation of the operator.
- getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.TernaryOperator
- getStringRepresentation() - Method in enum it.unive.lisa.symbolic.value.UnaryOperator
- 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.impl.heap.MonolithicHeap
- getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- getSubstitution() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- getSubstitution() - Method in class it.unive.lisa.analysis.nonrelational.heap.HeapEnvironment
- getSuperUnits() - Method in class it.unive.lisa.program.CompilationUnit
-
Yields the collection of
CompilationUnits that this unit directly inherits from. - getSyntacticChecks() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the collection of
SyntacticChecks that are to be executed during the analysis. - 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.
- getTargetName() - Method in class it.unive.lisa.program.cfg.statement.OpenCall
-
Yields the name of the target of this open call.
- getTargetName() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
-
Yields the name of the target of this 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.CFGCall
-
Yields the CFGs that are targeted by this CFG call.
- getTargets() - Method in class it.unive.lisa.program.cfg.statement.HybridCall
-
Yields the CFGs that are targeted by this CFG call.
- getTrueBranch() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Yields the
Statements contained in the true branch of this if-then-else. - getTypes() - Method in class it.unive.lisa.symbolic.SymbolicExpression
-
Yields the runtime types of this expression.
- getTypes() - Method in class it.unive.lisa.type.TypeTokenType
-
Yields the
Types represented by this type token. - getUnit() - Method in class it.unive.lisa.checks.warnings.GlobalWarning
-
Yields the unit containing the global where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.checks.warnings.UnitWarning
-
Yields the unit where this warning was reported on.
- getUnit() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
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
CompilationUnitdefined in this unit having the given name (Unit.getName()), if any. - getUnits() - Method in class it.unive.lisa.program.Program
-
Yields the collection of
CompilationUnits defined in this program. - getValue() - Method in class it.unive.lisa.program.annotations.AnnotationMember
-
Yields the annotation value of this annotation member.
- getValue() - Method in class it.unive.lisa.program.cfg.statement.Literal
-
Yields the value of this literal.
- getValue() - Method in class it.unive.lisa.symbolic.value.Constant
-
Yields the constant value.
- getValues() - Method in class it.unive.lisa.analysis.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.CFGDescriptor
-
Yields the list of
VariableTableEntrys that have been added to this descriptor. - getWarnings() - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Returns an unmodifiable view of the warnings that have been generated up to now using this tool.
- getWarnings() - Method in class it.unive.lisa.LiSA
-
Yields an unmodifiable view of the warnings that have been generated during the analysis.
- getWarnings() - Method in class it.unive.lisa.outputs.JsonReport
-
Yields the collection of
JsonReport.JsonWarnings contained into this report. - getWideningThreshold() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice). - getWorkdir() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the working directory where LiSA will dump all of its outputs.
- 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.BaseNonRelationalValueDomain
- glbAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- 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.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>, 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, String) - Constructor for class it.unive.lisa.program.Global
-
Builds an untyped global variable, identified by its name.
- Global(CodeLocation, String, Type) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- Global(CodeLocation, String, Type, Annotations) - Constructor for class it.unive.lisa.program.Global
-
Builds the global reference, identified by its name and its type, happening at the given location in the program.
- GlobalWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Globals under analysis.
- GlobalWarning(Unit, Global, String) - Constructor for class it.unive.lisa.checks.warnings.GlobalWarning
-
Builds the warning.
- Graph<G extends Graph<G,N,E>,N extends Node<N,E,G>,E extends Edge<N,E,G>> - Class in it.unive.lisa.util.datastructures.graph
-
A generic graph, backed by an
AdjacencyMatrix.
Note that this class does not defineObject.equals(Object)norObject.hashCode(), since we leave the decision to be unique instances to implementers. - Graph() - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
-
Builds the graph.
- Graph(G) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
-
Clones the given graph.
- Graph(Collection<N>, AdjacencyMatrix<N, E, G>) - Constructor for class it.unive.lisa.util.datastructures.graph.Graph
-
Builds the graph.
- GraphVisitor<G extends Graph<G,N,E>,N extends Node<N,E,G>,E extends Edge<N,E,G>,V> - Interface in it.unive.lisa.util.datastructures.graph
-
A visitor of a
Graph.
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.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- hashCode() - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- hashCode() - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- hashCode() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- hashCode() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- hashCode() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- hashCode() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- hashCode() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- hashCode() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.representation.DomainRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.PairRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- hashCode() - Method in class it.unive.lisa.analysis.ScopeToken
- hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- hashCode() - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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.interprocedural.impl.RecursionFreeToken
- hashCode() - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- hashCode() - Method in class it.unive.lisa.LiSAConfiguration
- hashCode() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- hashCode() - Method in class it.unive.lisa.outputs.DotGraph
- hashCode() - Method in class it.unive.lisa.outputs.JsonReport
- hashCode() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotation
- hashCode() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- hashCode() - Method in class it.unive.lisa.program.annotations.Annotations
- hashCode() - Method in class it.unive.lisa.program.annotations.matcher.BasicAnnotationMatcher
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- hashCode() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- hashCode() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- hashCode() - Method in class it.unive.lisa.program.cfg.edge.Edge
- hashCode() - Method in class it.unive.lisa.program.cfg.Parameter
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Call
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Expression
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.HybridCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.Literal
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- hashCode() - Method in class it.unive.lisa.program.cfg.statement.OpenCall
- 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.UnresolvedCall
- 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.types.BoolType
- hashCode() - Method in class it.unive.lisa.symbolic.types.IntType
- hashCode() - Method in class it.unive.lisa.symbolic.types.StringType
- 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.NullType
- hashCode() - Method in class it.unive.lisa.type.TypeTokenType
- hashCode() - Method in class it.unive.lisa.type.Untyped
- hashCode() - Method in class it.unive.lisa.type.VoidType
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- hashCode() - Method in class it.unive.lisa.util.collections.IterableArray
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- hashCode() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- hashCode() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- hashCode() - Method in class it.unive.lisa.util.numeric.IntInterval
- hashCode() - Method in class it.unive.lisa.util.numeric.MathNumber
- HeapAllocation - Class in it.unive.lisa.symbolic.heap
-
An allocation of a memory location.
- HeapAllocation(ExternalSet<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(ExternalSet<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.
- heapEnv - Variable in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
-
An heap environment tracking which allocation sites are associated to each identifier.
- 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.
- HeapExpression - Class in it.unive.lisa.symbolic.heap
-
A symbolic expression that identifies a location in the program's heap.
- HeapExpression(ExternalSet<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(ExternalSet<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(ExternalSet<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. - 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.
- HybridCall - Class in it.unive.lisa.program.cfg.statement
- HybridCall(CFG, CodeLocation, String, Collection<CFG>, Collection<NativeCFG>, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.HybridCall
-
Builds the CFG call, happening at the given location in the program.
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(ExternalSet<Type>, String, boolean, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Identifier
-
Builds the identifier.
- Identifier(ExternalSet<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(AdjacencyMatrix<Statement, Edge, CFG>, Statement, Statement, Collection<Statement>, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.IfThenElse
-
Builds the if-then-else.
- includes(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
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.
- indexOfOrAdd(T) - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
-
Yields the index where the given element is stored in this cache.
- InferenceSystem<T extends InferredValue<T>> - Class in it.unive.lisa.analysis.nonrelational.inference
-
An inference system that model standard derivation systems (e.g., types systems, small step semantics, big step semantics, ...).
- InferenceSystem(InferenceSystem<T>, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an inference system identical to the given one, except for the execution state that will be set to the given one.
- InferenceSystem(T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferenceSystem
-
Builds an empty inference system.
- InferredPair(T, T, T) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
-
Builds the pair.
- InferredPairRepresentation(InferredValue.InferredPair<?>) - Constructor for class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPairRepresentation
-
Builds a new representation.
- InferredTypes - Class in it.unive.lisa.analysis.types
- InferredTypes() - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types.
- 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>. - InferredValue.InferredPairRepresentation - Class in it.unive.lisa.analysis.nonrelational.inference
-
A
PairRepresentationfor anInferredValue.InferredPair. - INFINITY - Static variable in class it.unive.lisa.util.numeric.IntInterval
-
The interval
[-Inf, +Inf]. - inheritRuntimeTypesFrom(Expression) - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
-
Updates this call's runtime types to match the ones of the given expression.
- init(Program) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- init(Program) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Initializes the call graph of the given program.
- init(Program, CallGraph) - Method in class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
- init(Program, CallGraph) - Method in class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
- init(Program, CallGraph) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Initializes the interprocedural analysis of the given program.
- 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.types.BoolType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.types.IntType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.symbolic.types.StringType
-
The singleton instance of this class.
- INSTANCE - Static variable in class it.unive.lisa.type.NullType
-
Unique instance of
NullType. - INSTANCE - Static variable in class it.unive.lisa.type.Untyped
-
Unique instance of Untyped type.
- INSTANCE - Static variable in class it.unive.lisa.type.VoidType
-
Unique instance of
VoidType. - 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.
- IntegerConstantPropagation - Class in it.unive.lisa.analysis.impl.numeric
-
The basic integer constant propagation abstract domain, tracking if a certain integer value has constant value or not, implemented as a
BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability. - IntegerConstantPropagation() - Constructor for class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
-
Builds the top abstract value.
- InterproceduralAnalysis<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - 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. - Interval - Class in it.unive.lisa.analysis.impl.numeric
-
The interval abstract domain, approximating integer values as the minimum integer interval containing them.
- Interval() - Constructor for class it.unive.lisa.analysis.impl.numeric.Interval
-
Builds the top interval.
- 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.
- IntType - Class in it.unive.lisa.symbolic.types
-
An internal implementation of the
NumericTypeinterface that can be used by domains that need a concrete instance for integer values. - InverseSetLattice<S extends InverseSetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic inverse set lattice containing a set of elements.
- InverseSetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.InverseSetLattice
-
Builds the lattice.
- is(int) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
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.symbolic.types.IntType
- 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.symbolic.types.IntType
- 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.symbolic.types.IntType
- 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.symbolic.types.IntType
- 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.combination.CartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isBottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- isBottom() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- isBottom() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- isBottom() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- 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.ExpressionSet
- isBottom() - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Yields
trueif and only if this object represents the bottom of the lattice. - isBottom() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isBottom() - Method in class it.unive.lisa.analysis.StatementStore
- isBottom() - Method in class it.unive.lisa.interprocedural.impl.CFGResults
- isBottom() - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
- isDumpAnalysis() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results of analysis, if run, should be dumped in the form of dot files representing results on single
CFGs. - isDumpCFGs() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the input program should be dumped in the form of dot files representing single
CFGs. - isDumpTypeInference() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results of type inference, if run, should be dumped in the form of dot files representing results on single
CFGs. - 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.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. - isHighConfidentiality() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents ahighvalue for the confidentiality non interference analysis. - isHighIntegrity() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents ahighvalue for the integrity non interference analysis. - isInferTypes() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not type inference should be run.
- 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. - 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.CFGDescriptor
-
Yields
trueif and only if the cfg associated to this descriptor is an instance cfg. - isInstanceCall() - Method in class it.unive.lisa.program.cfg.statement.UnresolvedCall
-
Yields whether or not this is a call to an instance method of a unit (that can be overridden) or not.
- isInstanceOf(CompilationUnit) - Method in class it.unive.lisa.program.CompilationUnit
-
Yields
trueif and only if this unit is an instance of the given one. - isIntegral() - Method in class it.unive.lisa.symbolic.types.IntType
- 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. - isJsonOutput() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results a json report file should be dumped at the end of the analysis.
- isLogging() - Method in class it.unive.lisa.logging.Counter
-
Yields
trueif this counter is currently logging updates. - isLowConfidentiality() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents alowvalue for the confidentiality non interference analysis. - isLowIntegrity() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents alowvalue for the integrity non interference analysis. - 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.CFGDescriptor
-
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. - 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() - 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.combination.CartesianProduct
- isTop() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- isTop() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- isTop() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- isTop() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- isTop() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- isTop() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- 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.ExpressionSet
- isTop() - Method in class it.unive.lisa.analysis.nonrelational.Environment
-
Yields
trueif and only if this object represents the top of the lattice. - isTop() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isTop() - Method in class it.unive.lisa.analysis.StatementStore
- isTop() - Method in class it.unive.lisa.interprocedural.impl.CFGResults
- isTop() - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
- isTypeTokenType() - Method in interface it.unive.lisa.type.Type
-
Yields
trueif and only if this type is an instance ofTypeTokenType. - 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.symbolic.types.IntType
- 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.combination - package it.unive.lisa.analysis.combination
- 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.impl.dataflow - package it.unive.lisa.analysis.impl.dataflow
- it.unive.lisa.analysis.impl.heap - package it.unive.lisa.analysis.impl.heap
- it.unive.lisa.analysis.impl.heap.pointbased - package it.unive.lisa.analysis.impl.heap.pointbased
- it.unive.lisa.analysis.impl.nonInterference - package it.unive.lisa.analysis.impl.nonInterference
- it.unive.lisa.analysis.impl.numeric - package it.unive.lisa.analysis.impl.numeric
- 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.types - package it.unive.lisa.analysis.types
- it.unive.lisa.analysis.value - package it.unive.lisa.analysis.value
- it.unive.lisa.caches - package it.unive.lisa.caches
- it.unive.lisa.checks - package it.unive.lisa.checks
- it.unive.lisa.checks.semantic - package it.unive.lisa.checks.semantic
- it.unive.lisa.checks.syntactic - package it.unive.lisa.checks.syntactic
- it.unive.lisa.checks.warnings - package it.unive.lisa.checks.warnings
- it.unive.lisa.interprocedural - package it.unive.lisa.interprocedural
- it.unive.lisa.interprocedural.callgraph - package it.unive.lisa.interprocedural.callgraph
- it.unive.lisa.interprocedural.callgraph.impl - package it.unive.lisa.interprocedural.callgraph.impl
- it.unive.lisa.interprocedural.impl - package it.unive.lisa.interprocedural.impl
- it.unive.lisa.logging - package it.unive.lisa.logging
- it.unive.lisa.outputs - package it.unive.lisa.outputs
- it.unive.lisa.outputs.compare - package it.unive.lisa.outputs.compare
- it.unive.lisa.program - package it.unive.lisa.program
- it.unive.lisa.program.annotations - package it.unive.lisa.program.annotations
- it.unive.lisa.program.annotations.matcher - package it.unive.lisa.program.annotations.matcher
- it.unive.lisa.program.annotations.values - package it.unive.lisa.program.annotations.values
- it.unive.lisa.program.cfg - package it.unive.lisa.program.cfg
- it.unive.lisa.program.cfg.controlFlow - package it.unive.lisa.program.cfg.controlFlow
- it.unive.lisa.program.cfg.edge - package it.unive.lisa.program.cfg.edge
- it.unive.lisa.program.cfg.statement - package it.unive.lisa.program.cfg.statement
- it.unive.lisa.symbolic - package it.unive.lisa.symbolic
- it.unive.lisa.symbolic.heap - package it.unive.lisa.symbolic.heap
- it.unive.lisa.symbolic.types - package it.unive.lisa.symbolic.types
- it.unive.lisa.symbolic.value - package it.unive.lisa.symbolic.value
- it.unive.lisa.type - package it.unive.lisa.type
- it.unive.lisa.util.collections - package it.unive.lisa.util.collections
- it.unive.lisa.util.collections.externalSet - package it.unive.lisa.util.collections.externalSet
- it.unive.lisa.util.collections.workset - package it.unive.lisa.util.collections.workset
- it.unive.lisa.util.datastructures.graph - package it.unive.lisa.util.datastructures.graph
- it.unive.lisa.util.datastructures.graph.algorithms - package it.unive.lisa.util.datastructures.graph.algorithms
- it.unive.lisa.util.file - package it.unive.lisa.util.file
- it.unive.lisa.util.numeric - package it.unive.lisa.util.numeric
- IterableArray<E> - Class in it.unive.lisa.util.collections
-
An iterable over an array of elements.
- IterableArray(E[]) - Constructor for class it.unive.lisa.util.collections.IterableArray
-
Builds the iterable.
- iterate(Logger, E[], String, String) - Static method in class it.unive.lisa.logging.IterationLogger
-
Wraps the given array into an
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.impl.heap.pointbased.AllocationSites
- 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.externalSet.BitExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.externalSet.UniversalExternalSet
- iterator() - Method in class it.unive.lisa.util.collections.IterableArray
- iterator() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
J
- 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>) - 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
-
A report of an executed analysis that can be dumped in json format, and that can be read from a json file.
- JsonReport() - Constructor for class it.unive.lisa.outputs.JsonReport
-
Builds an empty report.
- JsonReport(Collection<Warning>, Collection<String>) - Constructor for class it.unive.lisa.outputs.JsonReport
-
Builds the report, containing the given warnings and files.
- JsonReport.JsonWarning - Class in it.unive.lisa.outputs
-
A warning that is ready to dump into a
JsonReport. - JsonReportComparer - Class in it.unive.lisa.outputs.compare
-
A class providing capabilities for finding differences between two
JsonReports. - JsonReportComparer() - Constructor for class it.unive.lisa.outputs.compare.JsonReportComparer
- JsonReportComparer.DiffReporter - Interface in it.unive.lisa.outputs.compare
-
An object that provides callbacks for reporting differences when comparing
JsonReports. - JsonReportComparer.REPORT_TYPE - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different type of reports that can be issued.
- JsonReportComparer.REPORTED_COMPONENT - Enum in it.unive.lisa.outputs.compare
-
An enumeration defining the different components of a
JsonReport, in order to distinguish which one of them caused a difference being reported. - JsonWarning() - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Builds an empty warning with no message.
- JsonWarning(Warning) - Constructor for class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Builds the warning, cloning the information from the given
Warning.
K
- keyLift(Set<K>, Set<K>) - Method in interface it.unive.lisa.analysis.lattices.FunctionalLattice.KeyFunctionalLift
-
Yields the lift of
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(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- kill(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- kill(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- 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. - kill(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- kill(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- kill(ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
L
- LABEL - Static variable in class it.unive.lisa.outputs.DotGraph
-
The label attribute name.
- lattice - Variable in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
The underlying lattice.
- Lattice<L extends Lattice<L>> - Interface in it.unive.lisa.analysis
-
An interface for elements that follow a lattice structure.
- left - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
-
The left-hand side abstract domain.
- left - Variable in class it.unive.lisa.analysis.representation.PairRepresentation
-
The left-most element.
- lessOrEqual(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lessOrEqual(CFGWithAnalysisResults<A, H, V>) - 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. - lessOrEqualAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- lessOrEqualAux(AnalysisState<A, H, V>) - 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(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- lessOrEqualAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- lessOrEqualAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- lessOrEqualAux(NonInterference) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- lessOrEqualAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- lessOrEqualAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- lessOrEqualAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- lessOrEqualAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lessOrEqualAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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
- 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. - LiSA - Class in it.unive.lisa
-
This is the central class of the LiSA library.
- LiSA(LiSAConfiguration) - Constructor for class it.unive.lisa.LiSA
-
Builds a new LiSA instance.
- LiSAConfiguration - Class in it.unive.lisa
-
A holder for the configuration of a
LiSAanalysis. - LiSAConfiguration() - Constructor for class it.unive.lisa.LiSAConfiguration
-
Builds a new configuration object, with default settings.
- LiSAFactory - Class in it.unive.lisa
-
An utility class for instantiating analysis components, that is, modular pieces of the analysis that have several implementations.
- LiSAFactory.ConfigurableComponent<T> - Class in it.unive.lisa
-
An analysis component that can be configured, that is, it has more than one implementation that can be modularly integrated into the analysis.
- LiSARunner<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa
-
An auxiliary analysis runner for executing LiSA analysis.
- Literal - Class in it.unive.lisa.program.cfg.statement
-
A literal, representing a constant value.
- Literal(CFG, CodeLocation, Object, Type) - Constructor for class it.unive.lisa.program.cfg.statement.Literal
-
Builds a typed literal, consisting of a constant value, happening at the given location in the program.
- LOGICAL_AND - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two Boolean values
b1andb2of typeBooleanType, this operator returns the logical and betweenb1andb2. - LOGICAL_NOT - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a Boolean value of type
BooleanType, this operator returns the logical negation of the value: if the Boolean value represents true, it returns false, and vice versa. - LOGICAL_OR - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two Boolean values
b1andb2of typeBooleanType, this operator returns the logical or betweenb1andb2. - 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(AdjacencyMatrix<Statement, Edge, CFG>, Statement, Statement, Collection<Statement>) - Constructor for class it.unive.lisa.program.cfg.controlFlow.Loop
-
Builds the loop.
- lowIsMinusInfinity() - Method in class it.unive.lisa.util.numeric.IntInterval
-
Yields
trueif the lower bound of this interval is set to minus infinity. - lub(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lub(CFGWithAnalysisResults<A, H, V>) - 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>) - 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(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- lubAux(AllocationSites) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- lubAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- lubAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- lubAux(NonInterference) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- lubAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- lubAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- lubAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- lubAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lubAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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
- 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.
- matches(int, Parameter, Expression) - Method in enum it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
-
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(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(Parameter[], Expression[]) - Method in enum it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
-
Yields
trueif and only if the signature of a cfg (i.e. - matchesSignature(CFGDescriptor) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Checks if the signature defined by the given descriptor is matched by the one of this descriptor.
- MathNumber - Class in it.unive.lisa.util.numeric
-
A wrapper around
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. - MemoryPointer - Class in it.unive.lisa.symbolic.value
-
A memory pointer to a heap location.
- MemoryPointer(ExternalSet<Type>, HeapLocation, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer.
- MemoryPointer(ExternalSet<Type>, HeapLocation, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.MemoryPointer
-
Builds a memory pointer with empty annotations.
- mergeWith(AdjacencyMatrix<N, E, G>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Merges this matrix with the given one, by adding all nodes and all edges contained in
other. - MetaVariableCreator - Interface in it.unive.lisa.program.cfg.statement
-
Objects implementing this interface will produce a meta-variable to represent the value that they produce on the stack during the computation of their semantic.
- MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds.
- min(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the minimum number between
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.
- 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>, Map<Statement, AnalysisState<A, H, V>>) - Method in class it.unive.lisa.analysis.StatementStore
- mk(CFGWithAnalysisResults<A, H, V>, Map<ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>>) - Method in class it.unive.lisa.interprocedural.impl.CFGResults
- mk(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- mk(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- mk(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- mk(CFGResults<A, H, V>, Map<CFG, CFGResults<A, H, V>>) - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
- 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<AllocationSite>) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- mk(Set<T>) - Method in class it.unive.lisa.analysis.lattices.ExpressionSet
- mk(T1, T2) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
-
Builds a new instance of cartesian product.
- mk(T1, T2) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- 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.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. - mkNewFunction(Map<K, V>) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
-
Creates a new instance of the underlying function.
- mkOutputFile(String, boolean, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- mkOutputFile(String, FileManager.WriteAction) - Method in class it.unive.lisa.util.file.FileManager
-
Creates a UTF-8 encoded file with the given name.
- 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. - ModularWorstCaseAnalysis<A extends AbstractState<A,H,V>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.interprocedural.impl
-
A worst case modular analysis were all method calls return top.
- ModularWorstCaseAnalysis() - Constructor for class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
-
Builds the call graph.
- MonolithicHeap - Class in it.unive.lisa.analysis.impl.heap
-
A monolithic heap implementation that abstracts all heap locations to a unique identifier.
- MonolithicHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- mul(IntInterval) - Method in class it.unive.lisa.util.numeric.IntInterval
-
Performs the interval multiplication between
thisandother. - 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
- 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.
- NativeCall - Class in it.unive.lisa.program.cfg.statement
-
A native call, modeling the usage of one of the native constructs of the language.
- NativeCall(CFG, CodeLocation, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NativeCall
-
Builds the untyped native call, happening at the given location in the program.
- NativeCall(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.NativeCall
-
Builds the native call, happening at the given location in the program.
- NativeCFG - Class in it.unive.lisa.program.cfg
-
A native cfg, representing a cfg that is usually provided by the runtime of the programming language.
- NativeCFG(CFGDescriptor, Class<? extends NativeCall>) - Constructor for class it.unive.lisa.program.cfg.NativeCFG
-
Builds the native control flow graph.
- negate() - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Negates the current satisfiability, getting the opposite result.
- newInstance(CallGraphNode, CallGraphNode) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- newInstance(Statement, Statement) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- newInstance(N, N) - Method in interface it.unive.lisa.util.datastructures.graph.Edge
-
Builds a new instance of this edge, connecting the given nodes.
- Node<N extends Node<N,E,G>,E extends Edge<N,E,G>,G extends Graph<G,N,E>> - Interface in it.unive.lisa.util.datastructures.graph
-
A node of a
Graph. - NODE_SHAPE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The default shape of a node.
- noneMatch(Predicate<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields
trueiff none of the elements contained in this set satisfy the given predicate. - NonInterference - Class in it.unive.lisa.analysis.impl.nonInterference
-
The type-system based implementation of the non interference analysis.
- NonInterference() - Constructor for class it.unive.lisa.analysis.impl.nonInterference.NonInterference
-
Builds a new instance of non interference, referring to the top element of the lattice.
- 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. - 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_SATISFIED - it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Represent the fact that an expression is not satisfied.
- 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
-
A literal representing the
nullconstant. - NullLiteral(CFG, CodeLocation) - Constructor for class it.unive.lisa.program.cfg.statement.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}.
- NUMERIC_ADD - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1andn2of typeNumericType, this operator returns the addition ofn1withn2. - NUMERIC_DIV - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1andn2, withn2not equal to zero, of typeNumericType, this operator returns the division ofi1withn2. - NUMERIC_MOD - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1andn2of typeNumericType, this operator returns the modulo ofn1withn2. - NUMERIC_MUL - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1andn2of typeNumericType, this operator returns the multiplication ofi1withn2. - NUMERIC_NEG - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a numeric value of type
NumericType, this operator returns the negation of the numerical value. - NUMERIC_SUB - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two integers values
n1andn2of typeNumericType, this operator returns the subtraction ofn1withn2. - NumericType - Interface in it.unive.lisa.type
-
Numeric type interface.
O
- of(Class<? extends WorkingSet<E>>) - Static method in interface it.unive.lisa.util.collections.workset.WorkingSet
-
Yields a
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
-
A call to a CFG that is not under analysis.
- OpenCall(CFG, CodeLocation, String, Type, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.OpenCall
-
Builds the open call, happening at the given location in the program.
- Operator - Interface in it.unive.lisa.symbolic.value
-
An operator that causes a transformation of one or more
SymbolicExpressions. - opposite() - Method in interface it.unive.lisa.symbolic.value.Operator
-
Yields the opposite operator of this operator (e.g.,
BinaryOperator.COMPARISON_LEtoBinaryOperator.COMPARISON_GT,BinaryOperator.COMPARISON_LTtoBinaryOperator.COMPARISON_GE). - or(SemanticDomain.Satisfiability) - Method in enum it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
Performs a logical or between this satisfiability and the given one.
- 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.
- overriddenBy() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the collection of
CodeMemberthat override the cfg associated with this descriptor. - overrides() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Yields the collection of
CodeMemberthat the cfg associated with this descriptor overrides.
P
- PairRepresentation - Class in it.unive.lisa.analysis.representation
-
A
DomainRepresentationin the form of a pair of elements. - PairRepresentation(DomainRepresentation, DomainRepresentation) - Constructor for class it.unive.lisa.analysis.representation.PairRepresentation
-
Builds a new representation containing the given pair of elements.
- PairRepresentation(L, R, Function<L, DomainRepresentation>, Function<R, DomainRepresentation>) - Constructor for class it.unive.lisa.analysis.representation.PairRepresentation
-
Builds a new representation starting from the given pair of elements.
- Parameter - Class in it.unive.lisa.program.cfg
-
A CFG parameter identified by its name and its type, containing the information about the source file, line and column where the parameter is defined.
- Parameter(CodeLocation, String) - Constructor for class it.unive.lisa.program.cfg.Parameter
-
Builds an untyped parameter reference, identified by its name.
- Parameter(CodeLocation, String, 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, 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.
- Parity - Class in it.unive.lisa.analysis.impl.numeric
-
The Parity abstract domain, tracking if a numeric value is even or odd, implemented as a
BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability. - Parity() - Constructor for class it.unive.lisa.analysis.impl.numeric.Parity
-
Builds the parity abstract domain, representing the top of the parity abstract domain.
- 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.
- PointBasedHeap - Class in it.unive.lisa.analysis.impl.heap.pointbased
-
A field-insensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
- PointBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
-
Builds a new instance of field-insensitive point-based heap.
- PointBasedHeap(HeapEnvironment<AllocationSites>) - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
-
Builds a new instance of field-insensitive point-based heap from its heap environment.
- PointBasedHeap.Rewriter - Class in it.unive.lisa.analysis.impl.heap.pointbased
-
A
BaseHeapDomain.Rewriterfor thePointBasedHeapdomain. - 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.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- 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
- popToken() - Method in class it.unive.lisa.interprocedural.impl.ContextInsensitiveToken
- popToken() - Method in interface it.unive.lisa.interprocedural.impl.ContextSensitivityToken
-
Creates a context sensitive token popping the scope on top of the stack.
- popToken() - Method in class it.unive.lisa.interprocedural.impl.RecursionFreeToken
- popToken() - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- 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.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.
- prepareEntryStateOfEntryPoint(AnalysisState<A, H, V>, CFG) - Method in class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
-
Prepare and entry state for the analysis of a method by renaming parameters.
- preSimplify(Statement) - Method in class it.unive.lisa.program.cfg.CFG
- preSimplify(N) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Callback that is invoked on a node before simplifying it.
- program - Variable in class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
-
The program.
- Program - Class in it.unive.lisa.program
-
A program that LiSA can analyze.
- Program() - Constructor for class it.unive.lisa.program.Program
-
Builds an empty program.
- PROGRAM_NAME - Static variable in class it.unive.lisa.program.Program
-
The name of the program.
- ProgramPoint - Interface in it.unive.lisa.program.cfg
-
A program point, representing an instruction that is happening in one of the
CFGunder analysis. - 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.
- 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(ExternalSet<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.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- 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
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.impl.ContextInsensitiveToken
- pushToken(ScopeToken) - Method in interface it.unive.lisa.interprocedural.impl.ContextSensitivityToken
-
Creates a context sensitive token with the given scope on the top of the stack.
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.impl.RecursionFreeToken
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- put(Statement, AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.StatementStore
-
Stores the given state for the given statement.
- putResult(ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>) - Method in class it.unive.lisa.interprocedural.impl.CFGResults
-
Stores the result of a fixpoint computation on a cfg, if needed.
- putResult(CFG, ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>) - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
-
Stores the result of a fixpoint computation on a cfg.
- 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.
R
- ReachingDefinitions - Class in it.unive.lisa.analysis.impl.dataflow
-
An implementation of the reaching definition dataflow analysis.
- ReachingDefinitions() - Constructor for class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
-
Builds an empty reaching definition object.
- read(Reader) - Static method in class it.unive.lisa.outputs.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. - RecursionFreeToken - Class in it.unive.lisa.interprocedural.impl
-
A context sensitive token representing an entire call chain up until a recursion.
- reduce(T, BinaryOperator<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Reduces this set to a single element.
- registerDefaultFor(Class<?>, Class<?>) - Static method in class it.unive.lisa.LiSAFactory
-
Registers a default implementation for
component, taking precedence over the defaults defined throughDefaultImplementation. - registerType(Type) - Method in class it.unive.lisa.program.Program
-
Registers a new
Typethat appears in the program. - 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.
- removeFrom(N) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Removes every node and edge that is reachable from the given
root. - removeNegations() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- removeNegations() - Method in class it.unive.lisa.symbolic.value.ValueExpression
-
Yields the same value expression removing any negation, namely the
UnaryOperator.LOGICAL_NOToperator, 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.
- report(JsonReportComparer.REPORTED_COMPONENT, JsonReportComparer.REPORT_TYPE, Collection<?>) - Method in interface it.unive.lisa.outputs.compare.JsonReportComparer.DiffReporter
-
Reports a difference in one of the components of the reports.
- representation() - Method in class it.unive.lisa.analysis.AnalysisState
- representation() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- representation() - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- representation() - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- representation() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- representation() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- representation() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- representation() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- representation() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- representation() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- representation() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- representation() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- representation() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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 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
- representation() - Method in class it.unive.lisa.analysis.types.InferredTypes
- resolve(UnresolvedCall) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- resolve(UnresolvedCall) - Method in interface it.unive.lisa.interprocedural.callgraph.CallGraph
-
Yields a
Callimplementation that corresponds to the resolution of the givenUnresolvedCall. - resolve(UnresolvedCall) - Method in class it.unive.lisa.interprocedural.impl.CallGraphBasedAnalysis
- resolve(UnresolvedCall) - Method in class it.unive.lisa.interprocedural.impl.ModularWorstCaseAnalysis
- resolve(UnresolvedCall) - Method in interface it.unive.lisa.interprocedural.InterproceduralAnalysis
-
Yields a
Callimplementation that corresponds to the resolution of the givenUnresolvedCall. - 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. - rewrite(Statement, Expression...) - Method in class it.unive.lisa.program.cfg.NativeCFG
-
Produces a
NativeCallproviding the semantics of this native cfg. - rewrite(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- 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.impl.heap.MonolithicHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.FieldSensitivePointBasedHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- 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
- Rewriter() - Constructor for class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
- right - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
-
The right-hand side abstract domain.
- right - Variable in class it.unive.lisa.analysis.representation.PairRepresentation
-
The right-most element.
- 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). - RTACallGraph - Class in it.unive.lisa.interprocedural.callgraph.impl
-
A call graph constructed following the Rapid Type Analysis as defined in: Frank Tip and Jens Palsberg.
- RTACallGraph() - Constructor for class it.unive.lisa.interprocedural.callgraph.impl.RTACallGraph
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableAction
-
Runs the action.
- run() - Method in interface it.unive.lisa.logging.TimerLogger.LoggableSupplier
-
Runs the supplier.
- run(Program) - Method in class it.unive.lisa.LiSA
-
Runs LiSA, executing all the checks that have been added.
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. - 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.combination.CartesianProduct
- 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, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.AnalysisState
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- 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, 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.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, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- satisfiesBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- satisfiesBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- satisfiesBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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.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.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, Sign, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.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.
- 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 - 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>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Assignment
-
Semantics of an assignment (
left = right) is evaluated as follows: the semantic of therightis evaluated using the givenentryState, returning a new analysis stateas_r = <state_r, expr_r>the semantic of theleftis evaluated usingas_r, returning a new analysis stateas_l = <state_l, expr_l>the final post-state is evaluated throughAnalysisState.assign(Identifier, SymbolicExpression, ProgramPoint), usingexpr_lasidandexpr_rasvalueThis means that all side effects fromrightare evaluated before the ones fromleft.
Computes the semantics of the statement, expressing how semantic information is transformed by the execution of this statement. - semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Call
-
Semantics of a call statement is evaluated by computing the semantics of its parameters, from left to right, using the analysis state from each parameter's computation as entry state for the next one.
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Literal
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.NullLiteral
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Ret
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Return
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - 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>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - Method in class it.unive.lisa.program.cfg.statement.Throw
- semantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, StatementStore<A, H, V>) - 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.
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- SequentialEdge - Class in it.unive.lisa.program.cfg.edge
-
A sequential edge connecting two statement.
- SequentialEdge(Statement, Statement) - Constructor for class it.unive.lisa.program.cfg.edge.SequentialEdge
-
Builds the edge.
- setAbstractState(AbstractState<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
AbstractStateto use for the analysis. - setCallGraph(CallGraph) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
CallGraphto use for the analysis. - setDumpAnalysis(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
analysis__<cfg name>.dot, should be created and dumped in the working directory at the end of the analysis. - setDumpCFGs(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
<cfg name>.dot, should be created and dumped in the working directory at the start of the execution. - setDumpTypeInference(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
typing__<cfg name>.dot, should be created and dumped in the working directory at the end of the type inference. - 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.
- setFixpointWorkingSet(Class<? extends WorkingSet<Statement>>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the concrete class of
WorkingSetto be used in fixpoints. - 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.
- setInferTypes(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not runtime types should be inferred before executing the semantic analysis.
- setInterproceduralAnalysis(InterproceduralAnalysis<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
InterproceduralAnalysisto use for the analysis. - setJsonOutput(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not a json report file, named
report.json, should be created and dumped in the working directory at the end of the analysis. - SetLattice<S extends SetLattice<S,E>,E> - Class in it.unive.lisa.analysis.lattices
-
A generic set lattice containing a set of elements.
- SetLattice(Set<E>) - Constructor for class it.unive.lisa.analysis.lattices.SetLattice
-
Builds the lattice.
- setMessage(String) - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
-
Sets the message of this warning.
- setOffset(int) - Method in class it.unive.lisa.interprocedural.callgraph.CallGraphNode
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.BinaryExpression
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Call
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Literal
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.NoOp
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.Ret
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.UnaryStatement
- setOffset(int) - Method in class it.unive.lisa.program.cfg.statement.VariableRef
- setOffset(int) - Method in interface it.unive.lisa.util.datastructures.graph.Node
-
Sets the offset of this node to the given value, and then proceeds by setting the one of its nested nodes (if any) to subsequent values.
- setOriginatingStatement(Statement) - Method in interface it.unive.lisa.program.cfg.statement.PluggableStatement
-
Sets the original
Statementthat got rewritten by theis pluggable statement. - setOverridable(boolean) - Method in class it.unive.lisa.program.cfg.CFGDescriptor
-
Sets whether or not the cfg associated to this descriptor can be overridden.
- setParentStatement(Statement) - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Sets the
Statementthat contains this expression. - 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(ExternalSet<Type>) - Method in class it.unive.lisa.program.cfg.statement.Expression
-
Sets the runtime types of this expression.
- 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.
- setWideningThreshold(int) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice). - setWorkdir(String) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the working directory for this instance of LiSA, that is, the directory files will be created, if any.
- 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.
- Sign - Class in it.unive.lisa.analysis.impl.numeric
-
The basic Sign abstract domain, tracking zero, strictly positive and strictly negative integer values, implemented as a
BaseNonRelationalValueDomain, handling top and bottom values for the expression evaluation and bottom values for the expression satisfiability. - Sign() - Constructor for class it.unive.lisa.analysis.impl.numeric.Sign
-
Builds the sign abstract domain, representing the top of the sign abstract domain.
- SimpleAbstractState<H extends HeapDomain<H>,V extends ValueDomain<V>> - 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) - Constructor for class it.unive.lisa.analysis.SimpleAbstractState
-
Builds a new abstract state.
- simplify() - Method in class it.unive.lisa.program.cfg.CFG
-
Simplifies this cfg, removing all
NoOps and rewriting the edge set accordingly. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
-
Simplifies this structure, removing all
NoOps from its body. - simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- simplify() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- simplify(Class<? extends N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Simplifies the adjacency matrix beneath this graph, removing all nodes that are instances of
<T>and rewriting the edge set accordingly. - simplify(Iterable<N>, Collection<N>, Collection<E>, Map<Pair<E, E>, E>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Simplifies this matrix, removing all the given nodes and rewriting the edge set accordingly.
- SingleScopeToken - Class in it.unive.lisa.interprocedural.impl
-
A context sensitive token representing a single
ScopeToken. - 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 class it.unive.lisa.analysis.combination.CartesianProduct
- 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.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).
- 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>,H extends HeapDomain<H>,V extends ValueDomain<V>> - Class in it.unive.lisa.analysis
-
A functional lattice that stores instances of
AnalysisStatecomputed on statements. - StatementStore(AnalysisState<A, H, V>) - 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_TYPES - it.unive.lisa.program.cfg.statement.UnresolvedCall.ResolutionStrategy
-
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, than
UnresolvedCall.ResolutionStrategy.matches(Parameter[], Expression[])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
- STRING_CONCAT - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1ands2of typeStringType, this operator return the concatenation ofs1withs2. - STRING_CONTAINS - it.unive.lisa.symbolic.value.BinaryOperator
- STRING_ENDS_WITH - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1ands2of typeStringType, this operator checks whethers1ends withs2, namely ifs2is the suffix ofs1. - STRING_EQUALS - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1ands2of typeStringType, this operator checks if the two strings are equals. - STRING_INDEX_OF - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1ands2of typeStringType, this operator return the position of the first occurrence ofs1ins2. - STRING_LENGTH - it.unive.lisa.symbolic.value.UnaryOperator
-
Given a string of type
StringTypereturns the length of that string. - STRING_REPLACE - it.unive.lisa.symbolic.value.TernaryOperator
-
Given an input string, a search string, and a replace string, all of type
StringType, this operator returns the input string where all the occurrences of the search string are replaced with the replace string. - STRING_STARTS_WITH - it.unive.lisa.symbolic.value.BinaryOperator
-
Given two string values
s1ands2of typeStringType, this operator checks whethers1starts withs2, namely ifs2is the prefix ofs1. - STRING_SUBSTRING - it.unive.lisa.symbolic.value.TernaryOperator
-
Given a string
sof typeStringTypeand two unsigned integersiandjof typeNumericType, returns the the substring betweeniandj(excluded) of the input string. - 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.
- 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.
- StringType - Class in it.unive.lisa.symbolic.types
-
An internal implementation of the
StringTypeinterface that can be used by domains that need a concrete instance of that interface. - StringType - Interface in it.unive.lisa.type
-
String type interface.
- STYLE - Static variable in class it.unive.lisa.outputs.DotGraph
-
The style attribute name.
- subtract(MathNumber) - Method in class it.unive.lisa.util.numeric.MathNumber
-
Yields the result of
this - other. - SymbolicExpression - Class in it.unive.lisa.symbolic
-
A symbolic expression that can be evaluated by
SemanticDomains. - SymbolicExpression(ExternalSet<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.symbolic.value
-
A bynary expression that applies a
TernaryExpressionto threeSymbolicExpressions. - TernaryExpression(ExternalSet<Type>, SymbolicExpression, SymbolicExpression, SymbolicExpression, TernaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.TernaryExpression
-
Builds the binary expression.
- TernaryNativeCall - Class in it.unive.lisa.program.cfg.statement
-
A
NativeCallwith a exactly three arguments. - TernaryNativeCall(CFG, CodeLocation, String, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
-
Builds the untyped native call, happening at the given location in the program.
- TernaryNativeCall(CFG, CodeLocation, String, Type, Expression, Expression, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.TernaryNativeCall
-
Builds the native call, happening at the given location in the program.
- TernaryOperator - Enum in it.unive.lisa.symbolic.value
-
A ternary operator that can be applied to a triple of
SymbolicExpressions. - ternarySemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.TernaryNativeCall
-
Computes the semantics of the call, after the semantics of the parameters 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(Function<CallGraphNode, String>) - Method in class it.unive.lisa.interprocedural.callgraph.BaseCallGraph
- toDot(Function<Statement, String>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- toDot(Function<Statement, String>) - Method in class it.unive.lisa.program.cfg.CFG
- toDot(Function<N, String>) - Method in class it.unive.lisa.util.datastructures.graph.Graph
-
Converts this graph to a
DotGraphinstance. - 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.combination.CartesianProduct
- top() - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- top() - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- top() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- top() - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- top() - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- top() - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- top() - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- top() - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- top() - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- top() - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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.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.types.InferredTypes
- top() - Method in class it.unive.lisa.interprocedural.impl.CFGResults
- top() - Method in class it.unive.lisa.interprocedural.impl.FixpointResults
- TOP_REPR - Static variable in interface it.unive.lisa.analysis.Lattice
-
A
DomainRepresentationthat can be used to represent top values. - TOP_STRING - Static variable in interface it.unive.lisa.analysis.Lattice
-
A string constant that can be used to represent top values.
- toString() - Method in class it.unive.lisa.analysis.AnalysisState
- toString() - Method in class it.unive.lisa.analysis.BaseLattice
- toString() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.impl.dataflow.AvailableExpressions
- toString() - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- toString() - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- toString() - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- toString() - Method in class it.unive.lisa.analysis.lattices.SetLattice
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.BaseInferredValue
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPair
- toString() - Method in class it.unive.lisa.analysis.nonrelational.inference.InferredValue.InferredPairRepresentation
- toString() - Method in class it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain
- toString() - Method in class it.unive.lisa.analysis.representation.DomainRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.MapRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.PairRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.SetRepresentation
- toString() - Method in class it.unive.lisa.analysis.representation.StringRepresentation
- toString() - Method in class it.unive.lisa.analysis.ScopeToken
- toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- toString() - Method in class it.unive.lisa.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.interprocedural.impl.ContextInsensitiveToken
- toString() - Method in class it.unive.lisa.interprocedural.impl.RecursionFreeToken
- toString() - Method in class it.unive.lisa.interprocedural.impl.SingleScopeToken
- toString() - Method in class it.unive.lisa.LiSAConfiguration
- toString() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- toString() - Method in class it.unive.lisa.outputs.DotGraph
- toString() - Method in class it.unive.lisa.outputs.JsonReport.JsonWarning
- toString() - Method in class it.unive.lisa.outputs.JsonReport
- toString() - Method in class it.unive.lisa.program.annotations.Annotation
- toString() - Method in class it.unive.lisa.program.annotations.AnnotationMember
- toString() - Method in class it.unive.lisa.program.annotations.Annotations
- toString() - Method in class it.unive.lisa.program.annotations.values.ArrayAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.BoolAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ByteAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CharAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.CompilationUnitAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.DoubleAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.EnumAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.FloatAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.IntAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.LongAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.ShortAnnotationValue
- toString() - Method in class it.unive.lisa.program.annotations.values.StringAnnotationValue
- toString() - Method in class it.unive.lisa.program.cfg.CFG
- toString() - Method in class it.unive.lisa.program.cfg.CFGDescriptor
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.ControlFlowStructure
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.IfThenElse
- toString() - Method in class it.unive.lisa.program.cfg.controlFlow.Loop
- toString() - Method in class it.unive.lisa.program.cfg.edge.Edge
- toString() - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- toString() - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- toString() - Method in class it.unive.lisa.program.cfg.Parameter
- toString() - Method in class it.unive.lisa.program.cfg.statement.AccessGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.AccessInstanceGlobal
- toString() - Method in class it.unive.lisa.program.cfg.statement.Assignment
- toString() - Method in class it.unive.lisa.program.cfg.statement.CFGCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.HybridCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.Literal
- toString() - Method in class it.unive.lisa.program.cfg.statement.NativeCall
- toString() - Method in class it.unive.lisa.program.cfg.statement.NoOp
- toString() - Method in class it.unive.lisa.program.cfg.statement.NullLiteral
- toString() - Method in class it.unive.lisa.program.cfg.statement.OpenCall
- 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.UnresolvedCall
- 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.types.BoolType
- toString() - Method in class it.unive.lisa.symbolic.types.IntType
- toString() - Method in class it.unive.lisa.symbolic.types.StringType
- toString() - Method in class it.unive.lisa.symbolic.value.BinaryExpression
- toString() - Method in enum it.unive.lisa.symbolic.value.BinaryOperator
- 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.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 enum it.unive.lisa.symbolic.value.TernaryOperator
- toString() - Method in class it.unive.lisa.symbolic.value.UnaryExpression
- toString() - Method in enum it.unive.lisa.symbolic.value.UnaryOperator
- toString() - Method in class it.unive.lisa.symbolic.value.Variable
- toString() - Method in class it.unive.lisa.type.NullType
- toString() - Method in class it.unive.lisa.type.TypeTokenType
- toString() - Method in class it.unive.lisa.type.Untyped
- toString() - Method in class it.unive.lisa.type.VoidType
- toString() - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- toString() - Method in class it.unive.lisa.util.collections.externalSet.ExternalSetCache
- toString() - Method in class it.unive.lisa.util.collections.IterableArray
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentFIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.ConcurrentLIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.FIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.LIFOWorkingSet
- toString() - Method in class it.unive.lisa.util.collections.workset.VisitOnceWorkingSet
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix.NodeEdges
- toString() - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
- toString() - Method in class it.unive.lisa.util.datastructures.graph.Graph
- toString() - Method in class it.unive.lisa.util.numeric.IntInterval
- toString() - Method in class it.unive.lisa.util.numeric.MathNumber
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.dataflow.AvailableExpressions
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.dataflow.ConstantPropagation
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.dataflow.ReachingDefinitions
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.AllocationSites
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- 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. - tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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>) - 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>) - Method in class it.unive.lisa.program.cfg.edge.FalseEdge
- traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.SequentialEdge
- traverse(AnalysisState<A, H, V>) - Method in class it.unive.lisa.program.cfg.edge.TrueEdge
- 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.
- Type - Interface in it.unive.lisa.type
-
Type interface.
- TYPE_CAST - it.unive.lisa.symbolic.value.BinaryOperator
-
Casts the type of the left-hand side of this expression to the type of the right-hand side.
- TYPE_CHECK - it.unive.lisa.symbolic.value.BinaryOperator
-
Tests if the type of the left-hand side of this expression is the same as, or a subtype of, the type of the right-hand side.
- TYPE_CONV - it.unive.lisa.symbolic.value.BinaryOperator
-
Converts the type of the left-hand side of this expression to the type of the right-hand side.
- TypeBasedHeap - Class in it.unive.lisa.analysis.impl.heap
-
A type-based heap implementation that abstracts heap locations depending on their types, i.e., all the heap locations with the same type are abstracted into a single unique identifier.
- TypeBasedHeap() - Constructor for class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
-
Builds a new instance of TypeBasedHeap, with an unique rewritten expression
Skip. - TYPEOF - it.unive.lisa.symbolic.value.UnaryOperator
-
Yields the
Typeof an expression. - types() - Static method in class it.unive.lisa.caches.Caches
-
Yields the globally defined cache for
ExternalSets containingTypes. - TypeTokenType - Class in it.unive.lisa.type
-
The type of type tokens, used as reference to types in code.
- TypeTokenType(ExternalSet<Type>) - Constructor for class it.unive.lisa.type.TypeTokenType
-
Builds the type token representing the given types.
U
- UnaryExpression - Class in it.unive.lisa.symbolic.value
-
A unary expression that applies a
UnaryOperatorto aSymbolicExpression. - UnaryExpression(ExternalSet<Type>, SymbolicExpression, UnaryOperator, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.UnaryExpression
-
Builds the unary expression.
- UnaryNativeCall - Class in it.unive.lisa.program.cfg.statement
-
A
NativeCallwith a single argument. - UnaryNativeCall(CFG, CodeLocation, String, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryNativeCall
-
Builds the untyped native call, happening at the given location in the program.
- UnaryNativeCall(CFG, CodeLocation, String, Type, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryNativeCall
-
Builds the native call, happening at the given location in the program.
- UnaryOperator - Enum in it.unive.lisa.symbolic.value
-
A unary operator that can be applied to a single
SymbolicExpression. - unarySemantics(AnalysisState<A, H, V>, InterproceduralAnalysis<A, H, V>, AnalysisState<A, H, V>, SymbolicExpression) - Method in class it.unive.lisa.program.cfg.statement.UnaryNativeCall
-
Computes the semantics of the call, after the semantics of the parameter has been computed.
- UnaryStatement - Class in it.unive.lisa.program.cfg.statement
-
A unary statement.
- UnaryStatement(CFG, CodeLocation, Expression) - Constructor for class it.unive.lisa.program.cfg.statement.UnaryStatement
-
Builds the unary statement, happening at the given location in the program.
- union(ExternalSet<T>) - Method in class it.unive.lisa.util.collections.externalSet.BitExternalSet
- union(ExternalSet<T>) - Method in interface it.unive.lisa.util.collections.externalSet.ExternalSet
-
Yields the union of this set and another.
- union(N, T, T) - Method in interface it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation
-
Given a node and two states, computes their union (i.e.
- Unit - Class in it.unive.lisa.program
-
A unit of the program to analyze.
- Unit(String) - Constructor for class it.unive.lisa.program.Unit
-
Builds a unit, defined at the given location.
- UnitType - Interface in it.unive.lisa.type
-
Interface for types that are introduced by a
CompilationUnit. - UnitWarning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on one of the Units under analysis.
- UnitWarning(Unit, String) - Constructor for class it.unive.lisa.checks.warnings.UnitWarning
-
Builds the warning.
- UniversalExternalSet<T> - Class in it.unive.lisa.util.collections.externalSet
-
An
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.
- UnresolvedCall - Class in it.unive.lisa.program.cfg.statement
-
A call that happens inside the program to analyze.
- UnresolvedCall(CFG, CodeLocation, UnresolvedCall.ResolutionStrategy, boolean, String, Expression...) - Constructor for class it.unive.lisa.program.cfg.statement.UnresolvedCall
-
Builds the CFG call, happening at the given location in the program.
- UnresolvedCall.ResolutionStrategy - Enum in it.unive.lisa.program.cfg.statement
-
An enum defining the different types of resolution strategies for call signatures.
- Untyped - Class in it.unive.lisa.type
-
The untyped type, corresponding to an unknown/untyped type.
- UP_TO_HOURS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as hours, minutes, seconds, milliseconds and nanoseconds.
- UP_TO_MILLIS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as milliseconds and nanoseconds.
- UP_TO_MINUTES - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as minutes, seconds, milliseconds and nanoseconds.
- UP_TO_SECONDS - it.unive.lisa.logging.TimeFormat
-
Formats the given elapsed nanos as seconds, milliseconds and nanoseconds.
V
- validate() - Method in class it.unive.lisa.program.cfg.CFG
-
Validates this cfg, ensuring that the code contained in it is well formed.
- validate(Collection<N>) - Method in class it.unive.lisa.util.datastructures.graph.AdjacencyMatrix
-
Validates this matrix, ensuring that the it is well formed.
- validateAndFinalize() - Method in class it.unive.lisa.program.CompilationUnit
-
Validates this unit, ensuring its consistency.
- validateAndFinalize() - Method in class it.unive.lisa.program.Program
-
Validates this unit, ensuring its consistency.
- validateAndFinalize() - Method in class it.unive.lisa.program.Unit
-
Validates this unit, ensuring its consistency.
- value() - Method in annotation type it.unive.lisa.DefaultImplementation
-
The class of the default implementation of the annotated analysis component.
- value() - Method in annotation type it.unive.lisa.DefaultParameters
-
The default classes of each parameter.
- ValueCartesianProduct<T1 extends ValueDomain<T1>,T2 extends ValueDomain<T2>> - Class in it.unive.lisa.analysis.combination
-
A Cartesian product between two non-communicating
ValueDomains (i.e., no exchange of information between the abstract domains) assigningIdentifiers and handlingValueExpressions. - ValueCartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.ValueCartesianProduct
-
Builds the value Cartesian product.
- 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.
- ValueExpression - Class in it.unive.lisa.symbolic.value
-
A symbolic expression that represents an operation on the program's state.
- ValueExpression(ExternalSet<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.UnresolvedCall.ResolutionStrategy
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.BinaryOperator
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.TernaryOperator
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum it.unive.lisa.symbolic.value.UnaryOperator
-
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.UnresolvedCall.ResolutionStrategy
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.BinaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.TernaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum it.unive.lisa.symbolic.value.UnaryOperator
-
Returns an array containing the constants of this enum type, in the order they are declared.
- variable(Identifier, ProgramPoint) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- 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(ExternalSet<Type>, String, Annotations, CodeLocation) - Constructor for class it.unive.lisa.symbolic.value.Variable
-
Builds the variable with annotations.
- Variable(ExternalSet<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, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
- 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.impl.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapAllocation, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapAllocation. - visit(HeapDereference, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapDereference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapDereference. - visit(HeapReference, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapReference, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
HeapReference. - visit(BinaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(BinaryExpression, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
BinaryExpression. - visit(Constant, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Constant, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Constant. - visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
- visit(Identifier, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits an
Identifier. - visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(PushAny, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
PushAny. - visit(Skip, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(Skip, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
Skip. - visit(TernaryExpression, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(TernaryExpression, T, T, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
TernaryExpression. - visit(UnaryExpression, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
- visit(UnaryExpression, T, Object...) - Method in interface it.unive.lisa.symbolic.ExpressionVisitor
-
Visits a
UnaryExpression. - visit(V, G) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a graph, inspecting its structure and signature, but without accessing its contents.
- visit(V, G, E) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits an edge of the given graph.
- visit(V, G, N) - Method in interface it.unive.lisa.util.datastructures.graph.GraphVisitor
-
Visits a node of the given graph.
- visitCompilationUnit(T, CompilationUnit) - Method in interface it.unive.lisa.checks.Check
-
Visits the given compilation unit.
- visitGlobal(T, Unit, Global, boolean) - Method in interface it.unive.lisa.checks.Check
-
Visits the given global.
- VisitOnceWorkingSet<E> - Class in it.unive.lisa.util.collections.workset
-
A working set that guarantees that each element will be added to this working set no more than once.
- VoidType - Class in it.unive.lisa.type
-
The void type.
W
- warn(String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning that is meant to be a generic warning on the program.
- Warning - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- Warning(String) - Constructor for class it.unive.lisa.checks.warnings.Warning
-
Builds the warning.
- WARNINGS - it.unive.lisa.outputs.compare.JsonReportComparer.REPORTED_COMPONENT
-
Indicates that the difference was found in the collection of generated warnings.
- WarningWithLocation - Class in it.unive.lisa.checks.warnings
-
A warning reported by LiSA on the program under analysis.
- WarningWithLocation(CodeLocation, String) - Constructor for class it.unive.lisa.checks.warnings.WarningWithLocation
-
Builds the warning.
- warnOn(CFGDescriptor, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the cfg represented by the given descriptor.
- warnOn(CFG, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given cfg.
- warnOn(Expression, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given expression.
- warnOn(Statement, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the given statement.
- warnOn(Unit, Global, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given global.
- warnOn(Unit, String) - Method in class it.unive.lisa.checks.syntactic.CheckTool
-
Reports a new warning with the given message on the declaration of the given unit.
- widening(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- widening(CFGWithAnalysisResults<A, H, V>) - Method in class it.unive.lisa.analysis.CFGWithAnalysisResults
- widening(L) - Method in class it.unive.lisa.analysis.BaseLattice
- widening(L) - Method in interface it.unive.lisa.analysis.Lattice
-
Performs the widening operation between this lattice element and the given one.
- wideningAux(D) - Method in class it.unive.lisa.analysis.dataflow.DataflowDomain
- wideningAux(F) - Method in class it.unive.lisa.analysis.lattices.FunctionalLattice
- wideningAux(AnalysisState<A, H, V>) - Method in class it.unive.lisa.analysis.AnalysisState
- wideningAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.impl.heap.MonolithicHeap
- wideningAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap
- wideningAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.impl.heap.TypeBasedHeap
- wideningAux(NonInterference) - Method in class it.unive.lisa.analysis.impl.nonInterference.NonInterference
- wideningAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.impl.numeric.IntegerConstantPropagation
- wideningAux(Interval) - Method in class it.unive.lisa.analysis.impl.numeric.Interval
- wideningAux(Parity) - Method in class it.unive.lisa.analysis.impl.numeric.Parity
- wideningAux(Sign) - Method in class it.unive.lisa.analysis.impl.numeric.Sign
- 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>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- wideningAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- wideningAux(L) - Method in class it.unive.lisa.analysis.BaseLattice
-
Performs the widening operation between this lattice element and the given one, assuming that base cases have already been handled.
- wideningAux(S) - Method in class it.unive.lisa.analysis.lattices.InverseSetLattice
- wideningAux(S) - Method in class it.unive.lisa.analysis.lattices.SetLattice
- WorkingSet<E> - Interface in it.unive.lisa.util.collections.workset
-
A working set, containing items to be processed.
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