A B C D E F G H I K L M N P R S T V W
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- addSemanticCheck(SemanticCheck<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given semantic check to the ones that will be executed.
- addSemanticChecks(Collection<SemanticCheck<?, ?, ?>>) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given semantic checks to the ones that will be executed.
- addSyntacticCheck(SyntacticCheck) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given syntactic check to the ones that will be executed.
- addSyntacticChecks(Collection<SyntacticCheck>) - Method in class it.unive.lisa.LiSAConfiguration
-
Adds the given syntactic checks to the ones that will be executed.
- 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(ExternalSet<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(ExternalSet<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(ExternalSet<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(ExternalSet<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.
- 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.
- assign(I, E, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- assign(Identifier, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- assume(E, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- assume(HeapEnvironment<AllocationSites>, SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- assume(InferenceSystem<NonInterference>, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- assume(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- assumeBinaryExpression(ValueEnvironment<IntegerConstantPropagation>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- assumeBinaryExpression(ValueEnvironment<Interval>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Interval
- assumeBinaryExpression(ValueEnvironment<Parity>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Parity
- assumeBinaryExpression(ValueEnvironment<Sign>, BinaryOperator, ValueExpression, ValueExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- 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.
B
- bottom() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.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.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.Sign
- bottom() - Method in class it.unive.lisa.analysis.types.InferredTypes
- bottom() - Method in class it.unive.lisa.interprocedural.CFGResults
- bottom() - Method in class it.unive.lisa.interprocedural.FixpointResults
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,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.interprocedural
-
An interprocedural analysis based on a call graph.
- CallGraphBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- canProcess(SymbolicExpression) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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 sameIdentifiers and handling instances of the sameSymbolicExpressions. - CartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.CartesianProduct
-
Builds the Cartesian product abstract domain.
- CFGResults<A extends it.unive.lisa.analysis.AbstractState<A,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.interprocedural
- CFGResults(CFGWithAnalysisResults<A, H, V>) - Constructor for class it.unive.lisa.interprocedural.CFGResults
-
Builds a new result.
- 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
- configurableComponents() - Static method in class it.unive.lisa.LiSAFactory
-
Yields the collection of
LiSAFactory.ConfigurableComponents that can be used to customize the analysis. - 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.
- contains(ContextSensitivityToken) - Method in class it.unive.lisa.interprocedural.CFGResults
-
Yields
trueif a result exists for the giventoken. - contains(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Yields
trueif a result exists for the givencfg. - ContextBasedAnalysis<A extends it.unive.lisa.analysis.AbstractState<A,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.interprocedural
-
A context sensitive interprocedural analysis.
- ContextBasedAnalysis() - Constructor for class it.unive.lisa.interprocedural.ContextBasedAnalysis
-
Builds the analysis, using
SingleScopeTokens. - ContextBasedAnalysis(ContextSensitivityToken) - Constructor for class it.unive.lisa.interprocedural.ContextBasedAnalysis
-
Builds the analysis.
- ContextInsensitiveToken - Class in it.unive.lisa.interprocedural
-
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
-
A token for interprocedural analysis that tunes the level of context sensitivity.
D
- DEFAULT_WIDENING_THRESHOLD - Static variable in class it.unive.lisa.LiSAConfiguration
-
The default number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice).
E
- empty() - Method in class it.unive.lisa.interprocedural.ContextInsensitiveToken
- empty() - Method in interface it.unive.lisa.interprocedural.ContextSensitivityToken
-
A token without any context sensitivity.
- empty() - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- empty() - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- equals(Object) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.ReachingDefinitions
- equals(Object) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- equals(Object) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- equals(Object) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- 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.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.Sign
- equals(Object) - Method in class it.unive.lisa.analysis.types.InferredTypes
- equals(Object) - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- equals(Object) - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- equals(Object) - Method in class it.unive.lisa.LiSAConfiguration
- equals(Object) - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- eval(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- evalBinaryExpression(BinaryOperator, NonInterference, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalBinaryExpression(BinaryOperator, Parity, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalIdentifier(Identifier, InferenceSystem<NonInterference>, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalIdentifier(Identifier, InferenceSystem<InferredTypes>, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNonNullConstant(Constant, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalNonNullConstant(Constant, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalNonNullConstant(Constant, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalNullConstant(NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalNullConstant(InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalNullConstant(ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalPushAny(PushAny, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTernaryExpression(TernaryOperator, NonInterference, NonInterference, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalTernaryExpression(TernaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalTernaryExpression(TernaryOperator, InferredTypes, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTypeCast(BinaryExpression, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalTypeConv(BinaryExpression, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- evalUnaryExpression(UnaryOperator, NonInterference, NonInterference, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- evalUnaryExpression(UnaryOperator, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- evalUnaryExpression(UnaryOperator, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Interval
- evalUnaryExpression(UnaryOperator, Parity, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Parity
- evalUnaryExpression(UnaryOperator, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- evalUnaryExpression(UnaryOperator, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
F
- FieldSensitivePointBasedHeap - Class in it.unive.lisa.analysis.heap.pointbased
-
A field-sensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
- FieldSensitivePointBasedHeap() - Constructor for class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
-
Builds a new instance of field-sensitive point-based heap.
- fixpoint(AnalysisState<A, H, V>, Class<? extends WorkingSet<Statement>>, int) - Method in class it.unive.lisa.interprocedural.ContextBasedAnalysis
- fixpoint(AnalysisState<A, H, V>, Class<? extends WorkingSet<Statement>>, int) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- FixpointResults<A extends it.unive.lisa.analysis.AbstractState<A,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.interprocedural
- FixpointResults(CFGResults<A, H, V>) - Constructor for class it.unive.lisa.interprocedural.FixpointResults
-
Builds a new result.
- forget(CFG) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Forgets all results about the given
CFG. - 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.PointBasedHeap
- forgetIdentifier(Identifier) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- from(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- from(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
-
Builds a point-based heap from a reference one.
G
- gen(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- gen(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- gen(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- gen(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- gen(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- gen(ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- getAbstractResultOf(CFGCall, AnalysisState<A, H, V>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.ContextBasedAnalysis
- getAbstractResultOf(CFGCall, AnalysisState<A, H, V>, ExpressionSet<SymbolicExpression>[]) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getAbstractState() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
AbstractStatefor the analysis. - getAll() - Method in class it.unive.lisa.interprocedural.CFGResults
-
Yields all the results stored in this object, for any possible
ContextSensitivityTokenused. - 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.ContextBasedAnalysis
- getAnalysisResultsOf(CFG) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- getCallGraph() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
CallGraphfor the analysis. - getComponent() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the component represented by this
LiSAFactory.ConfigurableComponent. - getDefaultFor(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
-
Builds the default instance of the specified analysis component.
- getDefaultInstance() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the default implementation for this component, that is, the concrete class that implements it and that will be used if the component is requested but the user did not specify which implementation to use (among the ones offered by
LiSAFactory.ConfigurableComponent.getAlternatives(). - getDefaultParameters() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
-
Yields the classes of the parameters passed by-default to the constructor of the default implementation for this component.
- getFixpointWorkingSet() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the concrete class of
WorkingSetto be used in fixpoints. - getInstance(Class<T>, Object...) - Static method in class it.unive.lisa.LiSAFactory
-
Creates an instance of the given
component. - getInterproceduralAnalysis() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
InterproceduralAnalysisfor the analysis. - 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.ReachingDefinitions
- getLocationName() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSite
-
Yields the code location string representation where this allocation site has been allocated.
- getPossibleTypesOfReceiver(Expression) - Method in class it.unive.lisa.interprocedural.callgraph.CHACallGraph
- getPossibleTypesOfReceiver(Expression) - Method in class it.unive.lisa.interprocedural.callgraph.RTACallGraph
- getRuntimeTypes() - Method in class it.unive.lisa.analysis.types.InferredTypes
-
Yields the
ExternalSetcontaining the types held by this instance. - getSemanticChecks() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the collection of
SemanticChecks that are to be executed during the analysis. - getSingleton() - Static method in class it.unive.lisa.interprocedural.ContextInsensitiveToken
-
Return an instance of the class.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.RecursionFreeToken
-
Return an empty token.
- getSingleton() - Static method in class it.unive.lisa.interprocedural.SingleScopeToken
-
Return an empty token.
- getSubstitution() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- 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
- getSyntacticChecks() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the collection of
SyntacticChecks that are to be executed during the analysis. - getTypeExtractor() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the function that, given a state computed during type inference, yield the set of types computed for the processed
SymbolicExpression. - getTypeInferenceState() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the
AbstractStatefor the type inference. - getWarnings() - Method in class it.unive.lisa.LiSA
-
Yields an unmodifiable view of the warnings that have been generated during the analysis.
- getWideningThreshold() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice). - getWorkdir() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields the working directory where LiSA will dump all of its outputs.
- glbAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
H
- hashCode() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.ReachingDefinitions
- hashCode() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- hashCode() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- hashCode() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- 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.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.Sign
- hashCode() - Method in class it.unive.lisa.analysis.types.InferredTypes
- hashCode() - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- hashCode() - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- hashCode() - Method in class it.unive.lisa.LiSAConfiguration
- hashCode() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- heapEnv - Variable in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
-
An heap environment tracking which allocation sites are associated to each identifier.
I
- InferredTypes - Class in it.unive.lisa.analysis.types
-
An
InferredValueholding a set ofTypes, representing the inferred runtime types of anExpression. - InferredTypes() - Constructor for class it.unive.lisa.analysis.types.InferredTypes
-
Builds the inferred types.
- init(Program, CallGraph) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- init(Program, CallGraph) - 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.
- 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.
- isBottom() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- isBottom() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- isBottom() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- isBottom() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- isBottom() - Method in class it.unive.lisa.analysis.numeric.Interval
- isBottom() - Method in class it.unive.lisa.interprocedural.CFGResults
- isBottom() - Method in class it.unive.lisa.interprocedural.FixpointResults
- isDumpAnalysis() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results of analysis, if run, should be dumped in the form of dot files representing results on single
CFGs. - isDumpCFGs() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the input program should be dumped in the form of dot files representing single
CFGs. - isDumpTypeInference() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results of type inference, if run, should be dumped in the form of dot files representing results on single
CFGs. - isHighConfidentiality() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents ahighvalue for the confidentiality non interference analysis. - isHighIntegrity() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents ahighvalue for the integrity non interference analysis. - isInferTypes() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not type inference should be run.
- isJsonOutput() - Method in class it.unive.lisa.LiSAConfiguration
-
Yields whether or not the results a json report file should be dumped at the end of the analysis.
- isLowConfidentiality() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents alowvalue for the confidentiality non interference analysis. - isLowIntegrity() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
-
Yields
trueif and only if this instance represents alowvalue for the integrity non interference analysis. - isTop() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- isTop() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- isTop() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- isTop() - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- 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.interprocedural.CFGResults
- isTop() - Method in class it.unive.lisa.interprocedural.FixpointResults
- it.unive.lisa - package it.unive.lisa
- 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.numeric - package it.unive.lisa.analysis.numeric
- 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
- iterator() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
K
- kill(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- kill(Identifier, ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- kill(Identifier, ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- kill(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<AvailableExpressions>) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- kill(ValueExpression, ProgramPoint, DefiniteForwardDataflowDomain<ConstantPropagation>) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- kill(ValueExpression, ProgramPoint, PossibleForwardDataflowDomain<ReachingDefinitions>) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
L
- left - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
-
The left-hand side abstract domain.
- lessOrEqual(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lessOrEqualAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- 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(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
- lessOrEqualAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
- LiSA - Class in it.unive.lisa
-
This is the central class of the LiSA library.
- LiSA(LiSAConfiguration) - Constructor for class it.unive.lisa.LiSA
-
Builds a new LiSA instance.
- LiSAConfiguration - Class in it.unive.lisa
-
A holder for the configuration of a
LiSAanalysis. - LiSAConfiguration() - Constructor for class it.unive.lisa.LiSAConfiguration
-
Builds a new configuration object, with default settings.
- LiSAFactory - Class in it.unive.lisa
-
An utility class for instantiating analysis components, that is, modular pieces of the analysis that have several implementations.
- LiSAFactory.ConfigurableComponent<T> - Class in it.unive.lisa
-
An analysis component that can be configured, that is, it has more than one implementation that can be modularly integrated into the analysis.
- LiSARunner<A extends it.unive.lisa.analysis.AbstractState<A,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>,T extends it.unive.lisa.analysis.AbstractState<T,HT,VT>,HT extends it.unive.lisa.analysis.heap.HeapDomain<HT>,VT extends it.unive.lisa.analysis.value.ValueDomain<VT>> - Class in it.unive.lisa
-
An auxiliary analysis runner for executing LiSA analysis.
- lub(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- lubAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- lubAux(AllocationSites) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- 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(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
- lubAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
M
- mk(CFGWithAnalysisResults<A, H, V>, Map<ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>>) - Method in class it.unive.lisa.interprocedural.CFGResults
- mk(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- mk(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- mk(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- mk(CFGResults<A, H, V>, Map<CFG, CFGResults<A, H, V>>) - Method in class it.unive.lisa.interprocedural.FixpointResults
- mk(Set<AllocationSite>) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- mk(T1, T2) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
-
Builds a new instance of cartesian product.
- mk(T1, T2) - Method in class it.unive.lisa.analysis.combination.ValueCartesianProduct
- ModularWorstCaseAnalysis<A extends it.unive.lisa.analysis.AbstractState<A,H,V>,H extends it.unive.lisa.analysis.heap.HeapDomain<H>,V extends it.unive.lisa.analysis.value.ValueDomain<V>> - Class in it.unive.lisa.interprocedural
-
A worst case modular analysis were all method calls return top.
- ModularWorstCaseAnalysis() - Constructor for class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
-
Builds the call graph.
- 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
N
- 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.
P
- 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.
- PointBasedHeap - Class in it.unive.lisa.analysis.heap.pointbased
-
A field-insensitive point-based heap implementation that abstracts heap locations depending on their allocation sites, namely the position of the code where heap locations are generated.
- PointBasedHeap() - Constructor for class it.unive.lisa.analysis.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.Rewriter - Class in it.unive.lisa.analysis.heap.pointbased
-
A
BaseHeapDomain.Rewriterfor thePointBasedHeapdomain. - 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.ReachingDefinitions
- popScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- popToken() - Method in class it.unive.lisa.interprocedural.ContextInsensitiveToken
- popToken() - Method in interface it.unive.lisa.interprocedural.ContextSensitivityToken
-
Creates a context sensitive token popping the scope on top of the stack.
- popToken() - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- popToken() - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- prepareEntryStateOfEntryPoint(AnalysisState<A, H, V>, CFG) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
Prepare and entry state for the analysis of a method by renaming parameters.
- program - Variable in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
-
The program.
- 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.ReachingDefinitions
- pushScope(ScopeToken) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.ContextInsensitiveToken
- pushToken(ScopeToken) - Method in interface it.unive.lisa.interprocedural.ContextSensitivityToken
-
Creates a context sensitive token with the given scope on the top of the stack.
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- pushToken(ScopeToken) - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- putResult(ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>) - Method in class it.unive.lisa.interprocedural.CFGResults
-
Stores the result of a fixpoint computation on a cfg, if needed.
- putResult(CFG, ContextSensitivityToken, CFGWithAnalysisResults<A, H, V>) - Method in class it.unive.lisa.interprocedural.FixpointResults
-
Stores the result of a fixpoint computation on a cfg.
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.
- RecursionFreeToken - Class in it.unive.lisa.interprocedural
-
A context sensitive token representing an entire call chain up until a recursion.
- registerDefaultFor(Class<?>, Class<?>) - Static method in class it.unive.lisa.LiSAFactory
-
Registers a default implementation for
component, taking precedence over the predefined defaults. - registerDefaultParametersFor(Class<?>, Class<?>...) - Static method in class it.unive.lisa.LiSAFactory
-
Registers the types (i.e.
- representation() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.ReachingDefinitions
- representation() - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- representation() - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- representation() - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- 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.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.Sign
- representation() - Method in class it.unive.lisa.analysis.types.InferredTypes
- resolve(UnresolvedCall) - Method in class it.unive.lisa.interprocedural.CallGraphBasedAnalysis
- resolve(UnresolvedCall) - Method in class it.unive.lisa.interprocedural.ModularWorstCaseAnalysis
- rewrite(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.FieldSensitivePointBasedHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- rewrite(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- Rewriter() - Constructor for class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
- right - Variable in class it.unive.lisa.analysis.combination.CartesianProduct
-
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
- run(Program) - Method in class it.unive.lisa.LiSA
-
Runs LiSA, executing all the checks that have been added.
S
- satisfies(E, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- satisfies(SymbolicExpression, HeapEnvironment<AllocationSites>, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- satisfies(SymbolicExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- satisfiesBinaryExpression(BinaryOperator, IntegerConstantPropagation, IntegerConstantPropagation, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- satisfiesBinaryExpression(BinaryOperator, Interval, Interval, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Interval
- satisfiesBinaryExpression(BinaryOperator, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- satisfiesBinaryExpression(BinaryOperator, InferredTypes, InferredTypes, InferredTypes, ProgramPoint) - Method in class it.unive.lisa.analysis.types.InferredTypes
- satisfiesTernaryExpression(TernaryOperator, Sign, Sign, Sign, ProgramPoint) - Method in class it.unive.lisa.analysis.numeric.Sign
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- semanticsOf(HeapExpression, ProgramPoint) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- setAbstractState(AbstractState<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
AbstractStateto use for the analysis. - setCallGraph(CallGraph) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
CallGraphto use for the analysis. - setDumpAnalysis(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
analysis__<cfg name>.dot, should be created and dumped in the working directory at the end of the analysis. - setDumpCFGs(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
<cfg name>.dot, should be created and dumped in the working directory at the start of the execution. - setDumpTypeInference(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not dot files, named
typing__<cfg name>.dot, should be created and dumped in the working directory at the end of the type inference. - setFixpointWorkingSet(Class<? extends WorkingSet<Statement>>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the concrete class of
WorkingSetto be used in fixpoints. - setInferTypes(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not runtime types should be inferred before executing the semantic analysis.
- setInterproceduralAnalysis(InterproceduralAnalysis<?, ?, ?>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
InterproceduralAnalysisto use for the analysis. - setJsonOutput(boolean) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets whether or not a json report file, named
report.json, should be created and dumped in the working directory at the end of the analysis. - setTypeInferenceState(AbstractState<?, ?, ?>, Function<AbstractState<?, ?, ?>, ExternalSet<Type>>) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the
AbstractStateto use for the type inference. - setWideningThreshold(int) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the number of fixpoint iteration on a given node after which calls to
Lattice.lub(Lattice)gets replaced withLattice.widening(Lattice). - setWorkdir(String) - Method in class it.unive.lisa.LiSAConfiguration
-
Sets the working directory for this instance of LiSA, that is, the directory files will be created, if any.
- 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.
- SingleScopeToken - Class in it.unive.lisa.interprocedural
-
A context sensitive token representing a single
ScopeToken. - smallStepSemantics(E, ProgramPoint) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
T
- top() - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- 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.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.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.Sign
- top() - Method in class it.unive.lisa.analysis.types.InferredTypes
- top() - Method in class it.unive.lisa.interprocedural.CFGResults
- top() - Method in class it.unive.lisa.interprocedural.FixpointResults
- 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.ReachingDefinitions
- toString() - Method in class it.unive.lisa.interprocedural.ContextInsensitiveToken
- toString() - Method in class it.unive.lisa.interprocedural.RecursionFreeToken
- toString() - Method in class it.unive.lisa.interprocedural.SingleScopeToken
- toString() - Method in class it.unive.lisa.LiSAConfiguration
- toString() - Method in class it.unive.lisa.LiSAFactory.ConfigurableComponent
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.AvailableExpressions
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.ConstantPropagation
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.dataflow.ReachingDefinitions
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.heap.pointbased.AllocationSites
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- tracksIdentifiers(Identifier) - Method in class it.unive.lisa.analysis.types.InferredTypes
- 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 instance of TypeBasedHeap, with an unique rewritten expression
Skip.
V
- 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) assigningIdentifiers and handlingValueExpressions. - ValueCartesianProduct(T1, T2) - Constructor for class it.unive.lisa.analysis.combination.ValueCartesianProduct
-
Builds the value Cartesian product.
- variable(Identifier, ProgramPoint) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- visit(AccessChild, ExpressionSet<ValueExpression>, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapAllocation, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapDereference, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
- visit(HeapReference, ExpressionSet<ValueExpression>, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
- visit(Identifier, Object...) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap.Rewriter
W
- widening(C) - Method in class it.unive.lisa.analysis.combination.CartesianProduct
- wideningAux(MonolithicHeap) - Method in class it.unive.lisa.analysis.heap.MonolithicHeap
- wideningAux(PointBasedHeap) - Method in class it.unive.lisa.analysis.heap.pointbased.PointBasedHeap
- wideningAux(TypeBasedHeap) - Method in class it.unive.lisa.analysis.heap.TypeBasedHeap
- wideningAux(NonInterference) - Method in class it.unive.lisa.analysis.nonInterference.NonInterference
- wideningAux(IntegerConstantPropagation) - Method in class it.unive.lisa.analysis.numeric.IntegerConstantPropagation
- wideningAux(Interval) - Method in class it.unive.lisa.analysis.numeric.Interval
- wideningAux(Parity) - Method in class it.unive.lisa.analysis.numeric.Parity
- wideningAux(Sign) - Method in class it.unive.lisa.analysis.numeric.Sign
- wideningAux(InferredTypes) - Method in class it.unive.lisa.analysis.types.InferredTypes
All Classes All Packages