Skip navigation links
A B C D E F G H I J K L M N O P R S T U V W Z 

A

abstraction - Variable in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
AccessPath<T> - Class in heros.fieldsens
 
AccessPath() - Constructor for class heros.fieldsens.AccessPath
 
AccessPath.Delta<T> - Class in heros.fieldsens
 
AccessPath.PrefixTestResult - Enum in heros.fieldsens
 
AccessPathHandler<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
AccessPathHandler(AccessPath<Field>, Resolver<Field, Fact, Stmt, Method>, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.AccessPathHandler
 
AccessPathHandler.ResultBuilder<FieldRef,FactAbstraction,Stmt,Method> - Interface in heros.fieldsens
 
add(String) - Method in class heros.utilities.JsonArray
 
addFunction(D, N, D, EdgeFunction<L>) - Method in class heros.solver.JumpFunctions
Records a jump function.
addIncoming(Incoming) - Method in class heros.fieldsens.ResolverTemplate
 
addIncoming(WrappedFact<Field, Fact, Stmt, Method>, Resolver<Field, Fact, Stmt, Method>, AccessPath.Delta<Field>) - Method in class heros.fieldsens.ReturnSiteResolver
 
addIncoming(N, D, N, D) - Method in class heros.solver.IDESolver
 
addIncomingEdge(CallEdge<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.MethodAnalyzer
 
addIncomingEdge(CallEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.MethodAnalyzerImpl
 
addIncomingEdge(CallEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
addIncomingEdge(CallEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.SourceStmtAnnotatedMethodAnalyzer
 
addInitialSeed(Stmt, Fact) - Method in interface heros.fieldsens.MethodAnalyzer
 
addInitialSeed(Stmt, Fact) - Method in class heros.fieldsens.MethodAnalyzerImpl
 
addInitialSeed(Stmt) - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
addInitialSeed(Stmt, Fact) - Method in class heros.fieldsens.SourceStmtAnnotatedMethodAnalyzer
 
addNeighbor(D) - Method in interface heros.solver.LinkedNode
Deprecated.
Links this node to a neighbor node, i.e., to an abstraction that would have been merged with this one of paths were not being tracked.
addUnbalancedReturnFlow(WrappedFactAtStatement<Field, Fact, Stmt, Method>, Stmt) - Method in interface heros.fieldsens.MethodAnalyzer
 
addUnbalancedReturnFlow(WrappedFactAtStatement<Field, Fact, Stmt, Method>, Stmt) - Method in class heros.fieldsens.MethodAnalyzerImpl
 
addUnbalancedReturnFlow(WrappedFactAtStatement<Field, Fact, Stmt, Method>, Stmt) - Method in class heros.fieldsens.SourceStmtAnnotatedMethodAnalyzer
 
afterExecute(Runnable, Throwable) - Method in class heros.solver.CountingThreadPoolExecutor
 
AllBottom<V> - Class in heros.edgefunc
This class implements an edge function that maps every input to the stated bottom element.
AllBottom(V) - Constructor for class heros.edgefunc.AllBottom
 
allNonCallStartNodes() - Method in interface heros.InterproceduralCFG
Returns the set of all nodes that are neither call nor start nodes.
AllTop<V> - Class in heros.edgefunc
This is an internal class implementing an edge function for use in IFDSSolver.
AllTop(V) - Constructor for class heros.edgefunc.AllTop
 
allTop - Variable in class heros.solver.IDESolver
 
allTopFunction() - Method in interface heros.IDETabulationProblem
Returns a function mapping everything to top.
allTopFunction() - Method in class heros.template.DefaultIDETabulationProblem
 
analyzer - Variable in class heros.fieldsens.Resolver
 
append(T...) - Method in class heros.fieldsens.AccessPath
 
appendExcludedFieldReference(Collection<T>) - Method in class heros.fieldsens.AccessPath
 
appendExcludedFieldReference(T...) - Method in class heros.fieldsens.AccessPath
 
applyConstraint(FlowFunction.Constraint<Field>, Fact) - Method in class heros.fieldsens.structs.WrappedFact
 
applyDelta(AccessPath.Delta<Field>) - Method in class heros.fieldsens.structs.WrappedFact
 
applyTo(AccessPath<T>) - Method in class heros.fieldsens.AccessPath.Delta
 
applyToAccessPath(AccessPath<FieldRef>) - Method in interface heros.fieldsens.FlowFunction.Constraint
 
applyToAccessPath(AccessPath<FieldRef>) - Method in class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
applyToAccessPath(AccessPath<FieldRef>) - Method in class heros.fieldsens.FlowFunction.WriteFieldConstraint
 
applyToAccessPath(AccessPath<FieldRef>) - Method in class heros.fieldsens.structs.DeltaConstraint
 
array(String) - Method in class heros.utilities.JsonDocument
 
askedToResolve(Resolver<Field, Fact, Stmt, Method>, FlowFunction.Constraint<Field>) - Method in interface heros.fieldsens.Debugger
 
askedToResolve(Resolver<Field, Fact, Stmt, Method>, FlowFunction.Constraint<Field>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
atLeast(AccessPath.PrefixTestResult) - Method in enum heros.fieldsens.AccessPath.PrefixTestResult
 
autoAddZero() - Method in interface heros.SolverConfiguration
If true, the solver will automatically add the zero value to each flow-function call's result set.
autoAddZero() - Method in class heros.template.DefaultIFDSTabulationProblem
 
awaitCompletion() - Method in class heros.solver.CountingThreadPoolExecutor
Awaits the completion of all spawned tasks.
awaitCompletion(long, TimeUnit) - Method in class heros.solver.CountingThreadPoolExecutor
Awaits the completion of all spawned tasks.
awaitCompletionComputeValuesAndShutdown() - Method in class heros.solver.IDESolver
Awaits the completion of the exploded super graph.
awaitZero() - Method in class heros.solver.CountLatch
 
awaitZero(long, TimeUnit) - Method in class heros.solver.CountLatch
 

B

BiDiFieldSensitiveIFDSSolver<Field,Fact,Stmt,Method,I extends InterproceduralCFG<Stmt,Method>> - Class in heros.fieldsens
 
BiDiFieldSensitiveIFDSSolver(IFDSTabulationProblem<Stmt, Field, Fact, Method, I>, IFDSTabulationProblem<Stmt, Field, Fact, Method, I>, FactMergeHandler<Fact>, Debugger<Field, Fact, Stmt, Method>, Scheduler) - Constructor for class heros.fieldsens.BiDiFieldSensitiveIFDSSolver
 
BiDiIDESolver<N,D,M,V,I extends InterproceduralCFG<N,M>> - Class in heros.solver
This is a special IFDS solver that solves the analysis problem inside out, i.e., from further down the call stack to further up the call stack.
BiDiIDESolver(IDETabulationProblem<N, D, M, V, I>, IDETabulationProblem<N, D, M, V, I>) - Constructor for class heros.solver.BiDiIDESolver
Instantiates a BiDiIDESolver with the associated forward and backward problem.
BiDiIDESolver.AbstractionWithSourceStmt - Class in heros.solver
This is an augmented abstraction propagated by the BiDiIDESolver.SingleDirectionSolver.
BiDiIDESolver.SingleDirectionSolver - Class in heros.solver
This is a modified IFDS solver that is capable of pausing and unpausing return-flow edges.
BiDiIFDSSolver<N,D extends JoinHandlingNode<D>,M,I extends InterproceduralCFG<N,M>> - Class in heros.solver
This is a special IFDS solver that solves the analysis problem inside out, i.e., from further down the call stack to further up the call stack.
BiDiIFDSSolver(IFDSTabulationProblem<N, D, M, I>, IFDSTabulationProblem<N, D, M, I>) - Constructor for class heros.solver.BiDiIFDSSolver
Instantiates a BiDiIFDSSolver with the associated forward and backward problem.
bottomElement() - Method in interface heros.MeetLattice
Returns the unique bottom element of this lattice.
bwIFDSResultAt(N) - Method in class heros.solver.BiDiIFDSSolver
 
bwSolver - Variable in class heros.solver.BiDiIDESolver
 

C

cache - Variable in class heros.solver.JoinHandlingNodesIFDSSolver
 
cache - Variable in class heros.solver.PathTrackingIFDSSolver
Deprecated.
 
callCache - Variable in class heros.EdgeFunctionCache
 
callCache - Variable in class heros.FlowFunctionCache
 
callDelta - Variable in class heros.fieldsens.structs.ReturnEdge
 
CallEdge<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
CallEdge(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>, WrappedFact<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.CallEdge
 
callToReturnCache - Variable in class heros.EdgeFunctionCache
 
callToReturnCache - Variable in class heros.FlowFunctionCache
 
canBeAppliedTo(AccessPath<T>) - Method in class heros.fieldsens.AccessPath.Delta
 
canBeAppliedTo(AccessPath<FieldRef>) - Method in interface heros.fieldsens.FlowFunction.Constraint
 
canBeAppliedTo(AccessPath<FieldRef>) - Method in class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
canBeAppliedTo(AccessPath<FieldRef>) - Method in class heros.fieldsens.FlowFunction.WriteFieldConstraint
 
canBeAppliedTo(AccessPath<FieldRef>) - Method in class heros.fieldsens.structs.DeltaConstraint
 
canBeResolvedEmpty() - Method in interface heros.fieldsens.InterestCallback
 
canBeResolvedEmpty() - Method in class heros.fieldsens.Resolver
 
canDeltaBeApplied(AccessPath.Delta<Field>) - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
canRead(T) - Method in class heros.fieldsens.AccessPath
 
canRead(Field) - Method in class heros.fieldsens.AccessPathHandler
 
clear() - Method in class heros.solver.JumpFunctions
Removes all jump functions
clear() - Method in class heros.utilities.DefaultValueMap
 
Compose<D> - Class in heros.flowfunc
Represents the ordered composition of a set of flow functions.
compose(FlowFunction<D>...) - Static method in class heros.flowfunc.Compose
 
composeWith(EdgeFunction<V>) - Method in class heros.edgefunc.AllBottom
 
composeWith(EdgeFunction<V>) - Method in class heros.edgefunc.AllTop
 
composeWith(EdgeFunction<V>) - Method in class heros.edgefunc.EdgeIdentity
 
composeWith(EdgeFunction<V>) - Method in interface heros.EdgeFunction
Composes this function with the secondFunction, effectively returning a summary function that maps sources to targets exactly as if first this function had been applied and then the secondFunction.
computeCallFlowFunction(FlowFunction<D>, D, D) - Method in class heros.solver.IDESolver
Computes the call flow function for the given call-site abstraction
computeCallToReturnFlowFunction(FlowFunction<D>, D, D) - Method in class heros.solver.IDESolver
Computes the call-to-return flow function for the given call-site abstraction
computedInterPEdges - Variable in class heros.solver.IDESolver
 
computedIntraPEdges - Variable in class heros.solver.IDESolver
 
computeNormalFlowFunction(FlowFunction<D>, D, D) - Method in class heros.solver.IDESolver
Computes the normal flow function for the given set of start and end abstractions-
computeReturnFlowFunction(FlowFunction<D>, D, D, N, Set<D>) - Method in class heros.solver.IDESolver
Computes the return flow function for the given set of caller-side abstractions.
computeTarget(V) - Method in class heros.edgefunc.AllBottom
 
computeTarget(V) - Method in class heros.edgefunc.AllTop
 
computeTarget(V) - Method in class heros.edgefunc.EdgeIdentity
 
computeTarget(V) - Method in interface heros.EdgeFunction
Computes the value resulting from applying this function to source.
computeTargets(D, AccessPathHandler<FieldRef, D, Stmt, Method>) - Method in interface heros.fieldsens.FlowFunction
Returns the target values reachable from the source.
computeTargets(D) - Method in class heros.flowfunc.Compose
 
computeTargets(D) - Method in class heros.flowfunc.Gen
 
computeTargets(D) - Method in class heros.flowfunc.Identity
 
computeTargets(D) - Method in class heros.flowfunc.Kill
 
computeTargets(D) - Method in class heros.flowfunc.KillAll
 
computeTargets(D) - Method in class heros.flowfunc.Transfer
 
computeTargets(D) - Method in class heros.flowfunc.Union
 
computeTargets(D) - Method in interface heros.FlowFunction
Returns the target values reachable from the source.
computeTargets(D) - Method in class heros.ZeroedFlowFunctions.ZeroedFlowFunction
 
computeValues - Variable in class heros.solver.IDESolver
 
computeValues() - Method in interface heros.SolverConfiguration
If false, then the solver will only compute the exploded super graph but not propagate values.
computeValues() - Method in class heros.template.DefaultIFDSTabulationProblem
 
containsKey(Object) - Method in class heros.utilities.DefaultValueMap
 
containsValue(Object) - Method in class heros.utilities.DefaultValueMap
 
Context<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
context - Variable in class heros.fieldsens.FieldSensitiveIFDSSolver
 
ControlFlowJoinResolver<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
ControlFlowJoinResolver(FactMergeHandler<Fact>, PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, Stmt, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.ControlFlowJoinResolver
 
copyWithIncomingResolver(Resolver<Field, Fact, Stmt, Method>, AccessPath.Delta<Field>) - Method in class heros.fieldsens.structs.ReturnEdge
 
copyWithResolverAtCaller(Resolver<Field, Fact, Stmt, Method>, AccessPath.Delta<Field>) - Method in class heros.fieldsens.structs.ReturnEdge
 
CountingThreadPoolExecutor - Class in heros.solver
A ThreadPoolExecutor which keeps track of the number of spawned tasks to allow clients to await their completion.
CountingThreadPoolExecutor(int, int, long, TimeUnit, BlockingQueue<Runnable>) - Constructor for class heros.solver.CountingThreadPoolExecutor
 
CountLatch - Class in heros.solver
A synchronization aid similar to CountDownLatch but with the ability to also count up.
CountLatch(int) - Constructor for class heros.solver.CountLatch
 
createAllTopFunction() - Method in class heros.template.DefaultIDETabulationProblem
 
createEdgeFunctionsFactory() - Method in class heros.template.DefaultIDETabulationProblem
 
createFlowFunctionsFactory() - Method in class heros.template.DefaultIFDSTabulationProblem
 
createItem(K) - Method in class heros.utilities.DefaultValueMap
 
createJoinKey() - Method in interface heros.solver.JoinHandlingNode
 
createMeetLattice() - Method in class heros.template.DefaultIDETabulationProblem
 
createMethodAnalyzer(M) - Method in class heros.fieldsens.FieldSensitiveIFDSSolver
 
createNestedResolver(AccessPath<Field>) - Method in class heros.fieldsens.ControlFlowJoinResolver
 
createNestedResolver(AccessPath<Field>) - Method in class heros.fieldsens.ResolverTemplate
 
createNestedResolver(AccessPath<Field>) - Method in class heros.fieldsens.ReturnSiteResolver
 
createSingleDirectionSolver(IDETabulationProblem<N, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, M, V, I>, String) - Method in class heros.solver.BiDiIDESolver
Creates a solver to be used for each single analysis direction.
createWithAccessPath(AccessPath<Field>) - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
createZeroValue() - Method in class heros.template.DefaultIFDSTabulationProblem
A factory method to create and return the ZERO value.

D

DEBUG - Static variable in class heros.solver.IDESolver
 
Debugger<Field,Fact,Stmt,Method> - Interface in heros.fieldsens
 
debugger - Variable in class heros.fieldsens.FieldSensitiveIFDSSolver
 
debugger - Variable in class heros.fieldsens.ResolverTemplate
 
Debugger.NullDebugger<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
decrement() - Method in class heros.solver.CountLatch
 
DEFAULT_CACHE_BUILDER - Static variable in class heros.solver.IDESolver
 
DEFAULT_PRINTER - Static variable in interface heros.ItemPrinter
 
DefaultIDETabulationProblem<N,D,M,V,I extends InterproceduralCFG<N,M>> - Class in heros.template
This is a template for IDETabulationProblems that automatically caches values that ought to be cached.
DefaultIDETabulationProblem(I) - Constructor for class heros.template.DefaultIDETabulationProblem
 
DefaultIFDSTabulationProblem<N,D,M,I extends InterproceduralCFG<N,M>> - Class in heros.template
This is a template for IFDSTabulationProblems that automatically caches values that ought to be cached.
DefaultIFDSTabulationProblem(I) - Constructor for class heros.template.DefaultIFDSTabulationProblem
 
DefaultSeeds - Class in heros
A utility class for creating default seeds that cause an analysis to simply start at a given statement.
DefaultSeeds() - Constructor for class heros.DefaultSeeds
 
DefaultValueMap<K,V> - Class in heros.utilities
 
DefaultValueMap() - Constructor for class heros.utilities.DefaultValueMap
 
del - Variable in class heros.ZeroedFlowFunctions.ZeroedFlowFunction
 
delegate - Variable in class heros.EdgeFunctionCache
 
delegate - Variable in class heros.FlowFunctionCache
 
delegate - Variable in class heros.ProfiledFlowFunctions
 
delegate - Variable in class heros.ZeroedFlowFunctions
 
Delta(T[], Set<T>) - Constructor for class heros.fieldsens.AccessPath.Delta
 
DeltaConstraint<FieldRef> - Class in heros.fieldsens.structs
 
DeltaConstraint(AccessPath<FieldRef>, AccessPath<FieldRef>) - Constructor for class heros.fieldsens.structs.DeltaConstraint
 
DeltaConstraint(AccessPath.Delta<FieldRef>) - Constructor for class heros.fieldsens.structs.DeltaConstraint
 
doc(String) - Method in class heros.utilities.JsonDocument
 
doc(String, JsonDocument) - Method in class heros.utilities.JsonDocument
 
DontSynchronize - Annotation Type in heros
Semantic annotation stating that the annotated field can remain unsynchronized.
dSource - Variable in class heros.solver.PathEdge
 
dTarget - Variable in class heros.solver.PathEdge
 
dumpDotFile(String) - Method in class heros.solver.FlowFunctionDotExport
Write a graph representation of the flow functions computed by the solver to the file indicated by fileName.
durationCall - Variable in class heros.ProfiledFlowFunctions
 
durationCallReturn - Variable in class heros.ProfiledFlowFunctions
 
durationFlowFunctionApplication - Variable in class heros.solver.IDESolver
 
durationFlowFunctionConstruction - Variable in class heros.solver.IDESolver
 
durationNormal - Variable in class heros.ProfiledFlowFunctions
 
durationReturn - Variable in class heros.ProfiledFlowFunctions
 

E

EdgeFunction<V> - Interface in heros
An edge function computes how a V-type value changes when flowing from one super-graph node to another.
EdgeFunctionCache<N,D,M,V> - Class in heros
 
EdgeFunctionCache(EdgeFunctions<N, D, M, V>, CacheBuilder) - Constructor for class heros.EdgeFunctionCache
 
EdgeFunctions<N,D,M,V> - Interface in heros
Classes implementing this interface provide a range of edge functions used to compute a V-type value for each of the finitely many D-type values reachable in the program.
edgeFunctions() - Method in interface heros.IDETabulationProblem
Returns the edge functions that describe how V-values are transformed along flow function edges.
edgeFunctions - Variable in class heros.solver.IDESolver
 
edgeFunctions() - Method in class heros.template.DefaultIDETabulationProblem
 
EdgeIdentity<V> - Class in heros.edgefunc
The identity function on graph edges
edgeTo(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
edgeTo(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
efCache - Variable in class heros.solver.IDESolver
 
empty() - Static method in class heros.fieldsens.AccessPath.Delta
 
empty() - Static method in class heros.fieldsens.AccessPath
 
endSummary - Variable in class heros.solver.IDESolver
 
endSummary(N, D) - Method in class heros.solver.IDESolver
 
entrySet() - Method in class heros.utilities.DefaultValueMap
 
equals(Object) - Method in class heros.fieldsens.AccessPath.Delta
 
equals(Object) - Method in class heros.fieldsens.AccessPath
 
equals(Object) - Method in class heros.fieldsens.CallEdge
 
equals(Object) - Method in class heros.fieldsens.FlowFunction.ConstrainedFact
 
equals(Object) - Method in class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
equals(Object) - Method in class heros.fieldsens.FlowFunction.WriteFieldConstraint
 
equals(Object) - Method in class heros.fieldsens.structs.DeltaConstraint
 
equals(Object) - Method in class heros.fieldsens.structs.FactAtStatement
 
equals(Object) - Method in class heros.fieldsens.structs.WrappedFact
 
equals(Object) - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
equals(Object) - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
equals(Object) - Method in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
equals(Object) - Method in class heros.solver.JoinHandlingNode.JoinKey
 
equals(Object) - Method in class heros.solver.Pair
 
equals(Object) - Method in class heros.solver.PathEdge
 
equalTo(EdgeFunction<V>) - Method in class heros.edgefunc.AllBottom
 
equalTo(EdgeFunction<V>) - Method in class heros.edgefunc.AllTop
 
equalTo(EdgeFunction<V>) - Method in class heros.edgefunc.EdgeIdentity
 
equalTo(EdgeFunction<V>) - Method in interface heros.EdgeFunction
Returns true is this function represents exactly the same source to target mapping as other.
exception - Variable in class heros.solver.CountingThreadPoolExecutor
 
execute(Runnable) - Method in class heros.solver.CountingThreadPoolExecutor
 
executor - Variable in class heros.solver.IDESolver
 

F

fact - Variable in class heros.fieldsens.structs.FactAtStatement
 
factAtSource() - Method in class heros.solver.PathEdge
 
FactAtStatement<Fact,Stmt> - Class in heros.fieldsens.structs
 
FactAtStatement(Fact, Stmt) - Constructor for class heros.fieldsens.structs.FactAtStatement
 
factAtTarget() - Method in class heros.solver.PathEdge
 
factHandler - Variable in class heros.fieldsens.Context
 
FactMergeHandler<Fact> - Interface in heros.fieldsens
 
ffCache - Variable in class heros.solver.IDESolver
 
FieldSensitiveIFDSSolver<FieldRef,D,N,M,I extends InterproceduralCFG<N,M>> - Class in heros.fieldsens
 
FieldSensitiveIFDSSolver(IFDSTabulationProblem<N, FieldRef, D, M, I>, FactMergeHandler<D>, Debugger<FieldRef, D, N, M>, Scheduler) - Constructor for class heros.fieldsens.FieldSensitiveIFDSSolver
 
first - Variable in class heros.TwoElementSet
 
FlowFunction<FieldRef,D,Stmt,Method> - Interface in heros.fieldsens
A flow function computes which of the finitely many D-type values are reachable from the current source values.
FlowFunction<D> - Interface in heros
A flow function computes which of the finitely many D-type values are reachable from the current source values.
FlowFunction.ConstrainedFact<FieldRef,D,Stmt,Method> - Class in heros.fieldsens
 
FlowFunction.Constraint<FieldRef> - Interface in heros.fieldsens
 
FlowFunction.ReadFieldConstraint<FieldRef> - Class in heros.fieldsens
 
FlowFunction.WriteFieldConstraint<FieldRef> - Class in heros.fieldsens
 
flowFunctionApplicationCount - Variable in class heros.solver.IDESolver
 
FlowFunctionCache<N,D,M> - Class in heros
 
FlowFunctionCache(FlowFunctions<N, D, M>, CacheBuilder) - Constructor for class heros.FlowFunctionCache
 
flowFunctionConstructionCount - Variable in class heros.solver.IDESolver
 
FlowFunctionDotExport<N,D,M,I extends InterproceduralCFG<N,M>> - Class in heros.solver
A class to dump the results of flow functions to a dot file for visualization.
FlowFunctionDotExport(IDESolver<N, D, M, ?, I>, ItemPrinter<? super N, ? super D, ? super M>) - Constructor for class heros.solver.FlowFunctionDotExport
Constructor.
FlowFunctionDotExport(IDESolver<N, D, M, ?, I>, ItemPrinter<? super N, ? super D, ? super M>, Set<M>) - Constructor for class heros.solver.FlowFunctionDotExport
Constructor.
flowFunctions - Variable in class heros.fieldsens.Context
 
FlowFunctions<Stmt,FieldRef,F,Method> - Interface in heros.fieldsens
Classes implementing this interface provide a factory for a range of flow functions used to compute which D-type values are reachable along the program's control flow.
flowFunctions() - Method in interface heros.fieldsens.IFDSTabulationProblem
Returns a set of flow functions.
FlowFunctions<N,D,M> - Interface in heros
Classes implementing this interface provide a factory for a range of flow functions used to compute which D-type values are reachable along the program's control flow.
flowFunctions() - Method in interface heros.IFDSTabulationProblem
Returns a set of flow functions.
flowFunctions - Variable in class heros.solver.IDESolver
 
flowFunctions() - Method in class heros.template.DefaultIFDSTabulationProblem
 
followReturnsPastSeeds - Variable in class heros.fieldsens.Context
 
followReturnsPastSeeds - Variable in class heros.solver.IDESolver
 
followReturnsPastSeeds() - Method in interface heros.SolverConfiguration
If true, the analysis will compute a partially unbalanced analysis problem in which function returns are followed also further up the call stack than where the initial seeds started.
followReturnsPastSeeds() - Method in class heros.template.DefaultIFDSTabulationProblem
 
forwardLookup(D, N) - Method in class heros.solver.JumpFunctions
Returns, for a given source value and target statement all associated target values, and for each the associated edge function.
fwIFDSResultAt(N) - Method in class heros.solver.BiDiIFDSSolver
 
fwSolver - Variable in class heros.solver.BiDiIDESolver
 

G

Gen<D> - Class in heros.flowfunc
Function that creates a new value (e.g.
Gen(D, D) - Constructor for class heros.flowfunc.Gen
 
generate(Fact) - Method in class heros.fieldsens.AccessPathHandler
 
generate(FactAbstraction) - Method in interface heros.fieldsens.AccessPathHandler.ResultBuilder
 
generateWithEmptyAccessPath(Fact, ZeroHandler<Field>) - Method in class heros.fieldsens.AccessPathHandler
 
get(Object) - Method in class heros.utilities.DefaultValueMap
 
getAbstraction() - Method in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
getAccessPath() - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
getAccessPath() - Method in class heros.fieldsens.structs.WrappedFact
 
getAccessPath() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
getAccessPathOf(WrappedFact<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ControlFlowJoinResolver
 
getAccessPathOf(Incoming) - Method in class heros.fieldsens.ResolverTemplate
 
getAccessPathOf(ReturnEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ReturnSiteResolver
 
getAnalyzer(Method) - Method in class heros.fieldsens.Context
 
getAsFactAtStatement() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
getCallEdgeFunction(N, D, M, D) - Method in class heros.EdgeFunctionCache
 
getCallEdgeFunction(N, D, M, D) - Method in interface heros.EdgeFunctions
Returns the function that computes how the V-typed value changes when being propagated along a method call.
getCallEdgeResolver() - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
getCalleesOfCallAt(N) - Method in interface heros.InterproceduralCFG
Returns all callee methods for a given call.
getCalleeSourceFact() - Method in class heros.fieldsens.CallEdge
 
getCallerAnalyzer() - Method in class heros.fieldsens.CallEdge
 
getCallerCallSiteFact() - Method in class heros.fieldsens.CallEdge
 
getCallersOf(M) - Method in interface heros.InterproceduralCFG
Returns all caller statements/nodes of a given method.
getCallerSourceFact() - Method in class heros.fieldsens.CallEdge
 
getCallFlowFunction(Stmt, Method) - Method in interface heros.fieldsens.FlowFunctions
Returns the flow function that computes the flow for a call statement.
getCallFlowFunction(N, M) - Method in class heros.FlowFunctionCache
 
getCallFlowFunction(N, M) - Method in interface heros.FlowFunctions
Returns the flow function that computes the flow for a call statement.
getCallFlowFunction(N, M) - Method in class heros.ProfiledFlowFunctions
 
getCallFlowFunction(N, M) - Method in class heros.ZeroedFlowFunctions
 
getCallsFromWithin(M) - Method in interface heros.InterproceduralCFG
Returns all call sites within a given method.
getCallSite() - Method in class heros.fieldsens.CallEdge
 
getCallToReturnEdgeFunction(N, D, N, D) - Method in class heros.EdgeFunctionCache
 
getCallToReturnEdgeFunction(N, D, N, D) - Method in interface heros.EdgeFunctions
Returns the function that computes how the V-typed value changes when being propagated from a method call to one of its intraprocedural successor.
getCallToReturnFlowFunction(Stmt, Stmt) - Method in interface heros.fieldsens.FlowFunctions
Returns the flow function that computes the flow from a call site to a successor statement just after the call.
getCallToReturnFlowFunction(N, N) - Method in class heros.FlowFunctionCache
 
getCallToReturnFlowFunction(N, N) - Method in interface heros.FlowFunctions
Returns the flow function that computes the flow from a call site to a successor statement just after the call.
getCallToReturnFlowFunction(N, N) - Method in class heros.ProfiledFlowFunctions
 
getCallToReturnFlowFunction(N, N) - Method in class heros.ZeroedFlowFunctions
 
getConstraint() - Method in class heros.fieldsens.FlowFunction.ConstrainedFact
 
getDebugName() - Method in class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
getDebugName() - Method in class heros.solver.IDESolver
Returns a String used to identify the output of this solver in debug mode.
getDeltaTo(AccessPath<T>) - Method in class heros.fieldsens.AccessPath
 
getException() - Method in class heros.solver.CountingThreadPoolExecutor
Returns the exception thrown during task execution (if any).
getExecutor() - Method in class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
getExecutor() - Method in class heros.solver.IDESolver
Factory method for this solver's thread-pool executor.
getFact() - Method in class heros.fieldsens.FlowFunction.ConstrainedFact
 
getFact() - Method in class heros.fieldsens.structs.WrappedFact
 
getFact() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
getFirstAccess() - Method in class heros.fieldsens.AccessPath
 
getJoinStmt() - Method in class heros.fieldsens.ControlFlowJoinResolver
 
getMethod() - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
getMethodOf(N) - Method in interface heros.InterproceduralCFG
Returns the method containing a node.
getNormalEdgeFunction(N, D, N, D) - Method in class heros.EdgeFunctionCache
 
getNormalEdgeFunction(N, D, N, D) - Method in interface heros.EdgeFunctions
Returns the function that computes how the V-typed value changes when being propagated from srcNode at statement src to tgtNode at statement tgt.
getNormalFlowFunction(Stmt) - Method in interface heros.fieldsens.FlowFunctions
Returns the flow function that computes the flow for a normal statement, i.e., a statement that is neither a call nor an exit statement.
getNormalFlowFunction(N, N) - Method in class heros.FlowFunctionCache
 
getNormalFlowFunction(N, N) - Method in interface heros.FlowFunctions
Returns the flow function that computes the flow for a normal statement, i.e., a statement that is neither a call nor an exit statement.
getNormalFlowFunction(N, N) - Method in class heros.ProfiledFlowFunctions
 
getNormalFlowFunction(N, N) - Method in class heros.ZeroedFlowFunctions
 
getO1() - Method in class heros.solver.Pair
 
getO2() - Method in class heros.solver.Pair
 
getOrCreate(K) - Method in class heros.utilities.DefaultValueMap
 
getOrCreateNestedResolver(AccessPath<Field>) - Method in class heros.fieldsens.ResolverTemplate
 
getOrCreateNestedResolver(AccessPath<Field>) - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
getPredsOf(N) - Method in interface heros.InterproceduralCFG
 
getResolver() - Method in class heros.fieldsens.structs.WrappedFact
 
getResolver() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
getReturnEdgeFunction(N, M, N, D, N, D) - Method in class heros.EdgeFunctionCache
 
getReturnEdgeFunction(N, M, N, D, N, D) - Method in interface heros.EdgeFunctions
Returns the function that computes how the V-typed value changes when being propagated along a method exit (return or throw).
getReturnFlowFunction(Stmt, Method, Stmt, Stmt) - Method in interface heros.fieldsens.FlowFunctions
Returns the flow function that computes the flow for a an exit from a method.
getReturnFlowFunction(N, M, N, N) - Method in class heros.FlowFunctionCache
 
getReturnFlowFunction(N, M, N, N) - Method in interface heros.FlowFunctions
Returns the flow function that computes the flow for a an exit from a method.
getReturnFlowFunction(N, M, N, N) - Method in class heros.ProfiledFlowFunctions
 
getReturnFlowFunction(N, M, N, N) - Method in class heros.ZeroedFlowFunctions
 
getReturnSite() - Method in class heros.fieldsens.ReturnSiteResolver
 
getReturnSitesOfCallAt(N) - Method in interface heros.InterproceduralCFG
Returns all statements to which a call could return.
getSourceStmt() - Method in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
getStarterThread() - Method in class heros.util.SootThreadGroup
 
getStartPointsOf(M) - Method in interface heros.InterproceduralCFG
Returns all start points of a given method.
getStatement() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
getSuccsOf(N) - Method in interface heros.InterproceduralCFG
Returns the successor nodes.
getTarget() - Method in class heros.solver.PathEdge
 
getWrappedFact() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 

H

handleJoin(T) - Method in interface heros.solver.JoinHandlingNode
 
hasAllExclusionsOf(AccessPath<T>) - Method in class heros.fieldsens.AccessPath
 
hasEmptyAccessPath() - Method in class heros.fieldsens.AccessPath
 
hashCode() - Method in class heros.fieldsens.AccessPath.Delta
 
hashCode() - Method in class heros.fieldsens.AccessPath
 
hashCode() - Method in class heros.fieldsens.CallEdge
 
hashCode() - Method in class heros.fieldsens.FlowFunction.ConstrainedFact
 
hashCode() - Method in class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
hashCode() - Method in class heros.fieldsens.FlowFunction.WriteFieldConstraint
 
hashCode() - Method in class heros.fieldsens.structs.DeltaConstraint
 
hashCode() - Method in class heros.fieldsens.structs.FactAtStatement
 
hashCode() - Method in class heros.fieldsens.structs.WrappedFact
 
hashCode() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
hashCode() - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
hashCode() - Method in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
hashCode() - Method in class heros.solver.JoinHandlingNode.JoinKey
 
hashCode - Variable in class heros.solver.Pair
 
hashCode() - Method in class heros.solver.Pair
 
hashCode - Variable in class heros.solver.PathEdge
 
hashCode() - Method in class heros.solver.PathEdge
 
heros - package heros
 
heros.edgefunc - package heros.edgefunc
 
heros.fieldsens - package heros.fieldsens
 
heros.fieldsens.structs - package heros.fieldsens.structs
 
heros.flowfunc - package heros.flowfunc
 
heros.solver - package heros.solver
 
heros.template - package heros.template
 
heros.util - package heros.util
 
heros.utilities - package heros.utilities
 

I

icfg - Variable in class heros.fieldsens.Context
 
icfg - Variable in class heros.solver.IDESolver
 
Identity<D> - Class in heros.flowfunc
 
IDESolver<N,D,M,V,I extends InterproceduralCFG<N,M>> - Class in heros.solver
Solves the given IDETabulationProblem as described in the 1996 paper by Sagiv, Horwitz and Reps.
IDESolver(IDETabulationProblem<N, D, M, V, I>) - Constructor for class heros.solver.IDESolver
Creates a solver for the given problem, which caches flow functions and edge functions.
IDESolver(IDETabulationProblem<N, D, M, V, I>, CacheBuilder, CacheBuilder) - Constructor for class heros.solver.IDESolver
Creates a solver for the given problem, constructing caches with the given CacheBuilder.
IDETabulationProblem<N,D,M,V,I extends InterproceduralCFG<N,M>> - Interface in heros
Defines an IDE tabulation problem as presented in the Sagiv, Reps, Horwitz 1996 (SRH96) paper.
ifdsResultsAt(N) - Method in class heros.solver.IFDSSolver
Returns the set of facts that hold at the given statement.
IFDSSolver<N,D,M,I extends InterproceduralCFG<N,M>> - Class in heros.solver
A solver for an IFDSTabulationProblem.
IFDSSolver(IFDSTabulationProblem<N, D, M, I>) - Constructor for class heros.solver.IFDSSolver
Creates a solver for the given problem.
IFDSSolver.BinaryDomain - Enum in heros.solver
 
IFDSTabulationProblem<N,FieldRef,D,M,I extends InterproceduralCFG<N,M>> - Interface in heros.fieldsens
A tabulation problem for solving in an IFDSSolver as described by the Reps, Horwitz, Sagiv 1995 (RHS95) paper.
IFDSTabulationProblem<N,D,M,I extends InterproceduralCFG<N,M>> - Interface in heros
A tabulation problem for solving in an IFDSSolver as described by the Reps, Horwitz, Sagiv 1995 (RHS95) paper.
incAccessPath - Variable in class heros.fieldsens.structs.ReturnEdge
 
incFact - Variable in class heros.fieldsens.structs.ReturnEdge
 
incoming - Variable in class heros.solver.IDESolver
 
incoming(D, N) - Method in class heros.solver.IDESolver
 
incomingEdges - Variable in class heros.fieldsens.ResolverTemplate
 
increment() - Method in class heros.solver.CountLatch
 
incResolver - Variable in class heros.fieldsens.structs.ReturnEdge
 
initialSeed(Stmt) - Method in interface heros.fieldsens.Debugger
 
initialSeed(Stmt) - Method in class heros.fieldsens.Debugger.NullDebugger
 
initialSeeds() - Method in interface heros.fieldsens.IFDSTabulationProblem
Returns initial seeds to be used for the analysis.
initialSeeds() - Method in interface heros.IFDSTabulationProblem
Returns initial seeds to be used for the analysis.
initialSeeds - Variable in class heros.solver.IDESolver
 
interest(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, Resolver<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.InterestCallback
 
interest(Resolver<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Resolver
 
interest(Resolver<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
InterestCallback<Field,Fact,Stmt,Method> - Interface in heros.fieldsens
 
interproceduralCFG() - Method in interface heros.fieldsens.IFDSTabulationProblem
Returns the interprocedural control-flow graph which this problem is computed over.
interproceduralCFG() - Method in interface heros.IFDSTabulationProblem
Returns the interprocedural control-flow graph which this problem is computed over.
InterproceduralCFG<N,M> - Interface in heros
An interprocedural control-flow graph.
interproceduralCFG() - Method in class heros.template.DefaultIFDSTabulationProblem
 
invalidate() - Method in class heros.FlowFunctionCache
 
isAccessInExclusions(T) - Method in class heros.fieldsens.AccessPath
 
isAtZero() - Method in class heros.solver.CountLatch
Gets whether this counting latch has arrived at zero
isBranchTarget(N, N) - Method in interface heros.InterproceduralCFG
Returns whether succ is a branch target of stmt.
isCallStmt(N) - Method in interface heros.InterproceduralCFG
Returns true if the given statement is a call site.
isEmpty() - Method in class heros.fieldsens.AccessPath
 
isEmpty() - Method in class heros.utilities.DefaultValueMap
 
isExitStmt(N) - Method in interface heros.InterproceduralCFG
Returns true if the given statement leads to a method return (exceptional or not).
isFallThroughSuccessor(N, N) - Method in interface heros.InterproceduralCFG
Returns whether succ is the fall-through successor of stmt, i.e., the unique successor that is be reached when stmt does not branch.
isInterestGiven() - Method in class heros.fieldsens.Resolver
 
isLocked() - Method in class heros.fieldsens.ResolverTemplate
 
isPrefixOf(AccessPath<T>) - Method in class heros.fieldsens.AccessPath
 
isStartPoint(N) - Method in interface heros.InterproceduralCFG
Returns true is this is a method's start statement.
isZeroSource() - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
ItemPrinter<N,D,M> - Interface in heros
Interface for creating string representations of nodes, facts, and methods in the IDE/IFDS problem.
iterator() - Method in class heros.TwoElementSet
 

J

jobFinished(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
jobFinished(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
jobStarted(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
jobStarted(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
JoinHandlingNode<T> - Interface in heros.solver
 
JoinHandlingNode.JoinKey - Class in heros.solver
 
JoinHandlingNodesIFDSSolver<N,D extends JoinHandlingNode<D>,M,I extends InterproceduralCFG<N,M>> - Class in heros.solver
An IFDSSolver that tracks paths for reporting.
JoinHandlingNodesIFDSSolver(IFDSTabulationProblem<N, D, M, I>) - Constructor for class heros.solver.JoinHandlingNodesIFDSSolver
 
JoinKey(Object...) - Constructor for class heros.solver.JoinHandlingNode.JoinKey
 
JsonArray - Class in heros.utilities
 
JsonArray() - Constructor for class heros.utilities.JsonArray
 
JsonDocument - Class in heros.utilities
 
JsonDocument() - Constructor for class heros.utilities.JsonDocument
 
jumpFn - Variable in class heros.solver.IDESolver
 
JumpFunctions<N,D,L> - Class in heros.solver
The IDE algorithm uses a list of jump functions.
JumpFunctions(EdgeFunction<L>) - Constructor for class heros.solver.JumpFunctions
 

K

keySet() - Method in class heros.utilities.DefaultValueMap
 
keyValue(String, String) - Method in class heros.utilities.JsonDocument
 
Kill<D> - Class in heros.flowfunc
Function that kills a specific value (i.e.
Kill(D) - Constructor for class heros.flowfunc.Kill
 
KillAll<D> - Class in heros.flowfunc
The empty function, i.e.

L

LinkedNode<D> - Interface in heros.solver
Deprecated.
Use JoinHandlingNode instead.
lock() - Method in class heros.fieldsens.ResolverTemplate
 
log(String) - Method in class heros.fieldsens.ControlFlowJoinResolver
 
log(String) - Method in class heros.fieldsens.Resolver
 
log(String) - Method in class heros.fieldsens.ReturnSiteResolver
 
logger - Static variable in class heros.fieldsens.FieldSensitiveIFDSSolver
 
logger - Static variable in class heros.solver.CountingThreadPoolExecutor
 
logger - Static variable in class heros.solver.IDESolver
 
lookupByTarget(N) - Method in class heros.solver.JumpFunctions
Returns for a given target statement all jump function records with this target.

M

make(Iterable<N>, D) - Static method in class heros.DefaultSeeds
 
mayBeEmpty() - Method in class heros.fieldsens.AccessPathHandler
 
mayCanRead(Field) - Method in class heros.fieldsens.AccessPathHandler
 
meet(V, V) - Method in interface heros.MeetLattice
Computes the meet of left and right.
meetLattice() - Method in interface heros.IDETabulationProblem
Returns the lattice describing how to compute the meet of two V values.
MeetLattice<V> - Interface in heros
This class defines a lattice in terms of its top and bottom elements and a meet operation.
meetLattice() - Method in class heros.template.DefaultIDETabulationProblem
 
meetValueAt(N, D, V, V) - Method in class heros.solver.IDESolver
 
meetWith(EdgeFunction<V>) - Method in class heros.edgefunc.AllBottom
 
meetWith(EdgeFunction<V>) - Method in class heros.edgefunc.AllTop
 
meetWith(EdgeFunction<V>) - Method in class heros.edgefunc.EdgeIdentity
 
meetWith(EdgeFunction<V>) - Method in interface heros.EdgeFunction
Returns a function that represents that (element-wise) meet of this function with otherFunction.
merge(Fact, Fact) - Method in interface heros.fieldsens.FactMergeHandler
Called when propagating a Fact to a statement at which an equal Fact was already propagated to.
mergeExcludedFieldReferences(AccessPath<T>) - Method in class heros.fieldsens.AccessPath
 
MethodAnalyzer<Field,Fact,Stmt,Method> - Interface in heros.fieldsens
 
MethodAnalyzerImpl<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
MustSynchronize - Annotation Type in heros
Semantic annotation stating that the annotated field must be synchronized.

N

newJob(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
newJob(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
newResolver(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, Resolver<Field, Fact, Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
newResolver(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, Resolver<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
nonEmptyForwardLookup - Variable in class heros.solver.JumpFunctions
 
nonEmptyLookupByTargetNode - Variable in class heros.solver.JumpFunctions
 
nonEmptyReverseLookup - Variable in class heros.solver.JumpFunctions
 
normalCache - Variable in class heros.EdgeFunctionCache
 
normalCache - Variable in class heros.FlowFunctionCache
 
NullDebugger() - Constructor for class heros.fieldsens.Debugger.NullDebugger
 
numRunningTasks - Variable in class heros.solver.CountingThreadPoolExecutor
 
numThreads - Variable in class heros.solver.IDESolver
 
numThreads() - Method in interface heros.SolverConfiguration
Returns the number of threads to be used by the solver.
numThreads() - Method in class heros.template.DefaultIFDSTabulationProblem
 

O

o1 - Variable in class heros.solver.Pair
 
o2 - Variable in class heros.solver.Pair
 
overwrite(Field) - Method in class heros.fieldsens.AccessPathHandler
 

P

Pair<T,U> - Class in heros.solver
 
Pair() - Constructor for class heros.solver.Pair
 
Pair(T, U) - Constructor for class heros.solver.Pair
 
PathEdge<N,D> - Class in heros.solver
A path edge as described in the IFDS/IDE algorithms.
PathEdge(D, N, D) - Constructor for class heros.solver.PathEdge
 
PathTrackingIFDSSolver<N,D extends LinkedNode<D>,M,I extends InterproceduralCFG<N,M>> - Class in heros.solver
Deprecated.
PathTrackingIFDSSolver(IFDSTabulationProblem<N, D, M, I>) - Constructor for class heros.solver.PathTrackingIFDSSolver
Deprecated.
 
PerAccessPathMethodAnalyzer<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
PerAccessPathMethodAnalyzer(Method, Fact, Context<Field, Fact, Stmt, Method>, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.PerAccessPathMethodAnalyzer
 
prepend(T) - Method in class heros.fieldsens.AccessPath
 
prepend(Field) - Method in class heros.fieldsens.AccessPathHandler
 
printFact(D) - Method in interface heros.ItemPrinter
 
printMethod(M) - Method in interface heros.ItemPrinter
 
printNode(N, M) - Method in interface heros.ItemPrinter
 
printStats() - Method in class heros.EdgeFunctionCache
 
printStats() - Method in class heros.FlowFunctionCache
 
printStats() - Method in class heros.solver.IDESolver
 
processExit(PathEdge<N, D>) - Method in class heros.solver.IDESolver
Lines 21-32 of the algorithm.
processIncomingGuaranteedPrefix(WrappedFact<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ControlFlowJoinResolver
 
processIncomingGuaranteedPrefix(Incoming) - Method in class heros.fieldsens.ResolverTemplate
 
processIncomingGuaranteedPrefix(ReturnEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ReturnSiteResolver
 
processIncomingPotentialPrefix(WrappedFact<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ControlFlowJoinResolver
 
processIncomingPotentialPrefix(Incoming) - Method in class heros.fieldsens.ResolverTemplate
 
processIncomingPotentialPrefix(ReturnEdge<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ReturnSiteResolver
 
ProfiledFlowFunctions<N,D,M> - Class in heros
A wrapper that can be used to profile flow functions.
ProfiledFlowFunctions(FlowFunctions<N, D, M>) - Constructor for class heros.ProfiledFlowFunctions
 
propagate(BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, N, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, EdgeFunction<V>, N, boolean) - Method in class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
propagate(D, N, D, EdgeFunction<V>, N, boolean) - Method in class heros.solver.IDESolver
Propagates the flow further down the exploded super graph, merging any edge function that might already have been computed for targetVal at target.
propagate(D, N, D, EdgeFunction<IFDSSolver.BinaryDomain>, N, boolean) - Method in class heros.solver.JoinHandlingNodesIFDSSolver
 
propagate(D, N, D, EdgeFunction<IFDSSolver.BinaryDomain>, N, boolean) - Method in class heros.solver.PathTrackingIFDSSolver
Deprecated.
 
propagateUnbalancedReturnFlow(N, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, EdgeFunction<V>, N) - Method in class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
propagateUnbalancedReturnFlow(N, D, EdgeFunction<V>, N) - Method in class heros.solver.IDESolver
 
propagationCount - Variable in class heros.solver.IDESolver
 
put(K, V) - Method in class heros.utilities.DefaultValueMap
 
putAll(Map<? extends K, ? extends V>) - Method in class heros.utilities.DefaultValueMap
 

R

read(Field) - Method in class heros.fieldsens.AccessPathHandler
 
ReadFieldConstraint(FieldRef) - Constructor for class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
recordEdges() - Method in interface heros.SolverConfiguration
Returns true if the solver should record the intermediate flow edges created by calling the methods on IFDSTabulationProblem.flowFunctions().
recordEdges() - Method in class heros.template.DefaultIFDSTabulationProblem
 
registerCallback(InterestCallback<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Resolver
 
registerInterestCallback(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.CallEdge
 
remove(Object) - Method in class heros.utilities.DefaultValueMap
 
removeAnyAccess() - Method in class heros.fieldsens.AccessPath
 
removeFirst() - Method in class heros.fieldsens.AccessPath
 
removeFunction(D, N, D) - Method in class heros.solver.JumpFunctions
Removes a jump function.
resetAndInterrupt() - Method in class heros.solver.CountLatch
Resets the counter to zero.
resolve(FlowFunction.Constraint<Field>, InterestCallback<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.Resolver
 
resolve(FlowFunction.Constraint<Field>, InterestCallback<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ResolverTemplate
 
resolve(FlowFunction.Constraint<Field>, InterestCallback<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
resolvedAccessPath - Variable in class heros.fieldsens.ResolverTemplate
 
Resolver<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
Resolver(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.Resolver
 
resolverAtCaller - Variable in class heros.fieldsens.structs.ReturnEdge
 
ResolverTemplate<Field,Fact,Stmt,Method,Incoming> - Class in heros.fieldsens
 
ResolverTemplate(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, AccessPath<Field>, ResolverTemplate<Field, Fact, Stmt, Method, Incoming>, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.ResolverTemplate
 
resolveViaCallSiteResolver(ReturnEdge<Field, Fact, Stmt, Method>, AccessPath<Field>) - Method in class heros.fieldsens.ReturnSiteResolver
 
restoreCallingContext(Fact, Fact) - Method in interface heros.fieldsens.FactMergeHandler
Called on Facts being propagated over a return edge.
restoreContextOnReturnedFact(N, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt) - Method in class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
restoreContextOnReturnedFact(N, D, D) - Method in class heros.solver.IDESolver
This method will be called for each incoming edge and can be used to transfer knowledge from the calling edge to the returning edge, without affecting the summary edges at the callee.
resultAt(N, D) - Method in class heros.solver.IDESolver
Returns the V-type result for the given value at the given statement.
resultsAt(N) - Method in class heros.solver.IDESolver
Returns the resulting environment for the given statement.
returnCache - Variable in class heros.EdgeFunctionCache
 
returnCache - Variable in class heros.FlowFunctionCache
 
ReturnEdge<Field,Fact,Stmt,Method> - Class in heros.fieldsens.structs
 
ReturnEdge(WrappedFact<Field, Fact, Stmt, Method>, Resolver<Field, Fact, Stmt, Method>, AccessPath.Delta<Field>) - Constructor for class heros.fieldsens.structs.ReturnEdge
 
ReturnSiteResolver<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
ReturnSiteResolver(FactMergeHandler<Fact>, PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, Stmt, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.ReturnSiteResolver
 
reverseLookup(N, D) - Method in class heros.solver.JumpFunctions
Returns, for a given target statement and value all associated source values, and for each the associated edge function.
runAndAwaitCompletion() - Method in class heros.fieldsens.Scheduler
 

S

schedule(Runnable) - Method in class heros.fieldsens.Scheduler
 
scheduleEdgeProcessing(PathEdge<N, D>) - Method in class heros.solver.IDESolver
Dispatch the processing of a given edge.
scheduler - Variable in class heros.fieldsens.Context
 
Scheduler - Class in heros.fieldsens
 
Scheduler() - Constructor for class heros.fieldsens.Scheduler
 
scheduleUnbalancedReturnEdgeTo(WrappedFactAtStatement<Field, Fact, Stmt, Method>) - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
second - Variable in class heros.TwoElementSet
 
setCallingContext(T) - Method in interface heros.solver.JoinHandlingNode
 
setCallingContext(D) - Method in interface heros.solver.LinkedNode
Deprecated.
 
setICFG(InterproceduralCFG<Stmt, Method>) - Method in class heros.fieldsens.Debugger.NullDebugger
 
setICFG(InterproceduralCFG<Stmt, Method>) - Method in interface heros.fieldsens.Debugger
 
setO1(T) - Method in class heros.solver.Pair
 
setO2(U) - Method in class heros.solver.Pair
 
setPair(T, U) - Method in class heros.solver.Pair
 
shouldGenerateAccessPath(AccessPath<Field>) - Method in interface heros.fieldsens.ZeroHandler
If reading fields on a fact abstraction directly connected to a Zero fact, this handler is consulted to decide if the field may be read.
SingleDirectionSolver(IDETabulationProblem<N, BiDiIDESolver<N, D, M, V, I>.AbstractionWithSourceStmt, M, V, I>, String) - Constructor for class heros.solver.BiDiIDESolver.SingleDirectionSolver
 
size() - Method in class heros.TwoElementSet
 
size() - Method in class heros.utilities.DefaultValueMap
 
solve() - Method in class heros.solver.BiDiIDESolver
 
solve() - Method in class heros.solver.IDESolver
Runs the solver on the configured problem.
SolverConfiguration - Interface in heros
Configuration parameters for IDESolver.
SootThreadGroup - Class in heros.util
 
SootThreadGroup() - Constructor for class heros.util.SootThreadGroup
 
source - Variable in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
SourceStmtAnnotatedMethodAnalyzer<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
SourceStmtAnnotatedMethodAnalyzer(Method, Context<Field, Fact, Stmt, Method>, SourceStmtAnnotatedMethodAnalyzer.Synchronizer<Stmt>, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.SourceStmtAnnotatedMethodAnalyzer
 
SourceStmtAnnotatedMethodAnalyzer.Synchronizer<Stmt> - Interface in heros.fieldsens
 
stmt - Variable in class heros.fieldsens.structs.FactAtStatement
 
submitInitialSeeds() - Method in class heros.solver.IDESolver
Schedules the processing of initial seeds, initiating the analysis.
SynchronizedBy - Annotation Type in heros
Semantic annotation that the annotated field is synchronized.
synchronizeOnStmt(Stmt, Runnable) - Method in interface heros.fieldsens.SourceStmtAnnotatedMethodAnalyzer.Synchronizer
 

T

target - Variable in class heros.solver.PathEdge
 
ThreadSafe - Annotation Type in heros
This annotation tells that the class was designed to be used by multiple threads, with concurrent updates.
topElement() - Method in interface heros.MeetLattice
Returns the unique top element of this lattice.
toString() - Method in class heros.edgefunc.AllBottom
 
toString() - Method in class heros.edgefunc.AllTop
 
toString() - Method in class heros.edgefunc.EdgeIdentity
 
toString() - Method in class heros.fieldsens.AccessPath.Delta
 
toString() - Method in class heros.fieldsens.AccessPath
 
toString() - Method in class heros.fieldsens.CallEdge
 
toString() - Method in class heros.fieldsens.ControlFlowJoinResolver
 
toString() - Method in class heros.fieldsens.FlowFunction.ConstrainedFact
 
toString() - Method in class heros.fieldsens.FlowFunction.ReadFieldConstraint
 
toString() - Method in class heros.fieldsens.FlowFunction.WriteFieldConstraint
 
toString() - Method in class heros.fieldsens.PerAccessPathMethodAnalyzer
 
toString() - Method in class heros.fieldsens.ReturnSiteResolver
 
toString() - Method in class heros.fieldsens.structs.DeltaConstraint
 
toString() - Method in class heros.fieldsens.structs.ReturnEdge
 
toString() - Method in class heros.fieldsens.structs.WrappedFact
 
toString() - Method in class heros.fieldsens.structs.WrappedFactAtStatement
 
toString() - Method in class heros.fieldsens.ZeroCallEdgeResolver
 
toString() - Method in class heros.solver.BiDiIDESolver.AbstractionWithSourceStmt
 
toString() - Method in class heros.solver.CountLatch
 
toString() - Method in class heros.solver.Pair
 
toString() - Method in class heros.solver.PathEdge
 
toString() - Method in class heros.utilities.JsonDocument
 
Transfer<D> - Class in heros.flowfunc
 
Transfer(D, D) - Constructor for class heros.flowfunc.Transfer
 
TwoElementSet<E> - Class in heros
An unmodifiable set holding exactly two elements.
TwoElementSet(E, E) - Constructor for class heros.TwoElementSet
 
twoElementSet(E, E) - Static method in class heros.TwoElementSet
 

U

unbalancedRetSites - Variable in class heros.solver.IDESolver
 
Union<D> - Class in heros.flowfunc
Represents the union of a set of flow functions.
union(FlowFunction<D>...) - Static method in class heros.flowfunc.Union
 
unlock() - Method in class heros.fieldsens.ResolverTemplate
 
usedAccessPathOfIncResolver - Variable in class heros.fieldsens.structs.ReturnEdge
 

V

v() - Static method in class heros.edgefunc.EdgeIdentity
 
v() - Static method in class heros.flowfunc.Identity
 
v() - Static method in class heros.flowfunc.KillAll
 
val - Variable in class heros.solver.IDESolver
 
valueLattice - Variable in class heros.solver.IDESolver
 
valueOf(String) - Static method in enum heros.fieldsens.AccessPath.PrefixTestResult
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum heros.solver.IFDSSolver.BinaryDomain
Returns the enum constant of this type with the specified name.
values() - Static method in enum heros.fieldsens.AccessPath.PrefixTestResult
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum heros.solver.IFDSSolver.BinaryDomain
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Method in class heros.utilities.DefaultValueMap
 

W

WrappedFact<Field,Fact,Stmt,Method> - Class in heros.fieldsens.structs
 
WrappedFact(Fact, AccessPath<Field>, Resolver<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.structs.WrappedFact
 
WrappedFactAtStatement<Field,Fact,Stmt,Method> - Class in heros.fieldsens.structs
 
WrappedFactAtStatement(Stmt, WrappedFact<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.structs.WrappedFactAtStatement
 
write(StringBuilder, int) - Method in class heros.utilities.JsonArray
 
write(StringBuilder, int) - Method in class heros.utilities.JsonDocument
 
WriteFieldConstraint(FieldRef) - Constructor for class heros.fieldsens.FlowFunction.WriteFieldConstraint
 

Z

ZeroCallEdgeResolver<Field,Fact,Stmt,Method> - Class in heros.fieldsens
 
ZeroCallEdgeResolver(PerAccessPathMethodAnalyzer<Field, Fact, Stmt, Method>, ZeroHandler<Field>, Debugger<Field, Fact, Stmt, Method>) - Constructor for class heros.fieldsens.ZeroCallEdgeResolver
 
ZeroedFlowFunctions<N,D,M> - Class in heros
 
ZeroedFlowFunctions(FlowFunctions<N, D, M>, D) - Constructor for class heros.ZeroedFlowFunctions
 
ZeroedFlowFunctions.ZeroedFlowFunction - Class in heros
 
zeroHandler - Variable in class heros.fieldsens.Context
 
zeroHandler() - Method in interface heros.fieldsens.IFDSTabulationProblem
 
ZeroHandler<Field> - Interface in heros.fieldsens
 
zeroValue - Variable in class heros.fieldsens.Context
 
zeroValue() - Method in interface heros.fieldsens.IFDSTabulationProblem
This must be a data-flow fact of type D, but must not be part of the domain of data-flow facts.
zeroValue() - Method in interface heros.IFDSTabulationProblem
This must be a data-flow fact of type D, but must not be part of the domain of data-flow facts.
zeroValue - Variable in class heros.solver.IDESolver
 
zeroValue() - Method in class heros.template.DefaultIFDSTabulationProblem
 
zeroValue - Variable in class heros.ZeroedFlowFunctions
 
A B C D E F G H I J K L M N O P R S T U V W Z 
Skip navigation links

Copyright © 2021 Secure Software Engineering Group - University of Paderborn. All rights reserved.