A B C D E F G H I 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
- acceptsTopEventually() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields
true
if and only if there is at least one transition in this automaton that recognizes a top string. - add(SymbolicExpression, Identifier) - Method in class it.unive.lisa.analysis.string.SubstringDomain
-
Adds a single expression (
expr
) forid
to the this abstract value. - add(Identifier) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
-
Adds the specified identifier of a program variable in the bounds.
- add(Set<SymbolicExpression>, Identifier) - Method in class it.unive.lisa.analysis.string.SubstringDomain
-
Adds a set of expressions (
exprs
) forid
to the this abstract value. - alias(SymbolicExpression, SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- alias(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- AllocationSite - Class in it.unive.lisa.analysis.heap.pointbased
-
A heap identifier that track also the source location where it has been allocated and a field (optional).
- AllocationSite(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds an allocation site from its source code location (without field) and specifying if it is weak.
- AllocationSite(Type, String, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds a strong allocation site from its source code location (without field).
- AllocationSite(Type, String, SymbolicExpression, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds an allocation site from its source code location and its field and specifying if it is weak.
- AllocationSite(Type, String, SymbolicExpression, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds a strong allocation site from its source code location and its field.
- AllocationSite(Type, String, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds an allocation site from its source code location and its field and specifying if it is weak.
- AllocationSite(Type, String, String, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Builds a strong allocation site from its source code location and its field.
- AllocationSiteBasedAnalysis<A extends AllocationSiteBasedAnalysis<A>> - Class in it.unive.lisa.analysis.heap.pointbased
-
A base class for heap analyses based on the allocation sites of the objects and arrays they track, namely the position of the code where heap locations are generated.
- AllocationSiteBasedAnalysis() - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Builds a new instance of allocation site-based heap.
- AllocationSiteBasedAnalysis(HeapEnvironment<AllocationSites>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Builds a new instance of allocation site-based heap from its heap environment.
- AllocationSiteBasedAnalysis(HeapEnvironment<AllocationSites>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Builds a new instance of allocation site-based heap from its heap environment and replacements.
- AllocationSiteBasedAnalysis.Rewriter - Class in it.unive.lisa.analysis.heap.pointbased
-
A
BaseHeapDomain.Rewriter
for theAllocationSiteBasedAnalysis
domain. - AllocationSites - Class in it.unive.lisa.analysis.heap.pointbased
-
A heap domain tracking sets of
AllocationSite
. - AllocationSites() - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSites
-
Builds an instance of HeapIdentiferSetLattice, corresponding to the top element.
- app - Variable in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
The application.
- applyReplacement(HeapSemanticOperation.HeapReplacement, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
-
Applies a substitution to the contents of this set of allocation sites, similarly to
ValueDomain.applyReplacement(it.unive.lisa.analysis.heap.HeapSemanticOperation.HeapReplacement, ProgramPoint, SemanticOracle)
. - assign(I, E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- assign(I, E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- assign(Identifier, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assign(Identifier, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- assign(Identifier, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- assign(Identifier, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- assign(Identifier, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.stability.Stability
- assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- assign(Identifier, ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.SubstringDomainWithConstants
- assume(E, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- assume(E, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- assume(HeapEnvironment<AllocationSites>, SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- assume(InferenceSystem<NonInterference>, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- assume(ValueEnvironment<C>, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- assume(ValueEnvironment<T>, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- assume(SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assume(SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- assume(SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- assume(SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- assume(SymbolicExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- assume(ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- assume(ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.stability.Stability
- assume(ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- assumeBinaryExpression(ValueEnvironment<NonRedundantPowersetOfInterval>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
- assumeBinaryExpression(ValueEnvironment<IntegerConstantPropagation>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- assumeBinaryExpression(ValueEnvironment<Interval>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Interval
- assumeBinaryExpression(ValueEnvironment<Parity>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Parity
- assumeBinaryExpression(ValueEnvironment<Sign>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- assumeBinaryExpression(ValueEnvironment<UpperBounds>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- AvailableExpressions - Class in it.unive.lisa.analysis.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.dataflow.AvailableExpressions
-
Builds an empty available expressions object.
- AvailableExpressions(ValueExpression) - Constructor for class it.unive.lisa.analysis.dataflow.AvailableExpressions
-
Builds the available expressions object.
B
- BackwardModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural
-
A worst case modular analysis were all cfg calls are treated as open calls.
- BackwardModularWorstCaseAnalysis() - Constructor for class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
-
Builds the interprocedural analysis.
- BaseCasesFinder<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural.context.recursion
-
A recursion solver that applies a single iteration of the recursion starting from bottom and using top as entry state for the recursion.
- BaseCasesFinder(ContextBasedAnalysis<A>, Recursion<A>, boolean) - Constructor for class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
-
Builds the solver.
- BaseTaint<T extends BaseTaint<T>> - Class in it.unive.lisa.analysis.taint
-
A taint analysis, that is, an information-flow analysis tracking only explicit flows.
- BaseTaint() - Constructor for class it.unive.lisa.analysis.taint.BaseTaint
- bottom() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- bottom() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- bottom() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- bottom() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- bottom() - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- bottom() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- bottom() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- bottom() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- bottom() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- bottom() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- bottom() - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- bottom() - Method in class it.unive.lisa.analysis.numeric.Interval
- bottom() - Method in class it.unive.lisa.analysis.numeric.Parity
- bottom() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- bottom() - Method in class it.unive.lisa.analysis.numeric.Sign
- bottom() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- bottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- bottom() - Method in class it.unive.lisa.analysis.stability.Stability
- bottom() - Method in class it.unive.lisa.analysis.stability.Trend
- bottom() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- bottom() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- bottom() - Method in class it.unive.lisa.analysis.string.CharInclusion
- bottom() - Method in class it.unive.lisa.analysis.string.fsa.FSA
- bottom() - Method in class it.unive.lisa.analysis.string.Prefix
- bottom() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- bottom() - Method in class it.unive.lisa.analysis.string.SubstringDomain
- bottom() - Method in class it.unive.lisa.analysis.string.Suffix
- bottom() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- bottom() - Method in class it.unive.lisa.analysis.taint.Taint
- bottom() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- bottom() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- bottom() - Method in class it.unive.lisa.analysis.types.InferredTypes
- bottom() - Method in class it.unive.lisa.analysis.types.StaticTypes
- BOTTOM - Static variable in class it.unive.lisa.analysis.numeric.Interval
-
The abstract bottom element.
- BOTTOM - Static variable in class it.unive.lisa.analysis.numeric.Parity
-
The abstract bottom element.
- BOTTOM - Static variable in class it.unive.lisa.analysis.numeric.Sign
-
The abstract bottom element.
- BOTTOM - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract bottom element.
- Branching - Class in it.unive.lisa.analysis.traces
-
A
TraceToken
representing the traversal of a if-then-else condition, associated with the branch taken. - Branching(ProgramPoint, boolean) - Constructor for class it.unive.lisa.analysis.traces.Branching
-
Builds the branching.
- Brick - Class in it.unive.lisa.analysis.string.bricks
-
The brick string abstract domain.
- Brick() - Constructor for class it.unive.lisa.analysis.string.bricks.Brick
-
Builds the top brick abstract element.
- Brick(int, int, Set<String>) - Constructor for class it.unive.lisa.analysis.string.bricks.Brick
-
Builds a brick abstract element.
- Brick(IntInterval, Set<String>) - Constructor for class it.unive.lisa.analysis.string.bricks.Brick
-
Builds a brick abstract element.
- Brick(MathNumber, MathNumber, Set<String>) - Constructor for class it.unive.lisa.analysis.string.bricks.Brick
-
Builds a brick abstract element.
- Bricks - Class in it.unive.lisa.analysis.string.bricks
-
The bricks string abstract domain.
- Bricks() - Constructor for class it.unive.lisa.analysis.string.bricks.Bricks
-
Builds the top brick abstract element.
- Bricks(List<Brick>) - Constructor for class it.unive.lisa.analysis.string.bricks.Bricks
-
Builds a bricks abstract element.
C
- callgraph - Variable in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
The call graph used to resolve method calls.
- CallGraphBasedAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural
-
An interprocedural analysis based on a call graph.
- CallGraphBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
Builds the analysis.
- CallGraphBasedAnalysis(CallGraphBasedAnalysis<A>) - Constructor for class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
Builds the analysis by copying the given one.
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- canProcess(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.stability.Trend
- canShortcut(CFG) - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Whether or not this analysis can avoid computing a fixpoint for the given cfg when it is invoked by a call, and shortcut to the result for the same token if it exists and if it was produced with a greater entry state.
- canShortcut(CFG) - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- canShortcut(CFG) - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
- CartesianProduct<C extends CartesianProduct<C,T1,T2,E,I>,T1 extends it.unive.lisa.analysis.SemanticDomain<T1,E,I> & it.unive.lisa.analysis.Lattice<T1>,T2 extends it.unive.lisa.analysis.SemanticDomain<T2,E,I> & it.unive.lisa.analysis.Lattice<T2>,E extends it.unive.lisa.symbolic.SymbolicExpression,I extends it.unive.lisa.symbolic.value.Identifier> - Class in it.unive.lisa.analysis.combination
-
A generic Cartesian product abstract domain between two non-communicating
SemanticDomain
s (i.e., no exchange of information between the abstract domains), assigning the sameIdentifier
s and handling instances of the sameSymbolicExpression
s. - CartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.CartesianProduct
-
Builds the Cartesian product abstract domain.
- CHACallGraph - Class in it.unive.lisa.interprocedural.callgraph
-
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.CHACallGraph
- CharInclusion - Class in it.unive.lisa.analysis.string
-
The suffix string abstract domain.
- CharInclusion() - Constructor for class it.unive.lisa.analysis.string.CharInclusion
-
Builds the top char inclusion abstract element.
- CharInclusion(Set<Character>, Set<Character>) - Constructor for class it.unive.lisa.analysis.string.CharInclusion
-
Builds a char inclusion abstract element.
- clean() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields the domain element that represents clean values.
- clean() - Method in class it.unive.lisa.analysis.taint.Taint
- clean() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- CLEAN_ANNOTATION - Static variable in class it.unive.lisa.analysis.taint.BaseTaint
-
The annotation used to mark clean variables, that is, sanitizers of tainted information.
- CLEAN_MATCHER - Static variable in class it.unive.lisa.analysis.taint.BaseTaint
-
An
AnnotationMatcher
forBaseTaint.CLEAN_ANNOTATION
. - closure() - Method in class it.unive.lisa.analysis.string.SubstringDomain
-
Performs the closure over the domain.
- collapse() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton that is built by collapsing
this
, that is, by merging together subsequent states that are never the root of a branch, the destination of a loop, or that have at least one outgoing transition recognizing the top string.
this
is never modified by this method. - collapse() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
-
Collapses all of the traces contained in this domain, returning a unique abstract state that over-approximates all of them.
- combine(Stability<V>) - Method in class it.unive.lisa.analysis.stability.Stability
-
Yields the combination of the trends in this stability instance with the ones contained in the given one.
- combine(Trend) - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields the combination of this trend with the given one.
- compareTo(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- compareTo(StringSymbol) - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- concat(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the concatenation between two automata.
- concat(StringSymbol) - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
-
Merges the two symbols in a unique one by joining the two inner strings.
- concat(StringSymbol, StringSymbol) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- concat(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the concatenation between two automata.
- concat(RegularExpression, RegularExpression) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- conf - Variable in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
The fixpoint configuration.
- configurableComponents() - Static method in class it.unive.lisa.LiSAFactory
-
Yields the collection of
LiSAFactory.ConfigurableComponent
s that can be used to customize the analysis.
Note that all information present in the returned instances reflect the information known to LiSA when this component is created, that is, what is present inside the classpath and already loaded by the JVM. - ConstantPropagation - Class in it.unive.lisa.analysis.dataflow
-
An implementation of the overflow-insensitive constant propagation dataflow analysis, that focuses only on integers.
- ConstantPropagation() - Constructor for class it.unive.lisa.analysis.dataflow.ConstantPropagation
-
Builds an empty constant propagation object.
- ConstantPropagation(Identifier, Integer) - Constructor for class it.unive.lisa.analysis.dataflow.ConstantPropagation
-
Builds the new constant propagation object.
- contains(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields if this automaton recognizes strings recognized by the other automaton.
- contains(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Semantics of
StringContains
betweenthis
andother
. - contains(Identifier) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
-
Checks if this bounds contains a specified identifier of a program variable.
- containsChar(char) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- containsChar(char) - Method in class it.unive.lisa.analysis.string.CharInclusion
- containsChar(char) - Method in interface it.unive.lisa.analysis.string.ContainsCharProvider
-
Simplified semantics of the string contains operator, checking a single character is part of the string.
- containsChar(char) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- containsChar(char) - Method in class it.unive.lisa.analysis.string.Prefix
- containsChar(char) - Method in class it.unive.lisa.analysis.string.Suffix
- containsChar(char) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- ContainsCharProvider - Interface in it.unive.lisa.analysis.string
-
Interface for a string analysis that exposes the
ContainsCharProvider.containsChar(char)
method. - ContextBasedAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural.context
-
A context sensitive interprocedural analysis.
- ContextBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Builds the analysis, using
LastCallToken
s. - ContextBasedAnalysis(ContextBasedAnalysis<A>) - Constructor for class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Builds the analysis by copying the given one.
- ContextBasedAnalysis(ContextSensitivityToken) - Constructor for class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Builds the analysis.
- ContextInsensitiveToken - Class in it.unive.lisa.interprocedural.context
-
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.context
-
A token for interprocedural analysis that tunes the level of context sensitivity.
D
- DEC - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract decreasing element.
- defaultAbstractState() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
AbstractState
that can be used to run analyses. - defaultApprox(Identifier, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Default approximation for
Identifier
s. - defaultCallGraph() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
CallGraph
that can be used to run analyses. - DefaultConfiguration - Class in it.unive.lisa
-
A default
LiSAConfiguration
that already has aCallGraph
andInterproceduralAnalysis
set. - DefaultConfiguration() - Constructor for class it.unive.lisa.DefaultConfiguration
-
Builds a default configuration, having
DefaultConfiguration.defaultCallGraph()
asCallGraph
andDefaultConfiguration.defaultInterproceduralAnalysis()
asInterproceduralAnalysis
. - defaultHeapDomain() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
HeapDomain
that can be used to run analyses. - defaultInterproceduralAnalysis() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
InterproceduralAnalysis
that can be used to run analyses. - defaultTypeDomain() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
TypeDomain
that can be used to run analyses. - defaultValueDomain() - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields a default
ValueDomain
that can be used to run analyses.
E
- EgliMilnerConnector(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
An Egli-Milner connector is an upper bound operator for the
Egli-Milner relation ≤EM
. - EgliMilnerConnector(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
An Egli-Milner connector is an upper bound operator for the
Egli-Milner relation ≤EM
. - EgliMilnerConnector(NonRedundantPowersetOfInterval) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
-
This specific Egli-Milner connector follows this definition:
given two subsets S1 and S2 of a domain of a lattice: - elementsSet - Variable in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
The set that containing the elements.
- emptyLang() - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the empty language. - emptyLanguage() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- emptyLanguage() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- emptyStr() - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the empty string. - emptyString() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- emptyString() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- epsilon() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- epsilon() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- EPSILON - Static variable in class it.unive.lisa.analysis.string.fsa.StringSymbol
-
Singleton symbol for the epsilon.
- eq(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
-
Tests if this instance is equal to the given one, returning a
Satisfiability
element. - equals(Object) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- equals(Object) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- equals(Object) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- equals(Object) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- equals(Object) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- equals(Object) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- equals(Object) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- equals(Object) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- equals(Object) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- equals(Object) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.Interval
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.Parity
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.Sign
- equals(Object) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- equals(Object) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- equals(Object) - Method in class it.unive.lisa.analysis.stability.Stability
- equals(Object) - Method in class it.unive.lisa.analysis.stability.Trend
- equals(Object) - Method in class it.unive.lisa.analysis.string.bricks.Brick
- equals(Object) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- equals(Object) - Method in class it.unive.lisa.analysis.string.CharInclusion
- equals(Object) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- equals(Object) - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- equals(Object) - Method in class it.unive.lisa.analysis.string.Prefix
- equals(Object) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- equals(Object) - Method in class it.unive.lisa.analysis.string.Suffix
- equals(Object) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- equals(Object) - Method in class it.unive.lisa.analysis.taint.Taint
- equals(Object) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- equals(Object) - Method in class it.unive.lisa.analysis.traces.Branching
- equals(Object) - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
- equals(Object) - Method in class it.unive.lisa.analysis.traces.LoopIteration
- equals(Object) - Method in class it.unive.lisa.analysis.traces.LoopSummary
- equals(Object) - Method in class it.unive.lisa.analysis.traces.TraceToken
- equals(Object) - Method in class it.unive.lisa.analysis.types.InferredTypes
- equals(Object) - Method in class it.unive.lisa.analysis.types.StaticTypes
- equals(Object) - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
- equals(Object) - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- eval(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- eval(ValueExpression, TypeEnvironment<StaticTypes>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- eval(ValueExpression, ValueEnvironment<C>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- evalBinaryExpression(BinaryOperator, C, C, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- evalBinaryExpression(BinaryOperator, NonInterference, NonInterference, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalBinaryExpression(BinaryOperator, Parity, Parity, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalBinaryExpression(BinaryOperator, Bricks, Bricks, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- evalBinaryExpression(BinaryOperator, CharInclusion, CharInclusion, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.CharInclusion
- evalBinaryExpression(BinaryOperator, FSA, FSA, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- evalBinaryExpression(BinaryOperator, Prefix, Prefix, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Prefix
- evalBinaryExpression(BinaryOperator, StringConstantPropagation, StringConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- evalBinaryExpression(BinaryOperator, Suffix, Suffix, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Suffix
- evalBinaryExpression(BinaryOperator, Tarsis, Tarsis, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- evalBinaryExpression(BinaryOperator, ThreeLevelsTaint, ThreeLevelsTaint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- evalBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalBinaryExpression(BinaryOperator, T, T, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalIdentifier(Identifier, InferenceSystem<NonInterference>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalIdentifier(Identifier, TypeEnvironment<InferredTypes>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalIdentifier(Identifier, TypeEnvironment<StaticTypes>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- evalIdentifier(Identifier, ValueEnvironment<T>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalNonNullConstant(Constant, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.CharInclusion
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Prefix
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Suffix
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNonNullConstant(Constant, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- evalNullConstant(NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNullConstant(ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- evalPushAny(PushAny, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalPushAny(PushAny, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalPushAny(PushAny, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalPushAny(PushAny, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- evalPushInv(PushInv, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalPushInv(PushInv, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- evalSkip(Skip, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalTernaryExpression(TernaryOperator, NonInterference, NonInterference, NonInterference, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalTernaryExpression(TernaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalTernaryExpression(TernaryOperator, CharInclusion, CharInclusion, CharInclusion, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.CharInclusion
- evalTernaryExpression(TernaryOperator, FSA, FSA, FSA, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- evalTernaryExpression(TernaryOperator, Prefix, Prefix, Prefix, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Prefix
- evalTernaryExpression(TernaryOperator, StringConstantPropagation, StringConstantPropagation, StringConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- evalTernaryExpression(TernaryOperator, Suffix, Suffix, Suffix, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.Suffix
- evalTernaryExpression(TernaryOperator, Tarsis, Tarsis, Tarsis, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- evalTernaryExpression(TernaryOperator, ThreeLevelsTaint, ThreeLevelsTaint, ThreeLevelsTaint, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- evalTernaryExpression(TernaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTernaryExpression(TernaryOperator, T, T, T, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalTypeCast(BinaryExpression, NonInterference, NonInterference, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalTypeCast(BinaryExpression, InferredTypes, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTypeCast(BinaryExpression, T, T, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalTypeConv(BinaryExpression, NonInterference, NonInterference, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalTypeConv(BinaryExpression, InferredTypes, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTypeConv(BinaryExpression, T, T, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- evalUnaryExpression(UnaryOperator, C, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- evalUnaryExpression(UnaryOperator, NonInterference, NonInterference, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalUnaryExpression(UnaryOperator, IntegerConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalUnaryExpression(UnaryOperator, Interval, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalUnaryExpression(UnaryOperator, Parity, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalUnaryExpression(UnaryOperator, Sign, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalUnaryExpression(UnaryOperator, StringConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- evalUnaryExpression(UnaryOperator, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalUnaryExpression(UnaryOperator, T, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- EVEN - Static variable in class it.unive.lisa.analysis.numeric.Parity
-
The abstract even element.
- ExecutionTrace - Class in it.unive.lisa.analysis.traces
-
An execution trace, made of
TraceToken
s representing the intraprocedural control-flow instructions that have been traversed up to now. - ExecutionTrace() - Constructor for class it.unive.lisa.analysis.traces.ExecutionTrace
-
Builds a new empty execution trace.
- explode() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton that is built by exploding this one, that is, by ensuring that each transition recognizes regular expressions of at most one character (excluding the ones recognizing the top string).
- extrapolationHeuristic(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
This method implements the widening-connected hextrapolation heuristic proposed in the paper (represented as h∇).
- extrapolationHeuristic(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
This method implements the widening-connected extrapolation heuristic proposed in the paper (represented as h∇).
F
- fields - Variable in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Tracks the fields of each allocation site.
- FieldSensitivePointBasedHeap - Class in it.unive.lisa.analysis.heap.pointbased
-
A field-insensitive program point-based
AllocationSiteBasedAnalysis
. - FieldSensitivePointBasedHeap() - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap.
- FieldSensitivePointBasedHeap(HeapEnvironment<AllocationSites>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap from its heap environment.
- FieldSensitivePointBasedHeap(HeapEnvironment<AllocationSites>, GenericMapLattice<AllocationSite, ExpressionSet>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap from its heap environment.
- FieldSensitivePointBasedHeap(HeapEnvironment<AllocationSites>, List<HeapSemanticOperation.HeapReplacement>, GenericMapLattice<AllocationSite, ExpressionSet>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap from its heap environment, its replacements, and its field mapping.
- FieldSensitivePointBasedHeap.Rewriter - Class in it.unive.lisa.analysis.heap.pointbased
-
A
BaseHeapDomain.Rewriter
for theFieldSensitivePointBasedHeap
domain. - find() - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
-
Solves the recursion by iterating once starting from bottom.
- findIndexesOf(RegexAutomaton, RegexAutomaton) - Static method in class it.unive.lisa.analysis.string.tarsis.IndexFinder
-
Yields the minimum and maximum indexes where
search
first appears inautomaton
. - fixedVariable(Identifier, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- fixedVariable(Identifier, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- fixedVariable(Identifier, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
- fixpoint(AnalysisState<A>, Class<? extends WorkingSet<Statement>>, FixpointConfiguration) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.stability.Stability
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.stability.Stability
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- forgetIdentifiersIf(Predicate<Identifier>) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- from(SortedSet<State>, SortedSet<Transition<StringSymbol>>) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- from(SortedSet<State>, SortedSet<Transition<RegularExpression>>) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- FSA - Class in it.unive.lisa.analysis.string.fsa
-
A class that represent the Finite State Automaton domain for strings, exploiting a
SimpleAutomaton
. - FSA() - Constructor for class it.unive.lisa.analysis.string.fsa.FSA
-
Creates a new FSA object representing the TOP element.
- FSA(SimpleAutomaton) - Constructor for class it.unive.lisa.analysis.string.fsa.FSA
-
Creates a new FSA object using a
SimpleAutomaton
. - FullStackToken - Class in it.unive.lisa.interprocedural.context
-
A context sensitive token representing an entire call chain, regardless of its length.
G
- gen(Identifier, ValueExpression, ProgramPoint, DefiniteDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- gen(Identifier, ValueExpression, ProgramPoint, DefiniteDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- gen(Identifier, ValueExpression, ProgramPoint, PossibleDataflowDomain<Liveness>) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- gen(Identifier, ValueExpression, ProgramPoint, PossibleDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- gen(ValueExpression, ProgramPoint, DefiniteDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- gen(ValueExpression, ProgramPoint, DefiniteDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- gen(ValueExpression, ProgramPoint, PossibleDataflowDomain<Liveness>) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- gen(ValueExpression, ProgramPoint, PossibleDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- getAbstractResultOf(CFGCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- getAbstractResultOf(CFGCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
- getAbstractResultOf(CFGCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- getAbstractResultOf(CFGCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
- getAbstractResultOf(CFGCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getAbstractResultOf(OpenCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- getAbstractResultOf(OpenCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- getAbstractResultOf(OpenCall, AnalysisState<A>, ExpressionSet[], StatementStore<A>) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getAllDomainInstances(Class<D>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getAllDomainInstances(Class<D>) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- getAllDomainInstances(Class<T>) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- getAllocatedAt(String) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Yields an allocation site name
id
if it is tracked by this domain,null
otherwise. - 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.BackwardModularWorstCaseAnalysis
- getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
- getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getAutomaton() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the
RegexAutomaton
backing this domain element. - getAuxiliaryDomain() - Method in class it.unive.lisa.analysis.stability.Stability
-
Yields the auxiliary domain contained in this domain instance.
- getCertainlyContained() - Method in class it.unive.lisa.analysis.string.CharInclusion
-
Yields the set of certainly contained characters of this abstract value.
- getComponent() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the component represented by this
LiSAFactory.ConfigurableComponent
. - getCovarianceClasses() - Method in class it.unive.lisa.analysis.stability.Stability
-
Yields a mapping from
Trend
s to theIdentifier
s having that trend. - getDynamicTypeOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getDynamicTypeOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- getEntryState() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Yields the entry state (prestate of
Recursion.getInvocation()
together with the poststates of its parameters) that was used to start this recursion. - getField() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields the string that identifies the subfield of the location (
AllocationSite.getLocationName()
) that this allocation site has been allocated. - getFixpointResults() - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- getFixpointResults() - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
- getFixpointResults() - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getHead() - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
-
Yields the head of the execution trace.
- getHeapState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
-
Yields the
HeapDomain
contained in this state. - getInstance(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
-
Creates an instance of the given
component
. - getInvocation() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Yields the call that started this recursion by calling
Recursion.getRecursionHead()
. - getInvocationToken() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Yields the
ContextSensitivityToken
that was active whenRecursion.getInvocation()
was executed to start the recursion. - getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.dataflow.Liveness
- getInvolvedIdentifiers() - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- getIteration() - Method in class it.unive.lisa.analysis.traces.LoopIteration
-
Yields the iteration number.
- getKnownTypes() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
-
Yields the name of the types known to this domain instance.
- getLocationName() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields the code location string representation where this allocation site has been allocated.
- getMax() - Method in class it.unive.lisa.analysis.string.bricks.Brick
-
Yields the max of this abstract value.
- getMaybeContained() - Method in class it.unive.lisa.analysis.string.CharInclusion
-
Yields the set of maybe contained characters of this abstract value.
- getMembers() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Yields all the
CodeMember
s part of this recursion. - getMin() - Method in class it.unive.lisa.analysis.string.bricks.Brick
-
Yields the min of this abstract value.
- getPossibleTypesOfReceiver(Expression, Set<Type>) - Method in class it.unive.lisa.interprocedural.callgraph.CHACallGraph
- getPossibleTypesOfReceiver(Expression, Set<Type>) - Method in class it.unive.lisa.interprocedural.callgraph.RTACallGraph
- getPrefix() - Method in class it.unive.lisa.analysis.string.Prefix
-
Yields the prefix of this abstract value.
- getProgramPoint() - Method in class it.unive.lisa.analysis.traces.TraceToken
-
Yields the program point associated with this token.
- getRecursionHead() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Yields the head of the recursion, that is, the first member that was invoked from outside the recursion by
Recursion.getInvocation()
. - getReps() - Method in class it.unive.lisa.analysis.string.bricks.Brick
-
Yields all the possible concatenations between min and max of the strings set.
- getRuntimeTypes() - Method in class it.unive.lisa.analysis.types.InferredTypes
- getRuntimeTypes() - Method in class it.unive.lisa.analysis.types.StaticTypes
- getRuntimeTypesOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- getRuntimeTypesOf(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- getSingleton() - Static method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
-
Return an instance of the class.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.context.FullStackToken
-
Return an empty token.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.context.LastCallToken
-
Return an empty token.
- getSingleton(int) - Static method in class it.unive.lisa.interprocedural.context.KDepthToken
-
Return an empty token.
- getStrings() - Method in class it.unive.lisa.analysis.string.bricks.Brick
-
Yields the set of strings of this abstract value.
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- getSuffix() - Method in class it.unive.lisa.analysis.string.Suffix
-
Yields the suffix of this abstract value.
- getSymbol() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
-
Yields the string represented by this symbol.
- getTrends() - Method in class it.unive.lisa.analysis.stability.Stability
-
Yields the per-variable trends contained in this domain instance.
- getTypeState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
-
Yields the
TypeDomain
contained in this state. - getValue() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
-
Returns the abstract value of the domain.
- getValueState() - Method in class it.unive.lisa.analysis.SimpleAbstractState
-
Yields the
ValueDomain
contained in this state. - glb(C) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- glbAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- glbAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- glbAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- glbAux(FieldSensitivePointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- glbAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- glbAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- glbAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- glbAux(UpperBounds) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- glbAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- glbAux(Stability<V>) - Method in class it.unive.lisa.analysis.stability.Stability
- glbAux(Trend) - Method in class it.unive.lisa.analysis.stability.Trend
- glbAux(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- glbAux(SubstringDomain) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- glbAux(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- gt(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
-
Tests if this instance is greater than the given one, returning a
Satisfiability
element.
H
- hashCode() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- hashCode() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.Liveness
- hashCode() - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- hashCode() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- hashCode() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- hashCode() - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- hashCode() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- hashCode() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- hashCode() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- hashCode() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- hashCode() - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- hashCode() - Method in class it.unive.lisa.analysis.numeric.Interval
- hashCode() - Method in class it.unive.lisa.analysis.numeric.Parity
- hashCode() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- hashCode() - Method in class it.unive.lisa.analysis.numeric.Sign
- hashCode() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- hashCode() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- hashCode() - Method in class it.unive.lisa.analysis.stability.Stability
- hashCode() - Method in class it.unive.lisa.analysis.stability.Trend
- hashCode() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- hashCode() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- hashCode() - Method in class it.unive.lisa.analysis.string.CharInclusion
- hashCode() - Method in class it.unive.lisa.analysis.string.fsa.FSA
- hashCode() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- hashCode() - Method in class it.unive.lisa.analysis.string.Prefix
- hashCode() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- hashCode() - Method in class it.unive.lisa.analysis.string.Suffix
- hashCode() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- hashCode() - Method in class it.unive.lisa.analysis.taint.Taint
- hashCode() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- hashCode() - Method in class it.unive.lisa.analysis.traces.Branching
- hashCode() - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
- hashCode() - Method in class it.unive.lisa.analysis.traces.LoopIteration
- hashCode() - Method in class it.unive.lisa.analysis.traces.LoopSummary
- hashCode() - Method in class it.unive.lisa.analysis.traces.TraceToken
- hashCode() - Method in class it.unive.lisa.analysis.types.InferredTypes
- hashCode() - Method in class it.unive.lisa.analysis.types.StaticTypes
- hashCode() - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- hashCode() - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- hashCode() - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- hashCode() - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- hashCode() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
- hashCode() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- HEAP_REPRESENTATION_KEY - Static variable in class it.unive.lisa.analysis.SimpleAbstractState
-
The key that should be used to store the instance of
HeapDomain
inside theStructuredRepresentation
returned bySimpleAbstractState.representation()
. - HeapAllocationSite - Class in it.unive.lisa.analysis.heap.pointbased
-
A heap allocation site, that is an allocation site pointing to something allocated in the dynamic memory, the heap.
- HeapAllocationSite(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
-
Builds a heap allocation site.
- HeapAllocationSite(Type, String, SymbolicExpression, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
-
Builds a heap allocation site.
- HeapAllocationSite(Type, String, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
-
Builds a heap allocation site.
- heapEnv - Variable in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
An heap environment tracking which allocation sites are associated to each identifier.
- HIGH_INT_ANNOTATION - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
The annotation used to mark high integrity variables.
- HIGH_INT_MATCHER - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
AnnotationMatcher
forNonInterference.HIGH_INT_ANNOTATION
.
I
- INC - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract increasing element.
- IndexFinder - Class in it.unive.lisa.analysis.string.tarsis
-
An algorithm that finds all possible indexes of the first occurrences of an automaton into another one.
- IndexFinder() - Constructor for class it.unive.lisa.analysis.string.tarsis.IndexFinder
- indexOf(Bricks) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - indexOf(CharInclusion) - Method in class it.unive.lisa.analysis.string.CharInclusion
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - indexOf(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - indexOf(Prefix) - Method in class it.unive.lisa.analysis.string.Prefix
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - indexOf(Suffix) - Method in class it.unive.lisa.analysis.string.Suffix
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - indexOf(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the
IntInterval
containing the minimum and maximum index ofs
inthis
. - InferredTypes - Class in it.unive.lisa.analysis.types
-
An
InferredValue
holding a set ofType
s, representing the inferred runtime types of anExpression
. - InferredTypes() - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types.
- InferredTypes(boolean, Set<Type>) - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types, representing only the given set of
Type
s. - InferredTypes(TypeSystem, Type) - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types, representing only the given
Type
. - InferredTypes(TypeSystem, Set<Type>) - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types, representing only the given set of
Type
s. - init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
- init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
- init(Application, CallGraph, OpenCallPolicy) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- IntegerConstantPropagation - Class in it.unive.lisa.analysis.numeric
-
The overflow-insensitive 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.numeric.IntegerConstantPropagation
-
Builds the top abstract value.
- IntegerConstantPropagation(Integer) - Constructor for class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
-
Builds the abstract value for the given constant.
- intersection(RegexAutomaton) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- interval - Variable in class it.unive.lisa.analysis.numeric.Interval
-
The interval represented by this domain element.
- Interval - Class in it.unive.lisa.analysis.numeric
-
The overflow-insensitive interval abstract domain, approximating integer values as the minimum integer interval containing them.
- Interval() - Constructor for class it.unive.lisa.analysis.numeric.Interval
-
Builds the top interval.
- Interval(int, int) - Constructor for class it.unive.lisa.analysis.numeric.Interval
-
Builds the interval.
- Interval(IntInterval) - Constructor for class it.unive.lisa.analysis.numeric.Interval
-
Builds the interval.
- Interval(MathNumber, MathNumber) - Constructor for class it.unive.lisa.analysis.numeric.Interval
-
Builds the interval.
- invert() - Method in class it.unive.lisa.analysis.stability.Trend
-
Inverts the current trend.
- is(int) - Method in class it.unive.lisa.analysis.numeric.Interval
-
Tests whether this interval instance corresponds (i.e., concretizes) exactly to the given integer.
- isAlwaysClean() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields
true
if this instance represents information that is definitely clean across all execution paths. - isAlwaysTainted() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields
true
if this instance represents information that is definitely tainted across all execution paths. - isAlwaysTainted() - Method in class it.unive.lisa.analysis.taint.Taint
- isAlwaysTainted() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- isBottom() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- isBottom() - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- isBottom() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- isBottom() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- isBottom() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- isBottom() - Method in class it.unive.lisa.analysis.nonRedundantSet.ValueNonRedundantSet
- isBottom() - Method in class it.unive.lisa.analysis.numeric.Interval
- isBottom() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- isBottom() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- isBottom() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isBottom() - Method in class it.unive.lisa.analysis.stability.Stability
- isBottom() - Method in class it.unive.lisa.analysis.string.fsa.FSA
- isBottom() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- isBottom() - Method in class it.unive.lisa.analysis.types.InferredTypes
- isDec() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent a decreasing variation, that is, if the current value is less than the previous one. - isEpsilon() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- isEven() - Method in class it.unive.lisa.analysis.numeric.Parity
-
Yields whether or not this is the even parity.
- isFinite() - Method in class it.unive.lisa.analysis.string.bricks.Brick
-
Helper method to determine if the maximum of the Brick is Finite or not.
- isHighConfidentiality() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
true
if and only if this instance represents ahigh
value for the confidentiality non interference analysis. - isHighIntegrity() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
true
if and only if this instance represents ahigh
value for the integrity non interference analysis. - isInc() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent an increasing variation, that is, if the current value is greater than the previous one. - isLowConfidentiality() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
true
if and only if this instance represents alow
value for the confidentiality non interference analysis. - isLowIntegrity() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
true
if and only if this instance represents alow
value for the integrity non interference analysis. - isNegative() - Method in class it.unive.lisa.analysis.numeric.Sign
-
Yields whether or not this is the negative sign.
- isNonDec() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent a non-decreasing variation, that is, if the current value is greater or equal than the previous one. - isNonInc() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent a non-increasing variation, that is, if the current value is less or equal than the previous one. - isNonStable() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent an unstable variation, that is, if the current value is different from the previous one. - isOdd() - Method in class it.unive.lisa.analysis.numeric.Parity
-
Yields whether or not this is the odd parity.
- isPositive() - Method in class it.unive.lisa.analysis.numeric.Sign
-
Yields whether or not this is the positive sign.
- isPossiblyClean() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields
true
if this instance represents information that is definitely clean in at least one execution path. - isPossiblyGrowing() - Method in class it.unive.lisa.analysis.stability.Trend
-
Returns the direction of the trend as a
Satisfiability
instance. - isPossiblyTainted() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields
true
if this instance represents information that is definitely tainted in at least one execution path. - isPossiblyTainted() - Method in class it.unive.lisa.analysis.taint.Taint
- isPossiblyTainted() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- isReachableFrom(SymbolicExpression, SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isReachableFrom(SymbolicExpression, SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- isStable() - Method in class it.unive.lisa.analysis.stability.Trend
-
Yields
true
if this Trend instance represent a stable variation, that is, if the current value is the same as the previous one. - isStartingId() - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- isStartingId() - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- isStartingId() - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- isStartingId() - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- isTop() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- isTop() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- isTop() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- isTop() - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- isTop() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- isTop() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- isTop() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- isTop() - Method in class it.unive.lisa.analysis.nonRedundantSet.ValueNonRedundantSet
- isTop() - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- isTop() - Method in class it.unive.lisa.analysis.numeric.Interval
- isTop() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- isTop() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- isTop() - Method in class it.unive.lisa.analysis.stability.Stability
- isTop() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- isTop() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- isTop() - Method in class it.unive.lisa.analysis.types.InferredTypes
- isTop() - Method in class it.unive.lisa.analysis.types.StaticTypes
- isTrueBranch() - Method in class it.unive.lisa.analysis.traces.Branching
-
Yields whether the condition is traversed to reach the
true
branch or not. - isZero() - Method in class it.unive.lisa.analysis.numeric.Sign
-
Yields whether or not this is the zero sign.
- 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.heap.pointbased - package it.unive.lisa.analysis.heap.pointbased
- it.unive.lisa.analysis.nonInterference - package it.unive.lisa.analysis.nonInterference
- it.unive.lisa.analysis.nonRedundantSet - package it.unive.lisa.analysis.nonRedundantSet
- it.unive.lisa.analysis.numeric - package it.unive.lisa.analysis.numeric
- it.unive.lisa.analysis.stability - package it.unive.lisa.analysis.stability
- it.unive.lisa.analysis.string - package it.unive.lisa.analysis.string
- it.unive.lisa.analysis.string.bricks - package it.unive.lisa.analysis.string.bricks
- it.unive.lisa.analysis.string.fsa - package it.unive.lisa.analysis.string.fsa
- it.unive.lisa.analysis.string.tarsis - package it.unive.lisa.analysis.string.tarsis
- it.unive.lisa.analysis.taint - package it.unive.lisa.analysis.taint
- it.unive.lisa.analysis.traces - package it.unive.lisa.analysis.traces
- it.unive.lisa.analysis.types - package it.unive.lisa.analysis.types
- it.unive.lisa.interprocedural - package it.unive.lisa.interprocedural
- it.unive.lisa.interprocedural.callgraph - package it.unive.lisa.interprocedural.callgraph
- it.unive.lisa.interprocedural.context - package it.unive.lisa.interprocedural.context
- it.unive.lisa.interprocedural.context.recursion - package it.unive.lisa.interprocedural.context.recursion
- iterator() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- iterator() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
K
- KDepthToken - Class in it.unive.lisa.interprocedural.context
-
A context sensitive token representing an entire call chain up to a fixed length
k
, specified in the singleton creation (KDepthToken.getSingleton(int)
). - kI - Static variable in class it.unive.lisa.analysis.string.bricks.Bricks
-
The indices range of a brick used in the widening.
- kill(Identifier, ValueExpression, ProgramPoint, DefiniteDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- kill(Identifier, ValueExpression, ProgramPoint, DefiniteDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- kill(Identifier, ValueExpression, ProgramPoint, PossibleDataflowDomain<Liveness>) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- kill(Identifier, ValueExpression, ProgramPoint, PossibleDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- kill(ValueExpression, ProgramPoint, DefiniteDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- kill(ValueExpression, ProgramPoint, DefiniteDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- kill(ValueExpression, ProgramPoint, PossibleDataflowDomain<Liveness>) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- kill(ValueExpression, ProgramPoint, PossibleDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- kL - Static variable in class it.unive.lisa.analysis.string.bricks.Bricks
-
The length of the bricks list used in the widening.
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.nonRedundantSet.ValueNonRedundantSet
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.stability.Stability
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- knowsIdentifier(Identifier) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- kS - Static variable in class it.unive.lisa.analysis.string.bricks.Bricks
-
The number of strings in the set of a brick used in the widening.
L
- LastCallToken - Class in it.unive.lisa.interprocedural.context
-
A context sensitive token representing a single
ScopeToken
. - lastLoopTokenFor(ProgramPoint) - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
-
Yields the last loop token (
LoopSummary
orLoopIteration
) for the given guard, if any. - left - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
-
The left-hand side abstract domain.
- left - Variable in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
-
The left-hand side abstract domain.
- length() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - length() - Method in class it.unive.lisa.analysis.string.CharInclusion
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - length() - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - length() - Method in class it.unive.lisa.analysis.string.Prefix
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - length() - Method in class it.unive.lisa.analysis.string.Suffix
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - length() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the
IntInterval
containing the minimum and maximum length of this abstract value. - lessOrEqual(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lessOrEqualAux(A) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- lessOrEqualAux(C) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- lessOrEqualAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
For two subset S1 and S2 of the domain of a lattice S1 ≤S S2 iff: ∀ s1 ∋ S1, ∃ s2 ∋ S2 : s1 ≤ s2.
- lessOrEqualAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
For two subset S1 and S2 of the domain of a lattice S1 ≤S S2 iff: ∀ s1 ∋ S1, ∃ s2 ∋ S2 : s1 ≤ s2.
- lessOrEqualAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- lessOrEqualAux(FieldSensitivePointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- lessOrEqualAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- lessOrEqualAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- lessOrEqualAux(NonInterference) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- lessOrEqualAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- lessOrEqualAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- lessOrEqualAux(Parity) - Method in class it.unive.lisa.analysis.numeric.Parity
- lessOrEqualAux(Pentagon) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- lessOrEqualAux(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
- lessOrEqualAux(UpperBounds) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- lessOrEqualAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lessOrEqualAux(Stability<V>) - Method in class it.unive.lisa.analysis.stability.Stability
- lessOrEqualAux(Trend) - Method in class it.unive.lisa.analysis.stability.Trend
- lessOrEqualAux(Brick) - Method in class it.unive.lisa.analysis.string.bricks.Brick
- lessOrEqualAux(Bricks) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- lessOrEqualAux(CharInclusion) - Method in class it.unive.lisa.analysis.string.CharInclusion
- lessOrEqualAux(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- lessOrEqualAux(Prefix) - Method in class it.unive.lisa.analysis.string.Prefix
- lessOrEqualAux(StringConstantPropagation) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- lessOrEqualAux(Suffix) - Method in class it.unive.lisa.analysis.string.Suffix
- lessOrEqualAux(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- lessOrEqualAux(Taint) - Method in class it.unive.lisa.analysis.taint.Taint
- lessOrEqualAux(ThreeLevelsTaint) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- lessOrEqualAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- lessOrEqualAux(StaticTypes) - Method in class it.unive.lisa.analysis.types.StaticTypes
- lessOrEqualEgliMilner(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Yields
true
if and only if this element is in Egli-Milner relation with the given one (represented as ≤EM). - lessOrEqualEgliMilner(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Yields
true
if and only if this element is in Egli-Milner relation with the given one (represented as ≤EM). - 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 - 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.
- Liveness - Class in it.unive.lisa.analysis.dataflow
-
An implementation of the liveness dataflow analysis, that determines which values might be used later on in the program.
- Liveness() - Constructor for class it.unive.lisa.analysis.dataflow.Liveness
-
Builds an empty liveness element.
- Liveness(Identifier) - Constructor for class it.unive.lisa.analysis.dataflow.Liveness
-
Builds the liveness element for the specified id.
- LoopIteration - Class in it.unive.lisa.analysis.traces
-
A
TraceToken
representing the traversal of a loop condition at the beginning of a specific iteration. - LoopIteration(ProgramPoint, int) - Constructor for class it.unive.lisa.analysis.traces.LoopIteration
-
Builds the iteration.
- LoopSummary - Class in it.unive.lisa.analysis.traces
-
A
TraceToken
representing the traversal of a loop condition, summarizing all possible iterations. - LoopSummary(ProgramPoint) - Constructor for class it.unive.lisa.analysis.traces.LoopSummary
-
Builds the summary.
- LOW_CONF_ANNOTATION - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
The annotation used to mark low confidentiality variables.
- LOW_CONF_MATCHER - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
AnnotationMatcher
forNonInterference.LOW_CONF_ANNOTATION
. - lub(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lubAux(C) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- lubAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Performs the least upper bound between this non redundant set and the given one.
- lubAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Performs the least upper bound between this non redundant set and the given one.
- lubAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- lubAux(AllocationSites) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- lubAux(FieldSensitivePointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- lubAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- lubAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- lubAux(NonInterference) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- lubAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- lubAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- lubAux(Parity) - Method in class it.unive.lisa.analysis.numeric.Parity
- lubAux(Pentagon) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- lubAux(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
- lubAux(UpperBounds) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- lubAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- lubAux(Stability<V>) - Method in class it.unive.lisa.analysis.stability.Stability
- lubAux(Trend) - Method in class it.unive.lisa.analysis.stability.Trend
- lubAux(Brick) - Method in class it.unive.lisa.analysis.string.bricks.Brick
- lubAux(Bricks) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- lubAux(CharInclusion) - Method in class it.unive.lisa.analysis.string.CharInclusion
- lubAux(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- lubAux(Prefix) - Method in class it.unive.lisa.analysis.string.Prefix
- lubAux(StringConstantPropagation) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- lubAux(SubstringDomain) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- lubAux(Suffix) - Method in class it.unive.lisa.analysis.string.Suffix
- lubAux(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- lubAux(Taint) - Method in class it.unive.lisa.analysis.taint.Taint
- lubAux(ThreeLevelsTaint) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- lubAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- lubAux(StaticTypes) - Method in class it.unive.lisa.analysis.types.StaticTypes
M
- MAX_CONDITIONS - Static variable in class it.unive.lisa.analysis.traces.TracePartitioning
-
The maximum number of
Branching
tokens that a trace can contain. - MAX_LOOP_ITERATIONS - Static variable in class it.unive.lisa.analysis.traces.TracePartitioning
-
The maximum number of
LoopIteration
tokens that a trace can contain for each loop appearing in it, before collapsing the next ones in a singleLoopSummary
token. - maxLength() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- middlePoint(Interval) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
-
Yields the middle point of an
Interval
. - minLength() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- mk(A, HeapEnvironment<AllocationSites>) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Builds a new instance of this class by copying abstract information from
reference
and using the given environment for storing points-to information. - mk(A, Map<ExecutionTrace, A>) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- mk(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- mk(MonolithicHeap, List<HeapSemanticOperation.HeapReplacement>) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- mk(FieldSensitivePointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- mk(FieldSensitivePointBasedHeap, HeapEnvironment<AllocationSites>) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- mk(FieldSensitivePointBasedHeap, List<HeapSemanticOperation.HeapReplacement>) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- mk(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- mk(PointBasedHeap, HeapEnvironment<AllocationSites>) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- mk(PointBasedHeap, List<HeapSemanticOperation.HeapReplacement>) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- mk(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- mk(TypeBasedHeap, List<HeapSemanticOperation.HeapReplacement>) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- mk(ExpressionInverseSet, Map<Identifier, ExpressionInverseSet>) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- mk(ValueEnvironment<StringConstantPropagation>, SubstringDomain) - Method in class it.unive.lisa.analysis.string.SubstringDomainWithConstants
- mk(Set<AllocationSite>) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- mk(Set<T>) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- mk(SortedSet<E>) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Utility for creating a concrete instance of
NonRedundantPowersetOfBaseNonRelationalValueDomain
given a set. - mk(SortedSet<Interval>) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
- mk(SortedSet<T>, boolean, T) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Utility used for creating a concrete instance of
NonRedundantPowerset
given a set, whether or not the element is the top element and an instance of the the underlying lattice. - mk(SortedSet<T>, boolean, T) - Method in class it.unive.lisa.analysis.nonRedundantSet.ValueNonRedundantSet
- 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.NonRelationalValueCartesianProduct
-
Builds a new instance of Cartesian product.
- mk(T1, T2) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- ModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural
-
A worst case modular analysis were all cfg calls are treated as open calls.
- ModularWorstCaseAnalysis() - Constructor for class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
-
Builds the interprocedural analysis.
- MonolithicHeap - Class in it.unive.lisa.analysis.heap
-
A monolithic heap implementation that abstracts all heap locations to a unique identifier.
- MonolithicHeap() - Constructor for class it.unive.lisa.analysis.heap.MonolithicHeap
- MonolithicHeap.Rewriter - Class in it.unive.lisa.analysis.heap
-
A
BaseHeapDomain.Rewriter
for theMonolithicHeap
domain.
N
- narrowingAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- narrowingAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- needsCallGraph() - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- needsCallGraph() - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- needsCallGraph() - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- NEG - Static variable in class it.unive.lisa.analysis.numeric.Sign
-
The abstract negative element.
- NI_BOTTOM - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
The value to use for bottom non interference levels.
- NI_HIGH - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
The value to use for high non interference levels.
- NI_LOW - Static variable in class it.unive.lisa.analysis.nonInterference.NonInterference
-
The value to use for low non interference levels.
- NON_DEC - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract non-decreasing element.
- NON_INC - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract non-increasing element.
- NON_STABLE - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract not stable element.
- NonInterference - Class in it.unive.lisa.analysis.nonInterference
-
The type-system based implementation of the non interference analysis.
- NonInterference() - Constructor for class it.unive.lisa.analysis.nonInterference.NonInterference
-
Builds a new instance of non interference, referring to the top element of the lattice.
- NonInterference(byte, byte) - Constructor for class it.unive.lisa.analysis.nonInterference.NonInterference
-
Builds the abstract value for the given confidentiality and integrity values.
- NonRedundantPowerset<C extends NonRedundantPowerset<C,T,E,I>,T extends it.unive.lisa.analysis.SemanticDomain<T,E,I> & it.unive.lisa.analysis.Lattice<T>,E extends it.unive.lisa.symbolic.SymbolicExpression,I extends it.unive.lisa.symbolic.value.Identifier> - Class in it.unive.lisa.analysis.nonRedundantSet
-
This abstract class generalize the abstract domain lattice whose domain is the set of all the non redundant set in the power set of the domain of another lattice (in this case the other lattice is
<T>
). - NonRedundantPowerset(SortedSet<T>, boolean, T) - Constructor for class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Create an instance of non redundant set of elements of the type of valueDomain with the elements contained in elements.
- NonRedundantPowersetOfBaseNonRelationalValueDomain<C extends NonRedundantPowersetOfBaseNonRelationalValueDomain<C,E>,E extends it.unive.lisa.analysis.nonrelational.value.BaseNonRelationalValueDomain<E>> - Class in it.unive.lisa.analysis.nonRedundantSet
-
This abstract class generalize the concept of an abstract domain whose domain is the finite non redundant subset of the domain of another lattice (in this case the other lattice is of type E).
- NonRedundantPowersetOfBaseNonRelationalValueDomain(SortedSet<E>, E) - Constructor for class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Creates an instance with elementsSet as elements and valueDomain as element.
- NonRedundantPowersetOfInterval - Class in it.unive.lisa.analysis.nonRedundantSet
-
The finite non redundant powerset of
Interval
abstract domain approximating integer values as a non redundant set of interval. - NonRedundantPowersetOfInterval() - Constructor for class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
-
Constructs an empty non redundant set of intervals.
- NonRedundantPowersetOfInterval(SortedSet<Interval>) - Constructor for class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfInterval
-
Constructs a non redundant set of intervals with the given intervals.
- NonRelationalValueCartesianProduct<C extends NonRelationalValueCartesianProduct<C,T1,T2>,T1 extends it.unive.lisa.analysis.nonrelational.value.NonRelationalValueDomain<T1>,T2 extends it.unive.lisa.analysis.nonrelational.value.NonRelationalValueDomain<T2>> - Class in it.unive.lisa.analysis.combination
-
A generic Cartesian product abstract domain between two non-communicating
NonRelationalValueDomain
s (i.e., no exchange of information between the abstract domains), assigning the sameIdentifier
s and handling instances of the sameSymbolicExpression
s. - NonRelationalValueCartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
-
Builds the Cartesian product abstract domain.
- normBricks() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
-
The normalization method of the bricks domain.
- numberOfBranches() - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
-
Yields the number of
Branching
tokens in this trace.
O
- ODD - Static variable in class it.unive.lisa.analysis.numeric.Parity
-
The abstract odd element.
- opposite() - Method in class it.unive.lisa.analysis.numeric.Sign
-
Yields the sign opposite to this one.
P
- padList(Bricks) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
-
Pads the shortest brick list and adds empty brick elements to it, in order to make it the same size of the longer brick list, while maintaining the same position of equals elements between the two lists.
- Parity - Class in it.unive.lisa.analysis.numeric
-
The overflow-insensitive 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.numeric.Parity
-
Builds the parity abstract domain, representing the top of the parity abstract domain.
- Parity(byte) - Constructor for class it.unive.lisa.analysis.numeric.Parity
-
Builds the parity instance for the given parity value.
- Pentagon - Class in it.unive.lisa.analysis.numeric
-
/** The pentagons abstract domain, a weakly relational numeric abstract domain.
- Pentagon() - Constructor for class it.unive.lisa.analysis.numeric.Pentagon
-
Builds the pentagons.
- Pentagon(ValueEnvironment<Interval>, ValueEnvironment<UpperBounds>) - Constructor for class it.unive.lisa.analysis.numeric.Pentagon
-
Builds the pentagons.
- PointBasedHeap - Class in it.unive.lisa.analysis.heap.pointbased
-
A field-insensitive program point-based
AllocationSiteBasedAnalysis
. - PointBasedHeap() - Constructor for class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
-
Builds a new instance of field-insensitive point-based heap.
- PointBasedHeap(HeapEnvironment<AllocationSites>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
-
Builds a new instance of field-insensitive point-based heap from its heap environment.
- PointBasedHeap(HeapEnvironment<AllocationSites>, List<HeapSemanticOperation.HeapReplacement>) - Constructor for class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
-
Builds a new instance of field-insensitive point-based heap from its heap environment.
- policy - Variable in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
The policy to evaluate results of open calls.
- pop() - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
-
Removes the head of this trace.
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.stability.Stability
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- POS - Static variable in class it.unive.lisa.analysis.numeric.Sign
-
The abstract positive element.
- Prefix - Class in it.unive.lisa.analysis.string
-
The prefix string abstract domain.
- Prefix() - Constructor for class it.unive.lisa.analysis.string.Prefix
-
Builds the top prefix abstract element.
- Prefix(String) - Constructor for class it.unive.lisa.analysis.string.Prefix
-
Builds a prefix abstract element.
- prepareEntryStateOfEntryPoint(AnalysisState<A>, CFG) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
Prepare and entry state for the analysis of a method by renaming parameters.
- push(TraceToken) - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
-
Adds the given
TraceToken
at the top of this trace. - push(CFGCall) - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- push(CFGCall) - Method in interface it.unive.lisa.interprocedural.context.ContextSensitivityToken
- push(CFGCall) - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- push(CFGCall) - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- push(CFGCall) - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.Liveness
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.stability.Stability
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
R
- ReachingDefinitions - Class in it.unive.lisa.analysis.dataflow
-
An implementation of the reaching definition dataflow analysis.
- ReachingDefinitions() - Constructor for class it.unive.lisa.analysis.dataflow.ReachingDefinitions
-
Builds an empty reaching definition object.
- ReachingDefinitions(Identifier, ProgramPoint) - Constructor for class it.unive.lisa.analysis.dataflow.ReachingDefinitions
-
Builds a new reaching definition object.
- Recursion<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural.context.recursion
-
A recursion happening in the program.
- Recursion(Call, ContextSensitivityToken, CFGFixpoint.CompoundState<A>, CFG, Collection<CodeMember>) - Constructor for class it.unive.lisa.interprocedural.context.recursion.Recursion
-
Builds the recursion.
- RecursionSolver<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.interprocedural.context.recursion
-
A recursion solver that applies the iterates of the recursion starting from bottom.
- RecursionSolver(ContextBasedAnalysis<A>, Recursion<A>) - Constructor for class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
-
Builds the solver.
- RegexAutomaton - Class in it.unive.lisa.analysis.string.tarsis
-
A class that describes an generic automaton(dfa, nfa, epsilon nfa) using an alphabet of strings, extended with a special symbol for statically unknown ones.
- RegexAutomaton(SortedSet<State>, SortedSet<Transition<RegularExpression>>) - Constructor for class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a new automaton with given
states
andtransitions
. - removeOverlapping() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Yields a new concrete set less or equal to this that has not overlapping elements inside.
- removeOverlappingBetweenElements(E, E) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Yields a new element equivalent to the two overlapping elements e1 and e2.
- removeRedundancy() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Yields a new concrete set of elements equivalent to this but that is not redundant.
- removeRedundancy() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Yields a new concrete set of elements equivalent to this but that is not redundant.
- repeat(long) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields an automaton that corresponds to the
n
-time concatenation ofthis
. - repeat(Interval) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields a new FSA instance recognizing each string of
this
automaton repeated k-times, with k belonging tointv
. - repeat(Interval) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Yields a new automaton instance recognizing each string of
this
automaton repeated k-times, with k belonging tointv
. - repeat(Interval) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields a new Tarsis's instance recognizing each string of
this
automaton repeated k-times, with k belonging tointv
. - replace(FSA, FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the replacement of occurrences of
search
insidethis
withrepl
. - replace(SimpleAutomaton, SimpleAutomaton) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Yields a new automaton where all occurrences of strings recognized by
toReplace
are replaced with the automatonstr
, assuming thattoReplace
is finite (i.e., no loops nor top-transitions). - replace(RegexAutomaton, RegexAutomaton) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton where all occurrences of strings recognized by
toReplace
are replaced with the automatonstr
, assuming thattoReplace
is finite (i.e., no loops nor top-transitions). - replace(Tarsis, Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the replacement of occurrences of
search
insidethis
withrepl
. - replace(String, RegexAutomaton, boolean) - Method in class it.unive.lisa.analysis.string.tarsis.StringReplacer
-
Yields a new automaton where every occurrence of
toReplace
have been replaced withstr
. - replacements - Variable in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
The replacements to be applied after the generation of this domain instance.
- representation() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- representation() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- representation() - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- representation() - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- representation() - Method in class it.unive.lisa.analysis.dataflow.Liveness
- representation() - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- representation() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- representation() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- representation() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- representation() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- representation() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- representation() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- representation() - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- representation() - Method in class it.unive.lisa.analysis.numeric.Interval
- representation() - Method in class it.unive.lisa.analysis.numeric.Parity
- representation() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- representation() - Method in class it.unive.lisa.analysis.numeric.Sign
- representation() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- representation() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- representation() - Method in class it.unive.lisa.analysis.stability.Stability
- representation() - Method in class it.unive.lisa.analysis.stability.Trend
- representation() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- representation() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- representation() - Method in class it.unive.lisa.analysis.string.CharInclusion
- representation() - Method in class it.unive.lisa.analysis.string.fsa.FSA
- representation() - Method in class it.unive.lisa.analysis.string.Prefix
- representation() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- representation() - Method in class it.unive.lisa.analysis.string.Suffix
- representation() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- representation() - Method in class it.unive.lisa.analysis.taint.Taint
- representation() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- representation() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- representation() - Method in class it.unive.lisa.analysis.types.InferredTypes
- representation() - Method in class it.unive.lisa.analysis.types.StaticTypes
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.BackwardModularWorstCaseAnalysis
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- resolve(UnresolvedCall, Set<Type>[], SymbolAliasing) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- results - Variable in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
The results computed by this analysis.
- reverse() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- rewrite(ExpressionSet, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- rewrite(ExpressionSet, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- rewrite(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- rewrite(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- Rewriter() - Constructor for class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
- Rewriter() - Constructor for class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- Rewriter() - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap.Rewriter
- Rewriter() - Constructor for class it.unive.lisa.analysis.heap.TypeBasedHeap.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.combination.NonRelationalValueCartesianProduct
-
The right-hand side abstract domain.
- RTACallGraph - Class in it.unive.lisa.interprocedural.callgraph
-
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.RTACallGraph
S
- satisfies(E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- satisfies(E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- satisfies(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- satisfies(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- satisfies(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- satisfies(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- satisfies(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- satisfies(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- satisfies(ValueExpression, ValueEnvironment<C>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- satisfies(ValueExpression, ValueEnvironment<T>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.taint.BaseTaint
- satisfies(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- satisfies(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.stability.Stability
- satisfies(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- satisfiesBinaryExpression(BinaryOperator, C, C, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- satisfiesBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- satisfiesBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Interval
- satisfiesBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- satisfiesBinaryExpression(BinaryOperator, Bricks, Bricks, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- satisfiesBinaryExpression(BinaryOperator, CharInclusion, CharInclusion, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.CharInclusion
- satisfiesBinaryExpression(BinaryOperator, FSA, FSA, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- satisfiesBinaryExpression(BinaryOperator, StringConstantPropagation, StringConstantPropagation, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- satisfiesBinaryExpression(BinaryOperator, Tarsis, Tarsis, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- satisfiesBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.InferredTypes
- satisfiesBinaryExpression(BinaryOperator, StaticTypes, StaticTypes, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.types.StaticTypes
- satisfiesTernaryExpression(TernaryOperator, Sign, Sign, Sign, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Sign
- searchInAllPaths(String) - Method in class it.unive.lisa.analysis.string.tarsis.StringSearcher
-
Yields a set containing all the sequences of transitions that recognize the given string.
- semanticsOf(HeapExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- semanticsOf(HeapExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
- semanticsOf(HeapExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- shallowCopy(Identifier, StackAllocationSite, List<HeapSemanticOperation.HeapReplacement>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis
-
Performs the assignment of
site
to the identifierid
whensite
is a static allocation site, thus performing a shallow copy instead of aliasing handling the heap replacements. - shallowCopy(Identifier, StackAllocationSite, List<HeapSemanticOperation.HeapReplacement>, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- shouldCheckForRecursions() - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Whether or not this analysis should look for recursions when evaluating calls, immediately returning bottom when one is found.
- shouldCheckForRecursions() - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- shouldCheckForRecursions() - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
- shouldStoreFixpointResults() - Method in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
Whether or not this analysis should store the results of fixpoint executions for them to be returned as part of
ContextBasedAnalysis.getFixpointResults()
. - shouldStoreFixpointResults() - Method in class it.unive.lisa.interprocedural.context.recursion.BaseCasesFinder
- Sign - Class in it.unive.lisa.analysis.numeric
-
The basic overflow-insensitive 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.numeric.Sign
-
Builds the sign abstract domain, representing the top of the sign abstract domain.
- Sign(byte) - Constructor for class it.unive.lisa.analysis.numeric.Sign
-
Builds the sign instance for the given sign value.
- SimpleAbstractState<H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.type.TypeDomain<T>> - Class in it.unive.lisa.analysis
-
An abstract state of the analysis, composed by a heap state modeling the memory layout, a value state modeling values of program variables and memory locations, and a type state that can give types to expressions knowing the ones of variables.
The interaction between heap and value/type domains follows the one defined in this paper. - SimpleAbstractState(H, V, T) - Constructor for class it.unive.lisa.analysis.SimpleAbstractState
-
Builds a new abstract state.
- SimpleAutomaton - Class in it.unive.lisa.analysis.string.fsa
-
A class that describes an generic automaton(dfa, nfa, epsilon nfa) using a standard alphabet of single characters.
- SimpleAutomaton(String) - Constructor for class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Builds a new automaton that accepts a given string.
- SimpleAutomaton(SortedSet<State>, SortedSet<Transition<StringSymbol>>) - Constructor for class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Builds a new automaton with given
states
andtransitions
. - simpleState(H, V, T) - Static method in class it.unive.lisa.DefaultConfiguration
-
Yields an instance of
SimpleAbstractState
uilt using the given sub-domains. - singleString(String) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- singleString(String) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- SINGLETON - Static variable in class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
-
The singleton instance of this rewriter.
- SINGLETON - Static variable in class it.unive.lisa.analysis.heap.TypeBasedHeap.Rewriter
-
The singleton instance of this rewriter.
- size() - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the size of this string, that is, the number of states of the underlying automaton.
- size() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the size of this string, that is, the number of states of the underlying automaton.
- smallStepSemantics(E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- smallStepSemantics(E, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- smallStepSemantics(SymbolicExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- smallStepSemantics(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- smallStepSemantics(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.stability.Stability
- smallStepSemantics(ValueExpression, ProgramPoint, SemanticOracle) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- solve() - Method in class it.unive.lisa.interprocedural.context.recursion.RecursionSolver
-
Solves the recursion by applying its iterates starting from bottom.
- Stability<V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.analysis.stability
-
Implementation of the stability abstract domain (yet to appear publicly).
- Stability(V) - Constructor for class it.unive.lisa.analysis.stability.Stability
-
Builds the top stability domain, using
aux
as auxiliary domain. - Stability(V, ValueEnvironment<Trend>) - Constructor for class it.unive.lisa.analysis.stability.Stability
-
Builds a stability domain instance, using
aux
as auxiliary domain. - STABLE - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract stable element.
- StackAllocationSite - Class in it.unive.lisa.analysis.heap.pointbased
-
A stack allocation site, that is an allocation site pointing to something that has been allocated in the stack.
- StackAllocationSite(Type, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
-
Builds a stack allocation site.
- StackAllocationSite(Type, String, SymbolicExpression, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
-
Builds a stack allocation site.
- StackAllocationSite(Type, String, String, boolean, CodeLocation) - Constructor for class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
-
Builds a stack allocation site.
- startingId() - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- startingId() - Method in interface it.unive.lisa.interprocedural.context.ContextSensitivityToken
- startingId() - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- startingId() - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- startingId() - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- stateOfUnknown(ExecutionTrace) - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- stateOfUnknown(Identifier) - Method in class it.unive.lisa.analysis.string.SubstringDomain
- StaticTypes - Class in it.unive.lisa.analysis.types
-
An
InferredValue
holding a set ofType
s, representing the inferred runtime types of anExpression
. - StaticTypes() - Constructor for class it.unive.lisa.analysis.types.StaticTypes
-
Builds the inferred types.
- string(SymbolicString) - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the given string. - string(String) - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the given string. - StringConstantPropagation - Class in it.unive.lisa.analysis.string
-
The string constant propagation abstract domain, tracking if a certain string value has constant value or not.
- StringConstantPropagation() - Constructor for class it.unive.lisa.analysis.string.StringConstantPropagation
-
Builds the top abstract value.
- StringConstantPropagation(String) - Constructor for class it.unive.lisa.analysis.string.StringConstantPropagation
-
Builds the abstract value for the given constant.
- StringReplacer - Class in it.unive.lisa.analysis.string.tarsis
-
An algorithm that replaces strings across all paths of an automaton.
- StringReplacer(RegexAutomaton) - Constructor for class it.unive.lisa.analysis.string.tarsis.StringReplacer
-
Builds the replacer.
- strings(String...) - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the given strings. - StringSearcher - Class in it.unive.lisa.analysis.string.tarsis
-
An algorithm that searches strings across all paths of an automaton.
- StringSearcher(RegexAutomaton) - Constructor for class it.unive.lisa.analysis.string.tarsis.StringSearcher
-
Builds the searcher.
- StringSymbol - Class in it.unive.lisa.analysis.string.fsa
-
A
TransitionSymbol
for single characters, represented as strings for simple modeling of epsilon. - StringSymbol(char) - Constructor for class it.unive.lisa.analysis.string.fsa.StringSymbol
-
Builds the symbol for the given character.
- StringSymbol(String) - Constructor for class it.unive.lisa.analysis.string.fsa.StringSymbol
-
Builds the symbol for the given string.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
-
The substring method of the bricks domain.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.CharInclusion
-
Yields the char inclusion abstract value corresponding to the substring of this char inclusion abstract value between two indexes.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields the FSA automaton corresponding to the substring of this FSA automaton abstract value between two indexes.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.Prefix
-
Yields the prefix corresponding to the substring of this prefix between two indexes.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.Suffix
-
Yields the suffix corresponding to the substring of this suffix between two indexes.
- substring(long, long) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields the Tarsis automaton corresponding to the substring of this Tarsis automaton abstract value between two indexes.
- SubstringDomain - Class in it.unive.lisa.analysis.string
-
The substring relational abstract domain, tracking relation between string expressions.
- SubstringDomain() - Constructor for class it.unive.lisa.analysis.string.SubstringDomain
-
Builds the top abstract value.
- SubstringDomain(ExpressionInverseSet, Map<Identifier, ExpressionInverseSet>) - Constructor for class it.unive.lisa.analysis.string.SubstringDomain
-
Builds the abstract value by cloning the given function.
- SubstringDomainWithConstants - Class in it.unive.lisa.analysis.string
-
The substring relational abstract domain (see
SubstringDomain
) enriched with string constant propagation. - SubstringDomainWithConstants() - Constructor for class it.unive.lisa.analysis.string.SubstringDomainWithConstants
-
Builds the top abstract value.
- SubstringDomainWithConstants(ValueEnvironment<StringConstantPropagation>, SubstringDomain) - Constructor for class it.unive.lisa.analysis.string.SubstringDomainWithConstants
-
Builds the abstract value starting from components.
- Suffix - Class in it.unive.lisa.analysis.string
-
The suffix string abstract domain.
- Suffix() - Constructor for class it.unive.lisa.analysis.string.Suffix
-
Builds the top suffix abstract element.
- Suffix(String) - Constructor for class it.unive.lisa.analysis.string.Suffix
-
Builds a suffix abstract element.
- symbolToRegex(StringSymbol) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- symbolToRegex(RegularExpression) - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
T
- Taint - Class in it.unive.lisa.analysis.taint
-
A
BaseTaint
implementation with only two level of taintedness: clean and tainted. - Taint() - Constructor for class it.unive.lisa.analysis.taint.Taint
-
Builds a new instance of taint.
- tainted() - Method in class it.unive.lisa.analysis.taint.BaseTaint
-
Yields the domain element that represents tainted values.
- tainted() - Method in class it.unive.lisa.analysis.taint.Taint
- tainted() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- TAINTED_ANNOTATION - Static variable in class it.unive.lisa.analysis.taint.BaseTaint
-
The annotation used to mark tainted variables, that is, sources of tainted information.
- TAINTED_MATCHER - Static variable in class it.unive.lisa.analysis.taint.BaseTaint
-
An
AnnotationMatcher
forBaseTaint.TAINTED_ANNOTATION
. - Tarsis - Class in it.unive.lisa.analysis.string.tarsis
-
A class that represent the Tarsis domain for strings, exploiting a
RegexAutomaton
. - Tarsis() - Constructor for class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Creates a new Tarsis object representing the TOP element.
- Tarsis(RegexAutomaton) - Constructor for class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Creates a new FSA object using a
SimpleAutomaton
. - ThreeLevelsTaint - Class in it.unive.lisa.analysis.taint
-
A
BaseTaint
implementation with three level of taintedness: clean, tainted and top. - ThreeLevelsTaint() - Constructor for class it.unive.lisa.analysis.taint.ThreeLevelsTaint
-
Builds a new instance of taint.
- toFSA() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Converts this domain instance to one of
FSA
, that uses single characters as transition symbols. - token - Variable in class it.unive.lisa.interprocedural.context.ContextBasedAnalysis
-
The current sensitivity token.
- top() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- top() - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- top() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- top() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- top() - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- top() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- top() - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- top() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- top() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
- top() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- top() - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- top() - Method in class it.unive.lisa.analysis.numeric.Interval
- top() - Method in class it.unive.lisa.analysis.numeric.Parity
- top() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- top() - Method in class it.unive.lisa.analysis.numeric.Sign
- top() - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- top() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- top() - Method in class it.unive.lisa.analysis.stability.Stability
- top() - Method in class it.unive.lisa.analysis.stability.Trend
- top() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- top() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- top() - Method in class it.unive.lisa.analysis.string.CharInclusion
- top() - Method in class it.unive.lisa.analysis.string.fsa.FSA
- top() - Method in class it.unive.lisa.analysis.string.Prefix
- top() - Method in class it.unive.lisa.analysis.string.StringConstantPropagation
- top() - Method in class it.unive.lisa.analysis.string.SubstringDomain
- top() - Method in class it.unive.lisa.analysis.string.Suffix
- top() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- top() - Method in class it.unive.lisa.analysis.taint.Taint
- top() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- top() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- top() - Method in class it.unive.lisa.analysis.types.InferredTypes
- top() - Method in class it.unive.lisa.analysis.types.StaticTypes
- TOP - Static variable in class it.unive.lisa.analysis.numeric.Interval
-
The abstract top (
[-Inf, +Inf]
) element. - TOP - Static variable in class it.unive.lisa.analysis.numeric.Parity
-
The abstract top element.
- TOP - Static variable in class it.unive.lisa.analysis.numeric.Sign
-
The abstract top element.
- TOP - Static variable in class it.unive.lisa.analysis.stability.Trend
-
The abstract top element.
- topString() - Static method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Builds a
RegexAutomaton
recognizing the top string, that is, with a single transition recognizingTopAtom
. - toString() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- toString() - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- toString() - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- toString() - Method in class it.unive.lisa.analysis.dataflow.Liveness
- toString() - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- toString() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- toString() - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
- toString() - Method in class it.unive.lisa.analysis.numeric.Interval
- toString() - Method in class it.unive.lisa.analysis.numeric.Pentagon
- toString() - Method in class it.unive.lisa.analysis.numeric.Sign
- toString() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- toString() - Method in class it.unive.lisa.analysis.stability.Stability
- toString() - Method in class it.unive.lisa.analysis.stability.Trend
- toString() - Method in class it.unive.lisa.analysis.string.bricks.Brick
- toString() - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- toString() - Method in class it.unive.lisa.analysis.string.fsa.StringSymbol
- toString() - Method in class it.unive.lisa.analysis.taint.Taint
- toString() - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- toString() - Method in class it.unive.lisa.analysis.traces.Branching
- toString() - Method in class it.unive.lisa.analysis.traces.ExecutionTrace
- toString() - Method in class it.unive.lisa.analysis.traces.LoopIteration
- toString() - Method in class it.unive.lisa.analysis.traces.LoopSummary
- toString() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- toString() - Method in class it.unive.lisa.analysis.traces.TraceToken
- toString() - Method in class it.unive.lisa.analysis.types.InferredTypes
- toString() - Method in class it.unive.lisa.interprocedural.context.ContextInsensitiveToken
- toString() - Method in class it.unive.lisa.interprocedural.context.FullStackToken
- toString() - Method in class it.unive.lisa.interprocedural.context.KDepthToken
- toString() - Method in class it.unive.lisa.interprocedural.context.LastCallToken
- toString() - Method in class it.unive.lisa.interprocedural.context.recursion.Recursion
- toString() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- toWeak() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields a weak copy of this allocation site, that is, a copy where
Identifier.isWeak()
returnstrue
. - toWeak() - Method in class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
- toWeak() - Method in class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
- TracePartitioning<A extends it.unive.lisa.analysis.AbstractState<A>> - Class in it.unive.lisa.analysis.traces
-
The trace partitioning abstract domain that splits execution traces to increase precision of the analysis.
- TracePartitioning(A) - Constructor for class it.unive.lisa.analysis.traces.TracePartitioning
-
Builds a new instance of this domain.
- TraceToken - Class in it.unive.lisa.analysis.traces
-
A token of an
ExecutionTrace
, tracking the traversal of a condition represented by aProgramPoint
. - TraceToken(ProgramPoint) - Constructor for class it.unive.lisa.analysis.traces.TraceToken
-
Builds a token associated with the given program point.
- Trend - Class in it.unive.lisa.analysis.stability
-
A single-variable numerical trend.
- Trend() - Constructor for class it.unive.lisa.analysis.stability.Trend
-
Builds the top trend.
- trim() - Method in class it.unive.lisa.analysis.string.fsa.FSA
-
Yields a new FSA where trailing and leading whitespaces have been removed from
this
. - trim() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Yields a new automaton where leading and trailing whitespaces have been removed from
this
. - trim() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton where trailing and leading whitespaces have been removed from
this
. - trim() - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Yields a new Tarsis's instance where trailing and leading whitespaces have been removed from
this
. - trimLeft() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Yields a new automaton where leading whitespaces have been removed from
this
. - trimLeft() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton where leading whitespaces have been removed from
this
. - trimRight() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Yields a new automaton where trailing whitespaces have been removed from
this
. - trimRight() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
-
Yields a new automaton where trailing whitespaces have been removed from
this
. - TYPE_REPRESENTATION_KEY - Static variable in class it.unive.lisa.analysis.SimpleAbstractState
-
The key that should be used to store the instance of
TypeDomain
inside theStructuredRepresentation
returned bySimpleAbstractState.representation()
. - TypeBasedHeap - Class in it.unive.lisa.analysis.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.heap.TypeBasedHeap
-
Builds a new empty instance of
TypeBasedHeap
. - TypeBasedHeap(Set<String>) - Constructor for class it.unive.lisa.analysis.heap.TypeBasedHeap
-
Builds a new instance of
TypeBasedHeap
knowing the given types. - TypeBasedHeap.Rewriter - Class in it.unive.lisa.analysis.heap
-
A
BaseHeapDomain.Rewriter
for theTypeBasedHeap
domain.
U
- unknownString() - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
- unknownString() - Method in class it.unive.lisa.analysis.string.tarsis.RegexAutomaton
- unknownVariable(Identifier) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- UpperBounds - Class in it.unive.lisa.analysis.numeric
-
The upper bounds abstract domain.
- UpperBounds() - Constructor for class it.unive.lisa.analysis.numeric.UpperBounds
-
Builds the upper bounds.
- UpperBounds(boolean) - Constructor for class it.unive.lisa.analysis.numeric.UpperBounds
-
Builds the upper bounds.
- UpperBounds(Set<Identifier>) - Constructor for class it.unive.lisa.analysis.numeric.UpperBounds
-
Builds the upper bounds.
V
- validateString(String) - Method in class it.unive.lisa.analysis.string.fsa.SimpleAutomaton
-
Computes all the automaton transitions to validate a given string
str
. - VALUE_REPRESENTATION_KEY - Static variable in class it.unive.lisa.analysis.SimpleAbstractState
-
The key that should be used to store the instance of
ValueDomain
inside theStructuredRepresentation
returned bySimpleAbstractState.representation()
. - ValueCartesianProduct<T1 extends it.unive.lisa.analysis.value.ValueDomain<T1>,T2 extends it.unive.lisa.analysis.value.ValueDomain<T2>> - Class in it.unive.lisa.analysis.combination
-
A Cartesian product between two non-communicating
ValueDomain
s (i.e., no exchange of information between the abstract domains) assigningIdentifier
s and handlingValueExpression
s. - ValueCartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.ValueCartesianProduct
-
Builds the value Cartesian product.
- valueDomain - Variable in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
An instance of the underlying lattice from which top and bottom can be retrieved.
- valueDomain - Variable in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
The underlying
BaseNonRelationalValueDomain
by which it can be possible to retrieve top and bottom elements. - ValueNonRedundantSet<T extends it.unive.lisa.analysis.value.ValueDomain<T>> - Class in it.unive.lisa.analysis.nonRedundantSet
-
This class expands the
NonRedundantPowerset
class fixing the type of elements in the set to beValueDomain
, theSymbolicExpression
processable to beValueExpression
and the manageableIdentifier
to be all theIdentifier
. - ValueNonRedundantSet(SortedSet<T>, boolean, T) - Constructor for class it.unive.lisa.analysis.nonRedundantSet.ValueNonRedundantSet
-
Builds the value non redundant set.
- visit(AccessChild, ExpressionSet, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
- visit(AccessChild, ExpressionSet, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- visit(AccessChild, ExpressionSet, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap.Rewriter
- visit(AccessChild, ExpressionSet, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap.Rewriter
- visit(HeapDereference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
- visit(HeapDereference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- visit(HeapDereference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap.Rewriter
- visit(HeapReference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
- visit(HeapReference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- visit(HeapReference, ExpressionSet, Object...) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap.Rewriter
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap.Rewriter
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap.Rewriter
- visit(MemoryAllocation, Object...) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap.Rewriter
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
- visit(PushAny, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSiteBasedAnalysis.Rewriter
W
- widening(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- WIDENING_CAP - Static variable in class it.unive.lisa.analysis.string.tarsis.Tarsis
-
Maximum widening threshold, or default threshold if there is no difference in the size of the two automata.
- WIDENING_TH - Static variable in class it.unive.lisa.analysis.string.fsa.FSA
-
The parameter used for the widening operator.
- wideningAux(C) - Method in class it.unive.lisa.analysis.combination.NonRelationalValueCartesianProduct
- wideningAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowerset
-
Perform the wideninig operation between two finite non redundant subsets of the domain of a lattice following the Egli-Milner widening implementation shown in this paper.
- wideningAux(C) - Method in class it.unive.lisa.analysis.nonRedundantSet.NonRedundantPowersetOfBaseNonRelationalValueDomain
-
Perform the wideninig operation between two finite non redundant subsets of the domain of a lattice following the Egli-Milner widening implementation shown in this paper.
- wideningAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- wideningAux(Pentagon) - Method in class it.unive.lisa.analysis.numeric.Pentagon
- wideningAux(UpperBounds) - Method in class it.unive.lisa.analysis.numeric.UpperBounds
- wideningAux(SimpleAbstractState<H, V, T>) - Method in class it.unive.lisa.analysis.SimpleAbstractState
- wideningAux(Stability<V>) - Method in class it.unive.lisa.analysis.stability.Stability
- wideningAux(Brick) - Method in class it.unive.lisa.analysis.string.bricks.Brick
- wideningAux(Bricks) - Method in class it.unive.lisa.analysis.string.bricks.Bricks
- wideningAux(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
- wideningAux(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
- wideningAux(Taint) - Method in class it.unive.lisa.analysis.taint.Taint
- wideningAux(ThreeLevelsTaint) - Method in class it.unive.lisa.analysis.taint.ThreeLevelsTaint
- withField(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields a modified version of this allocation site by accessing the given field.
- withField(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
- withField(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
- withTopMemory() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- withTopMemory() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- withTopTypes() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- withTopTypes() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- withTopValues() - Method in class it.unive.lisa.analysis.SimpleAbstractState
- withTopValues() - Method in class it.unive.lisa.analysis.traces.TracePartitioning
- withType(Type) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields a modified version of this allocation site with the given type.
- withType(Type) - Method in class it.unive.lisa.analysis.heap.pointbased.HeapAllocationSite
- withType(Type) - Method in class it.unive.lisa.analysis.heap.pointbased.StackAllocationSite
Z
- ZERO - Static variable in class it.unive.lisa.analysis.numeric.Interval
-
The abstract zero (
[0, 0]
) element. - ZERO - Static variable in class it.unive.lisa.analysis.numeric.Sign
-
The abstract zero element.
All Classes All Packages