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

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) for id 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) for id 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 the AllocationSiteBasedAnalysis 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 SemanticDomains (i.e., no exchange of information between the abstract domains), assigning the same Identifiers and handling instances of the same SymbolicExpressions.
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 for BaseTaint.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.ConfigurableComponents 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 between this and other.
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 LastCallTokens.
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 Identifiers.
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 a CallGraph and InterproceduralAnalysis set.
DefaultConfiguration() - Constructor for class it.unive.lisa.DefaultConfiguration
Builds a default configuration, having DefaultConfiguration.defaultCallGraph() as CallGraph and DefaultConfiguration.defaultInterproceduralAnalysis() as InterproceduralAnalysis.
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 TraceTokens 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 the FieldSensitivePointBasedHeap 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 in automaton.
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 Trends to the Identifiers 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 when Recursion.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 CodeMembers 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 the StructuredRepresentation returned by SimpleAbstractState.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

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 of s in this.
indexOf(CharInclusion) - Method in class it.unive.lisa.analysis.string.CharInclusion
Yields the IntInterval containing the minimum and maximum index of s in this.
indexOf(FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
Yields the IntInterval containing the minimum and maximum index of s in this.
indexOf(Prefix) - Method in class it.unive.lisa.analysis.string.Prefix
Yields the IntInterval containing the minimum and maximum index of s in this.
indexOf(Suffix) - Method in class it.unive.lisa.analysis.string.Suffix
Yields the IntInterval containing the minimum and maximum index of s in this.
indexOf(Tarsis) - Method in class it.unive.lisa.analysis.string.tarsis.Tarsis
Yields the IntInterval containing the minimum and maximum index of s in this.
InferredTypes - Class in it.unive.lisa.analysis.types
An InferredValue holding a set of Types, representing the inferred runtime types of an Expression.
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 Types.
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 Types.
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 a high 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 a high 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 a low 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 a low 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 or LoopIteration) 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 S1S 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 S1S 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
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 single LoopSummary 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 the MonolithicHeap 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 NonRelationalValueDomains (i.e., no exchange of information between the abstract domains), assigning the same Identifiers and handling instances of the same SymbolicExpressions.
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 and transitions.
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 of this.
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 to intv.
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 to intv.
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 to intv.
replace(FSA, FSA) - Method in class it.unive.lisa.analysis.string.fsa.FSA
Yields the replacement of occurrences of search inside this with repl.
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 automaton str, assuming that toReplace 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 automaton str, assuming that toReplace 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 inside this with repl.
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 with str.
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 identifier id when site 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 and transitions.
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 of Types, representing the inferred runtime types of an Expression.
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 for BaseTaint.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 recognizing TopAtom.
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() returns true.
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 a ProgramPoint.
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 the StructuredRepresentation returned by SimpleAbstractState.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 the TypeBasedHeap 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 the StructuredRepresentation returned by SimpleAbstractState.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 ValueDomains (i.e., no exchange of information between the abstract domains) assigning Identifiers and handling ValueExpressions.
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 be ValueDomain, the SymbolicExpression processable to be ValueExpression and the manageable Identifier to be all the Identifier.
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.
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