Package | Description |
---|---|
heros | |
heros.edgefunc | |
heros.solver | |
heros.template |
Modifier and Type | Field and Description |
---|---|
protected com.google.common.cache.LoadingCache<heros.EdgeFunctionCache.CallKey,EdgeFunction<V>> |
EdgeFunctionCache.callCache |
protected com.google.common.cache.LoadingCache<heros.EdgeFunctionCache.NDNDKey,EdgeFunction<V>> |
EdgeFunctionCache.callToReturnCache |
protected com.google.common.cache.LoadingCache<heros.EdgeFunctionCache.NDNDKey,EdgeFunction<V>> |
EdgeFunctionCache.normalCache |
protected com.google.common.cache.LoadingCache<heros.EdgeFunctionCache.ReturnKey,EdgeFunction<V>> |
EdgeFunctionCache.returnCache |
Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
IDETabulationProblem.allTopFunction()
Returns a function mapping everything to top.
|
EdgeFunction<V> |
EdgeFunction.composeWith(EdgeFunction<V> secondFunction)
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.
|
EdgeFunction<V> |
EdgeFunctions.getCallEdgeFunction(N callStmt,
D srcNode,
M destinationMethod,
D destNode)
Returns the function that computes how the V-typed value changes when
being propagated along a method call.
|
EdgeFunction<V> |
EdgeFunctionCache.getCallEdgeFunction(N callStmt,
D srcNode,
M destinationMethod,
D destNode) |
EdgeFunction<V> |
EdgeFunctions.getCallToReturnEdgeFunction(N callSite,
D callNode,
N returnSite,
D returnSideNode)
Returns the function that computes how the V-typed value changes when
being propagated from a method call to one of its intraprocedural
successor.
|
EdgeFunction<V> |
EdgeFunctionCache.getCallToReturnEdgeFunction(N callSite,
D callNode,
N returnSite,
D returnSideNode) |
EdgeFunction<V> |
EdgeFunctions.getNormalEdgeFunction(N curr,
D currNode,
N succ,
D succNode)
Returns the function that computes how the V-typed value changes when
being propagated from srcNode at statement src to tgtNode at statement
tgt.
|
EdgeFunction<V> |
EdgeFunctionCache.getNormalEdgeFunction(N curr,
D currNode,
N succ,
D succNode) |
EdgeFunction<V> |
EdgeFunctions.getReturnEdgeFunction(N callSite,
M calleeMethod,
N exitStmt,
D exitNode,
N returnSite,
D retNode)
Returns the function that computes how the V-typed value changes when
being propagated along a method exit (return or throw).
|
EdgeFunction<V> |
EdgeFunctionCache.getReturnEdgeFunction(N callSite,
M calleeMethod,
N exitStmt,
D exitNode,
N returnSite,
D retNode) |
EdgeFunction<V> |
EdgeFunction.meetWith(EdgeFunction<V> otherFunction)
Returns a function that represents that (element-wise) meet
of this function with otherFunction.
|
Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
EdgeFunction.composeWith(EdgeFunction<V> secondFunction)
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.
|
boolean |
EdgeFunction.equalTo(EdgeFunction<V> other)
Returns true is this function represents exactly the same
source to target mapping as other.
|
EdgeFunction<V> |
EdgeFunction.meetWith(EdgeFunction<V> otherFunction)
Returns a function that represents that (element-wise) meet
of this function with otherFunction.
|
Modifier and Type | Class and Description |
---|---|
class |
AllBottom<V>
This class implements an edge function that maps every input to the stated bottom element.
|
class |
AllTop<V>
This is an internal class implementing an edge function for use in
IFDSSolver . |
class |
EdgeIdentity<V>
The identity function on graph edges
|
Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
AllBottom.composeWith(EdgeFunction<V> secondFunction) |
EdgeFunction<V> |
AllTop.composeWith(EdgeFunction<V> secondFunction) |
EdgeFunction<V> |
EdgeIdentity.composeWith(EdgeFunction<V> secondFunction) |
EdgeFunction<V> |
AllBottom.meetWith(EdgeFunction<V> otherFunction) |
EdgeFunction<V> |
AllTop.meetWith(EdgeFunction<V> otherFunction) |
EdgeFunction<V> |
EdgeIdentity.meetWith(EdgeFunction<V> otherFunction) |
Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
AllBottom.composeWith(EdgeFunction<V> secondFunction) |
EdgeFunction<V> |
AllTop.composeWith(EdgeFunction<V> secondFunction) |
EdgeFunction<V> |
EdgeIdentity.composeWith(EdgeFunction<V> secondFunction) |
boolean |
AllBottom.equalTo(EdgeFunction<V> other) |
boolean |
AllTop.equalTo(EdgeFunction<V> other) |
boolean |
EdgeIdentity.equalTo(EdgeFunction<V> other) |
EdgeFunction<V> |
AllBottom.meetWith(EdgeFunction<V> otherFunction) |
EdgeFunction<V> |
AllTop.meetWith(EdgeFunction<V> otherFunction) |
EdgeFunction<V> |
EdgeIdentity.meetWith(EdgeFunction<V> otherFunction) |
Modifier and Type | Field and Description |
---|---|
protected EdgeFunction<V> |
IDESolver.allTop |
Modifier and Type | Field and Description |
---|---|
protected com.google.common.collect.Table<N,D,com.google.common.collect.Table<N,D,EdgeFunction<V>>> |
IDESolver.endSummary |
protected com.google.common.collect.Table<D,N,Map<D,EdgeFunction<L>>> |
JumpFunctions.nonEmptyForwardLookup |
protected Map<N,com.google.common.collect.Table<D,D,EdgeFunction<L>>> |
JumpFunctions.nonEmptyLookupByTargetNode |
protected com.google.common.collect.Table<N,D,Map<D,EdgeFunction<L>>> |
JumpFunctions.nonEmptyReverseLookup |
Modifier and Type | Method and Description |
---|---|
protected Set<com.google.common.collect.Table.Cell<N,D,EdgeFunction<V>>> |
IDESolver.endSummary(N sP,
D d3) |
Map<D,EdgeFunction<L>> |
JumpFunctions.forwardLookup(D sourceVal,
N target)
Returns, for a given source value and target statement all
associated target values, and for each the associated edge function.
|
Set<com.google.common.collect.Table.Cell<D,D,EdgeFunction<L>>> |
JumpFunctions.lookupByTarget(N target)
Returns for a given target statement all jump function records with this target.
|
Map<D,EdgeFunction<L>> |
JumpFunctions.reverseLookup(N target,
D targetVal)
Returns, for a given target statement and value all associated
source values, and for each the associated edge function.
|
Modifier and Type | Method and Description |
---|---|
void |
JumpFunctions.addFunction(D sourceVal,
N target,
D targetVal,
EdgeFunction<L> function)
Records a jump function.
|
protected void |
BiDiIDESolver.SingleDirectionSolver.propagate(BiDiIDESolver.AbstractionWithSourceStmt sourceVal,
N target,
BiDiIDESolver.AbstractionWithSourceStmt targetVal,
EdgeFunction<V> f,
N relatedCallSite,
boolean isUnbalancedReturn) |
protected void |
JoinHandlingNodesIFDSSolver.propagate(D sourceVal,
N target,
D targetVal,
EdgeFunction<IFDSSolver.BinaryDomain> f,
N relatedCallSite,
boolean isUnbalancedReturn) |
protected void |
PathTrackingIFDSSolver.propagate(D sourceVal,
N target,
D targetVal,
EdgeFunction<IFDSSolver.BinaryDomain> f,
N relatedCallSite,
boolean isUnbalancedReturn)
Deprecated.
|
protected void |
IDESolver.propagate(D sourceVal,
N target,
D targetVal,
EdgeFunction<V> f,
N relatedCallSite,
boolean isUnbalancedReturn)
Propagates the flow further down the exploded super graph, merging any edge function that might
already have been computed for targetVal at target.
|
protected void |
BiDiIDESolver.SingleDirectionSolver.propagateUnbalancedReturnFlow(N retSiteC,
BiDiIDESolver.AbstractionWithSourceStmt targetVal,
EdgeFunction<V> edgeFunction,
N relatedCallSite) |
protected void |
IDESolver.propagateUnbalancedReturnFlow(N retSiteC,
D targetVal,
EdgeFunction<V> edgeFunction,
N relatedCallSite) |
Constructor and Description |
---|
JumpFunctions(EdgeFunction<L> allTop) |
Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
DefaultIDETabulationProblem.allTopFunction() |
protected abstract EdgeFunction<V> |
DefaultIDETabulationProblem.createAllTopFunction() |
Copyright © 2021 Secure Software Engineering Group - University of Paderborn. All rights reserved.