Control Flow Graph Factory 3.5

control flow graph factory Control Flow Graph Factory is an Eclipse plugin which generates control flow graphs from java bytecode, edit them and export to GraphXML, DOT or several image formats.

Features

  • Automatic generation of several types of control flow graphs from Java bytecode:
  • Editing of control flow graphs
    • Move, create, delete, rename, ... nodes
    • Multiple util functions to align nodes horizontally or vertically
    • Util functions to change the width or height of several elements
  • Multiple algorithms for automatic layout (serial, hierarchical)
  • Export in Dr. Garbage format, GraphXML, GraphML, DOT format or as an image (JPEG, BMP, ICO, PNG)
  • Printing support
  • Customization through Preferences

Control Flow Graph Examples

See our control flow graph gallery for some more examples.

Export to Graphviz in DOT format

Graphviz (short for Graph Visualization Software) is a program for drawing graphs specified in DOT language scripts.
Control Flow Graph Factory exports graphs with or without visual information (node color and shape) and geometry information (node size). For more details see DOT Export Examples. The exported graphs can be modified via simple DOT Editor directly in the eclipse workspace.

Export as GraphXML

GraphXML is an XML-based graph description language. It covers not only the pure, mathematical description of a graph, but also its visual aspects. Read more about GraphXML.

With Control Flow Graph Factory the graphs can be exported with or without visual information (node color and shape) and geometry information (node size and position). For more details see GraphXML Export Examples.

Tutorial

Customization through Preferences

The behavior of the Control Flow Graph Factory can be adapted by different settings.

Just go to

Window > Preferences > Dr. Garbage > Control Flow Graph Factory

and adjust the preferences to suit your needs:

  • Choose if the nodes shall be filled with gradients (enabled) or with a single colors (disabled).
  • Generate Graph Options

    Enable/ disable the generation of virtual objects:

    • Create virtual START node
    • Create virtual EXIT node
    • Create virtual back edge from START to EXIT node
    • Create the line number table as a comment

    Enable/ disable the generation of long descriptions instead of line numbers for basic block graphs and sourcecode graphs:

    • Generate basic block long description
    • Generate sourcecode block long description