Previous Up Next

1  Getting Started

CCVisu is a lightweight tool that reads and writes data using simple text formats (cf. pipes-and-filters architecture). It is written in Java, and should be usable on all platforms. The tool is designed as a framework, easy to use, and easy to integrate into existing re-engineering environments; several formats for data interchange are already implemented. CCVisu provides a command-line interface as well as a GUI. The graph layout is currently provided in VRML format, in SVG format, in a standard text format, or directly drawn on the screen.

1.1  Download and Installation

Download the current release from the CCVisu web page at Start the program from the command line using java -jar CCVisu-3.0.jar or via double-click on the jar file in a file browser. If no parameters are given, a GUI is started that asks for the parameter. Option -h prints a list of available options. Alternatively, pull the sources from the repository or unpack the zip archive, and compile the Java sources; the package contains a Makefile. It is a good idea to set the CLASSPATH variable of your shell to the directory bin, which contains the Java byte-code files after successful compilation. If you do not want to set your CLASSPATH variable globally, you can use the file (generated by make setup) to set the variables in the current shell: source This also sets the PATH variable to the CCVisu directory, to enable the use of the shell wrappers and to abbreviate the command line a bit (invocation of the Java virtual machine).

1.2  Usage and Command-Line Options

Usage: java ccvisu.CCVisu [OPTION]...                                                      
Compute a layout for a given (co-change) graph (or convert).                               
General options:                                                                           
   -h  --help        display this help message and exit (current value: true).             
   -v  --version     print version information and exit (current value: false).            
   -q  --quiet       quiet mode (current value: false).                                    
   -w  --warnings    enable warnings (current value: false).
   -verbose          verbose mode (current value: false).
   -a  --assertCheck check if assertions are enabled (current value: false).
   -g  --guiMode     GUI mode (provides a window to set options) (current value: false).
   -inputName <str>  read input data from given file <str> (current value: 'stdin').
   -outputName <str> write output data to given file <str> (current value: 'stdout').
   -inFormat FORMAT  read input data in format FORMAT (default: RSF, see below).
   -outFormat FORMAT write output data in format FORMAT (default: DISP, see below).

Layouting options:
   -dim <int>        number of dimensions of the layout, up to 3 (current value: 2).
   -iter <int>       number of iterations of the minimizer;
                     choose appropriate values by observing the convergence of energy (current value: 100).
   -initLayout <str> use layout (LAY format) from file <str> as initial layout (current value: '').
   -fixedInitPos     fix positions for vertices from initial layout given by -initLayout (current value: false).

Energy model options:
   -attrExp <int>    exponent for the distance in the attraction term
                     (default: 1).
   -repuExp <int>    specifies that <int> is applied as exponent to the distance in the repulsion term
                     (if <int> != 0) or that log is applied to the distance (if <int> = 0) (default: 0).
   -vertRepu         use vertex repulsion instead of edge repulsion
                     (default: edge repulsion).
   -noWeight         use unweighted model (default: weighted).
   -grav <float>     gravitation factor for the Barnes-Hut-procedure
                     (default: 0.001).

DOX reader option:
   -relSelect <rel>  selects a relation for visualization
                     (default: REFFILE).

CVS reader options:
   -timeWindow <int> time window for change transaction recovery, in milli-seconds (current value: 180000).
   -slidingTW        use sliding time windows instead of fixed time window, i.e., the time window 'slides':
                     a new commit node is created if the time difference between two commited files is bigger
                     than the time window (current value: false).

Layout writer options:
   -hideSource       draw only vertices that are not source of an edge.
                     In co-change graphs, all change-transaction vertices
                     are source vertices (current value: false).
   -minVert <float>  size of the smallest vertex disc; diameter (current value: 2.0).
   -fontSize <int>   font size of vertex annotations (current value: 14).
   -backColor COLOR  background color (default: WHITE).
                     Colors: BLACK, GRAY, LIGHTGRAY, WHITE.
   -noBlackCircle    no black circle around each vertex (default: with).
   -ringColor <str>  Color of the ring around the vertex discs (current value: 'GRAY').
   -depDegreeColor   Color of the vertex disc determined by dep-degree (current value: false).
   -showEdges        show the edges of the graph; available only for CVS and RFS inFomat (current value: false).
   -scalePos <float> scaling factor for the layout to adjust; VRML and SVG only (current value: 1.0).
   -noAnim           layout not shown while minimizer is still improving it
                     (default: show).
   -annotAll         annotate each vertex with its name (current value: false).
   -annotNone        annotate no vertex (current value: false).
   -shortNames       shorten vertex labels (current value: false).
   -dispFilter       show extra controls for display filter (current value: false).
   -initGroups <str> assign vertices to groups (and colors) according to file <str>
                     (cf. file marker_script.example.txt as example) (current value: '').
   -openURL          the vertex names can be considered as URL and opened in a web broswer.
                     This option used with DISP output requires to hold CTRL KEY while clicking (current value: false).

DISP specific option
   -browser <str>    browser <str> will be invoked; if empty, CCVisu will try to guess (current value: '').

Input Formats:
   RSF               Graph (relation) in Relational Standard Format (RSF).
   LAY               Graph layout in textual format.
   CVS               CVS log format (produce with 'cvs log -Nb').
   SVN               SVN log format (produce with 'svn log -v --xml').
   DOX               Doxygen XML dump format (produce with 'doxygen').
   ODS               ODS Spreadsheet.
   AUX               Graph is passed as data structure from a third-party client.
Output Formats:
   RSF               Graph (relation) in Relational Standard Format (RSF).
   LAY               Graph layout in textual format.
   SVG               Graph layout in SVG format.
   VRML              Graph layout in VRML format.
   GRAPHML           Graph in GraphML format.
   DISP              Display graph layout on screen.
© Dirk Beyer
Previous Up Next