public class VirtualEdgesSummaries extends Object
OnFlyCallGraphBuilder for finding functions at which to place virtual callgraph edges.
Function signatures are configurable in SUMMARIESFILE.| Modifier and Type | Class and Description |
|---|---|
static class |
VirtualEdgesSummaries.AbstractParameterMapping |
static class |
VirtualEdgesSummaries.DeferredVirtualEdgeTarget
A deferred edge target models cases in which a call does not immediately invoke the callback, but instead returns an
object on which a callback an be invoked later.
|
static class |
VirtualEdgesSummaries.DirectParameterMapping |
static class |
VirtualEdgesSummaries.DirectTarget |
static class |
VirtualEdgesSummaries.IndirectTarget |
static class |
VirtualEdgesSummaries.InstanceinvokeSource |
static class |
VirtualEdgesSummaries.InvocationVirtualEdgeTarget
The target of a PAG or callgraph edge that corresponds to the immediate execution of a method.
|
static class |
VirtualEdgesSummaries.StaticinvokeSource |
static class |
VirtualEdgesSummaries.VirtualEdge |
static class |
VirtualEdgesSummaries.VirtualEdgeSource |
static class |
VirtualEdgesSummaries.VirtualEdgeTarget
Abstract base class for all virtual edge targets.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
BASE_INDEX |
protected HashMap<MethodSubSignature,VirtualEdgesSummaries.VirtualEdge> |
instanceinvokeEdges |
protected HashMap<String,VirtualEdgesSummaries.VirtualEdge> |
staticinvokeEdges |
| Constructor and Description |
|---|
VirtualEdgesSummaries()
Creates a default instance of the
VirtualEdgesSummaries and loads the summaries from the
virtualedges.xml that comes with Soot. |
VirtualEdgesSummaries(Collection<VirtualEdgesSummaries.VirtualEdge> edges) |
VirtualEdgesSummaries(File summariesFile)
Creates a new instance of the
VirtualEdgesSummaries class and loads the summaries from the given input file |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addInstanceInvoke(VirtualEdgesSummaries.VirtualEdge edg,
MethodSubSignature subsig) |
Set<VirtualEdgesSummaries.VirtualEdge> |
getAllVirtualEdges() |
VirtualEdgesSummaries.VirtualEdge |
getVirtualEdgesMatchingFunction(String signature) |
VirtualEdgesSummaries.VirtualEdge |
getVirtualEdgesMatchingSubSig(MethodSubSignature subsig) |
boolean |
isEmpty() |
protected void |
loadSummaries(InputStream in)
Loads the edge summaries from the given stream
|
Document |
toXMLDocument() |
public static final int BASE_INDEX
protected final HashMap<MethodSubSignature,VirtualEdgesSummaries.VirtualEdge> instanceinvokeEdges
protected final HashMap<String,VirtualEdgesSummaries.VirtualEdge> staticinvokeEdges
public VirtualEdgesSummaries()
VirtualEdgesSummaries and loads the summaries from the
virtualedges.xml that comes with Soot.public VirtualEdgesSummaries(File summariesFile)
VirtualEdgesSummaries class and loads the summaries from the given input filesummariesFile - The file from which to load the virtual edge summariespublic VirtualEdgesSummaries(Collection<VirtualEdgesSummaries.VirtualEdge> edges)
protected void loadSummaries(InputStream in) throws SAXException, IOException, ParserConfigurationException
in - The InputStream from which to load the summariesSAXExceptionIOExceptionParserConfigurationExceptionprotected void addInstanceInvoke(VirtualEdgesSummaries.VirtualEdge edg, MethodSubSignature subsig)
public Document toXMLDocument() throws ParserConfigurationException
ParserConfigurationExceptionpublic VirtualEdgesSummaries.VirtualEdge getVirtualEdgesMatchingSubSig(MethodSubSignature subsig)
public VirtualEdgesSummaries.VirtualEdge getVirtualEdgesMatchingFunction(String signature)
public boolean isEmpty()
public Set<VirtualEdgesSummaries.VirtualEdge> getAllVirtualEdges()
Copyright © 2024 Soot OSS. All rights reserved.