chord.analyses.alias
Interface ICICG

All Superinterfaces:
IGraph<joeq.Class.jq_Method>, ILabeledGraph<joeq.Class.jq_Method,joeq.Compiler.Quad.Quad>, java.io.Serializable
All Known Implementing Classes:
CICG

public interface ICICG
extends ILabeledGraph<joeq.Class.jq_Method,joeq.Compiler.Quad.Quad>

Specification of a context-insensitive call graph.

Author:
Mayur Naik

Method Summary
 boolean calls(joeq.Compiler.Quad.Quad invk, joeq.Class.jq_Method meth)
          Determines whether a given call site may call a given method.
 java.util.Set<joeq.Compiler.Quad.Quad> getCallers(joeq.Class.jq_Method meth)
          Provides the set of all call sites that may call a given method.
 java.util.Set<joeq.Class.jq_Method> getTargets(joeq.Compiler.Quad.Quad invk)
          Provides the set of all methods that may be called by a given call site.
 
Methods inherited from interface chord.util.graph.ILabeledGraph
getLabels
 
Methods inherited from interface chord.util.graph.IGraph
getAllPathsBuilder, getBackEdges, getNodeMap, getNodes, getNodesInCycles, getNodesInRPO, getPreds, getRoots, getShortestPathsBuilder, getSimpleCycles, getSuccs, getTopSortedSCCs, hasCycles, hasEdge, hasNode, hasRoot, isConnected, numNodes, numPreds, numRoots, numSuccs
 

Method Detail

getTargets

java.util.Set<joeq.Class.jq_Method> getTargets(joeq.Compiler.Quad.Quad invk)
Provides the set of all methods that may be called by a given call site.

Parameters:
invk - A call site.
Returns:
The set of all methods that may be called by call site invk.

getCallers

java.util.Set<joeq.Compiler.Quad.Quad> getCallers(joeq.Class.jq_Method meth)
Provides the set of all call sites that may call a given method.

Parameters:
meth - A method.
Returns:
The set of all call sites that may call method meth.

calls

boolean calls(joeq.Compiler.Quad.Quad invk,
              joeq.Class.jq_Method meth)
Determines whether a given call site may call a given method.

Parameters:
invk - A call site.
meth - A method.
Returns:
true iff call site invk may call method meth.