The oovcde project searches subdirectories and parses C++ code to automatically create object oriented static class, component, zone, portion, sequence, and include diagrams, and allows easy navigation between diagrams and code.

The following shows a zone diagram where each point in a circle is a class. The diagram shows hundreds of classes and their relations to each other. By applying filters, very large projects can be analyzed.

Many of the created diagrams are similar to UML, but have optional additional features named Oov Symbols. The diagrams can be edited manually and saved as .SVG files.

The following shows a class diagram that shows inheritance, aggregation, and shows classes that are used internal to methods or as method parameters.

The following shows a portion diagram that shows the composition of a class. It shows which methods use which member variables.

The following shows a sequence diagram that shows guard conditions and method calls in classes. The guard condition nesting is shown along the lifelines.

Oovcde has a multithreaded build system that uses dependency information from the analysis for easy setup, and also supports cross compiling.

The following shows the build settings dialog.

There are other documents including Component diagrams and Include diagrams.

The code editor has syntax highlighting, code completion, and a debugger.

The following shows the code editor.

Complexity measurements are provided for each method of a class.

The following shows the complexity analysis results.

Code test coverage instruments the code and produces coverage information.

The following shows the output from test coverage, and shows the number percentage of the file that was covered. In addition, it is possible to view how many times each block of code was run.

Duplicate code is found and listed.

The following shows the output from duplicate code detection and shows the number of lines that match.

There are other statistics displayed as well.
For more information, see the User Guide, and for an example of design documents that can be created with Oovcde, see the Oovcde Design document.

Project Goals


Oovcde is available in binary form from SourceForge or from Github. To build from source, the easiest way is to use CMake by following the instructions in the Github download section.