Scientific Visualization and Computer Graphics

Scientific Visualization and Computer Graphics > BI > FSE > RUG * Print * Search


The Visual Code Navigator

The Visual Code Navigator (VCN) is a set of combined visualization tools for the investigation of large source code repositories. The VCN consists of a central data acquisition module that reads data from Subversion and CVS software repositories and several visualization modules that enable users to investigate various aspects of the code base.

The Visual Code Navigator consists currently of the following tools:

CVSscan: Visualization of Code Evolution (file level)

CVSscan is a tool aimed at developers involved in maintenance projects. In such projects, maintenance is often performed by a different team than the one who did the initial development. Hence, the unwritten knowledge of the initial development team is lost. CVSscan helps developers to recover part of this information. It enables them to build correlations between the structure of a source code file and its evolution in time. The information about code evolution extracted from CVS repositories, and is visualized using a line based display similar to the SeeSoft tool. A more detailed description of CVSscan is available here.

Here is a binary installer for CVSscan (Windows)

CVSgrab: Visualization of Code Evolution (project level)

CVSgrab is a tool aimed at project managers and architects involved in maintenance prohects. CVSgrab allows users to visualize the evolution of an entire project, stored in a repository, at the file level. It supports queries related to the evolution of entire files or directories, such as showing the authors responsible for the main modifications within these files; files that evolved together; and various static metrics related to maintainability such as file size and complexity.

Here is a binary installer for CVSgrab (Windows)

CSV: Code Structure Visualization

CSV is a tool aimed at developers in C and C++ projects. CSV looks like a classical code editor. However, the editor is enhanced with syntax highlighting in the true sense of the word: Any desired syntactic structure, such as a function, iteration statement, return statement, class declaration, or even a macro, can be highlighted using a given color. Structure nesting is emphasized using shaded textures. Thousands of lines of code can be shown on a single screen using a SeeSoft-like dense pixel technique. Code structure is automatically mined using a modified gcc compiler.

Here is a binary installer for CSV(Windows).

Additional information is available in the MSc thesis of G. Lommerse.

DreamCode: Interface Visualization

DreamCode is a tool aimed at developers in C and C++ projects. DreamCode uses a treemap layout to show the structure of a given set of C/C++ headers. Nesting relations such as directories, files, namespaces, classes, methods, up to method parameters, are shown using the treemap. Colors show the different syntactic construct types (such as yellow for functions and red for typedefs in the image below). Treemap cells are scaled to reflect the cumulated sizeof for the function signatures, thereby giving an indication of the call cost. The treemap is rendered using cushion treemaps, hence the tool's name.

Here is a binary installer for DreamCode(Windows)