Delta Graphs

Visual analysis of the structural differences between versions is quite similar to Imagix 4D's normal graphical analysis, sharing many of the advanced features. Graphical querying includes the select, traverse, and filter functions. And the Analyzer tab includes specific queries for creating relevent Delta Graphs.

Views

The Delta Graphs support the subset of graphical views focusing on the function calls and variable usage that constitute the control flow of the software. These include the direct function call and variable use views, as well as abstractions of this control flow at the class and files levels. As you use the Delta Graphs to explore differences in the control flow between your current project and the revision, you're able to switch between views just as you do in normal graphical analysis.

The Delta Graphs are fully integrated with the rest of Imagix 4D. For the symbols that exist in the current project, you can shift to any of the normal views or other displays in order to study different aspects of a symbol or set of symbols.

Graph Appearance

The layout of the Delta Graphs also works the same as that of standard graphs. The difference is that the graph can contain not only symbols from the current project, but also symbols that exist only in the revision. For relationships, the layout reflects all relationships, existing in either version, between the visible symbols.

The Delta Graphs use color to indicate the differences between the current project and the revision. Green indicates symbols or relationships that exist only in the current project. Red is used for those symbols and relationships that exist only in the revision.

Symbols that exist in both are colored blue, while relationships that exist in both are drawn in grey. To help with identification of changes, you're able to control which relationships to display in the graph.

Subsystem Architecture Diagrams

Just as they do for analyzing unfamiliar code, Subsystem Architecture diagrams offer the best high level starting point for analyzing differences between versions. The Subsystem Architecture diagrams are defined through the wizard just as they are individual projects, and behave the same.

Color is again used to indicate whether symbols and relationships exist in the current project, the revision, or both. And again you can control which relationships are displayed.

Because Delta Graphs are dependent upon the revision as well as the current project, defined architectures are not stored between sessions.