CCVisu: A Tool for Visual Graph Clustering
and General Force-Directed Graph Layout
Software Systems Lab
Univerisity of Passau, Bavaria, Germany
Objectives
- General force-directed graph layout.
The
tool CCVisu is a light-weight tool for force-directed graph layout. The
tool reads the input graph from a file in RSF (Relational Standard Format),
which is a standard text format for relations. The layout of the graph
is computed using standard techniques from force-directed layout. The
tool supports several energy models, which can be selected by setting
command line parameters. The weighted edge-repulsion LinLog energy model (default) is good for producing layouts that fulfill certain clustering criteria. The Fruchterman Reingold energy modelis
good for producing layouts that fulfill certain esthetic criteria
like uniform edge length. The minimizer is based on the
Barnes-Hut-Algorithm. CCVisu saves the resulting layout in the file
formats SVG, VRML, the standard text format for relations RSF, or it displays the layout on the
screen.
- Software-Structure Extraction.
Structure analysis requires a preprocessing tool, called fact-extractor,
which extracts from a software system the structure, i.e., abstract
dependency graphs such as call graphs, inheritance graphs, and
containment graphs. CCVisu
implements two kinds of fact-extractors: the co-change graph extractor
for version history and the Doxygen extractor for structure and
dependency information (cf. CCVisu input formats).
- Software Decompostition.
Clustering
layouts of software systems combine two important aspects: they reveal
groups of related artifacts of the software system, and they produce a
visualization of the results that is easy to understand. The energy model that produces clustering layouts decomposes the software graph into cohesive subsystems, and separates loosly coupled parts of the system. The tool is designed as a framework, easy to use, and easy to
integrate into reengineering environments; several formats for data
interchange are already implemented.
- Co-Change Visualization.
Co-change
visualization is a lightweight method for computing clustering layouts
of software systems for which the change history is available. The tool
implementation CCVisu extracts the co-change graph from a CVS or SVN version
repository, and computes a clustering layout based on energy models, which positions the artifacts of the
software system in a two- or three-dimensional space. Two artifacts are
positioned closed together in the layout if they were often changed
together.
CCVisu is free software (LGPL).
New: Project page available at Google Code: http://ccvisu.googlecode.com/
(includes source code repository, downloads, documentation)
CCVisu Introduction and Reference Manual (full document as PDF or HTML, table of contents, example files)
Getting started (short tutorial)
Download Java
sources, jar file, and example data
FSF Free Software Directory: http://directory.fsf.org/ccvisu.html
Publications
Full references and electronic versions of the
papers are
available at our Publications
page.
Author: Dirk
Beyer, my project pages: BLAST, CCVisu, Chic, CrocoPat, CSIsat, Rabbit