Package sofya.graphs.cfg

Interface Summary
CFGTransformer A CFG transformer is used to apply a transformation (or extension) to a control flow graph during the last phase of CFG construction.
 

Class Summary
Block A block represents a basic block of a control flow graph.
BranchFlowProcessor The branch flow processor is a transformer which determines the conditional and decision based control flow in the graph and annotates the edges in the graph with numeric IDs that identify those branch dominated paths in the control flow graph.
CFEdge A control flow edge is an edge in a Sofya control flow graph.
CFEdge.BranchID A branch ID associated with an edge in a CFG.
CFG Class which represents the basic block control flow graph for a given method.
CFGBuilder This class constructs and caches intraprocedural control flow graphs for Java methods.
CFGCache Disk backed soft memory cache for control flow graphs (CFGs) which uses a least recently used (LRU) policy to cache graphs to disk.
CFHandler The CFHandler provides routines to manipulate Sofya control flow (.cf) files and to form control flow graph (CFG) objects.
jCFG Front end to the CFG builder.
MapHandler The MapHandler provides routines to manipulate Sofya map (.map) files and to form control flow graph (CFG) objects.
 

Exception Summary
CFGBuilder.LoadException Exception which indicates that an error has occurred during an attempt to load and parse a Java class file for graph construction.
TransformationException Exception which is raised by a CFGTransformer if it cannot successfully apply its transformation for some reason.
TypeInferenceException Exception thrown to indicate that a failure has occurred in the type inferencing module.