|
CCCC Software Metrics Report
generated Wed Dec 17 07:42:03 2025 | |
|---|---|
Project Summary |
Summary table of high level measures summed over all files processed in the current run. |
Procedural Metrics Summary |
Table of procedural measures (i.e. lines of code, lines of comment, McCabe's cyclomatic complexity summed over each module. |
Object Oriented Design |
Table of four of the 6 metrics proposed by Chidamber and Kemerer in their various papers on 'a metrics suite for object oriented design'. |
Structural Metrics Summary |
Structural metrics based on the relationships of each module with others. Includes fan-out (i.e. number of other modules the current module uses), fan-in (number of other modules which use the current module), and the Information Flow measure suggested by Henry and Kafura, which combines these to give a measure of coupling for the module. |
Other Extents |
Lexical counts for parts of submitted source files which the analyser was unable to assign to a module. Each record in this table relates to either a part of the code which triggered a parse failure, or to the residual lexical counts relating to parts of a file not associated with a specific module. |
About CCCC |
A description of the CCCC program. |
| Metric | Tag | Overall | Per Module |
|---|---|---|---|
| Number of modules | NOM | 24 | |
| Lines of Code | LOC | 636 | 26.500 |
| McCabe's Cyclomatic Number | MVG | 46 | 1.917 |
| Lines of Comment | COM | 57 | 2.375 |
| LOC/COM | L_C | 11.158 | |
| MVG/COM | M_C | 0.807 | |
| Information Flow measure ( inclusive ) | IF4 | 36 | 1.500 |
| Information Flow measure ( visible ) | IF4v | 36 | 1.500 |
| Information Flow measure ( concrete ) | IF4c | 0 | 0.000 |
| Lines of Code rejected by parser | REJ | 51 |
| Module Name | LOC | MVG | COM | L_C | M_C |
|---|---|---|---|---|---|
| BaseGame | 0 | 0 | 0 | ------ | ------ |
| Camera | 0 | 0 | 0 | ------ | ------ |
| Editor | 5 | 0 | 0 | ------ | ------ |
| Entity | 0 | 0 | 0 | ------ | ------ |
| Game | 33 | 0 | 0 | ****** | ------ |
| GameController | 20 | 1 | 0 | ****** | ------ |
| GameRenderer | 174 | 15 | 11 | 15.818 | 1.364 |
| GameState | 61 | 4 | 0 | ****** | ------ |
| InputSource | 0 | 0 | 0 | ------ | ------ |
| Portal | 90 | 10 | 27 | 3.333 | 0.370 |
| PortalSystem | 67 | 8 | 5 | 13.400 | 1.600 |
| Quaternion | 0 | 0 | 0 | ------ | ------ |
| RenderContext | 0 | 0 | 0 | ------ | ------ |
| Renderer | 0 | 0 | 0 | ------ | ------ |
| Side | 0 | 0 | 0 | ------ | ------ |
| TerminalRenderer | 32 | 0 | 0 | ****** | ------ |
| UiRenderer | 43 | 0 | 2 | 21.500 | ------ |
| Vector3f | 0 | 0 | 0 | ------ | ------ |
| Window | 0 | 0 | 0 | ------ | ------ |
| World | 3 | 0 | 0 | ------ | ------ |
| WorldHelper | 40 | 6 | 2 | 20.000 | 3.000 |
| anonymous | 17 | 2 | 0 | ------ | ------ |
| string | 0 | 0 | 0 | ------ | ------ |
| unique_ptr | 0 | 0 | 0 | ------ | ------ |
| Module Name | WMC1 | WMCv | DIT | NOC | CBO |
|---|---|---|---|---|---|
| BaseGame | 0 | 0 | 0 | 0 | 1 |
| Camera | 0 | 0 | 0 | 0 | 1 |
| Editor | 2 | 0 | 0 | 0 | 2 |
| Entity | 0 | 0 | 0 | 0 | 2 |
| Game | 7 | 0 | 0 | 0 | 1 |
| GameController | 3 | 0 | 0 | 0 | 1 |
| GameRenderer | 9 | 0 | 0 | 0 | 5 |
| GameState | 7 | 0 | 0 | 0 | 1 |
| InputSource | 0 | 0 | 0 | 0 | 1 |
| Portal | 6 | 0 | 0 | 0 | 5 |
| PortalSystem | 3 | 0 | 0 | 0 | 1 |
| Quaternion | 0 | 0 | 0 | 0 | 1 |
| RenderContext | 0 | 0 | 0 | 0 | 2 |
| Renderer | 0 | 0 | 0 | 0 | 2 |
| Side | 0 | 0 | 0 | 0 | 1 |
| TerminalRenderer | 1 | 0 | 0 | 0 | 2 |
| UiRenderer | 3 | 0 | 0 | 0 | 4 |
| Vector3f | 0 | 0 | 0 | 0 | 2 |
| Window | 0 | 0 | 0 | 0 | 1 |
| World | 2 | 0 | 0 | 0 | 7 |
| WorldHelper | 3 | 0 | 0 | 0 | 1 |
| anonymous | 1 | 0 | 0 | 0 | 0 |
| string | 0 | 0 | 0 | 0 | 1 |
| unique_ptr | 0 | 0 | 0 | 0 | 1 |
| Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
|---|---|---|---|---|---|---|---|---|---|
| BaseGame | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Camera | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Editor | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 |
| Entity | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Game | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| GameController | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| GameRenderer | 0 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 0 |
| GameState | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| InputSource | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Portal | 0 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 0 |
| PortalSystem | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| Quaternion | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| RenderContext | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Renderer | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Side | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| TerminalRenderer | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 |
| UiRenderer | 0 | 0 | 0 | 4 | 2 | 4 | 0 | 0 | 0 |
| Vector3f | 2 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Window | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| World | 6 | 0 | 6 | 1 | 0 | 1 | 36 | 0 | 36 |
| WorldHelper | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| string | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| unique_ptr | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Location | Text | LOC | COM | MVG |
|---|---|---|---|---|
./source/Portal.cpp:1 |
<file scope items> | 9 | 1 | 0 |
./source/Editor.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./source/WorldHelper.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/UiRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/TerminalRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/GameRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/Main.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./source/Game.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/GameState.cpp:1 |
<file scope items> | 5 | 1 | 0 |
./source/GameController.cpp:1 |
<file scope items> | 3 | 1 | 0 |
./source/World.cpp:1 |
<file scope items> | 5 | 1 | 0 |
./source/Version.hpp:1 |
<file scope items> | 1 | 0 | 0 |
./source/system/PortalSystem.cpp:1 |
<file scope items> | 4 | 1 | 0 |
This report was generated by the program CCCC, which is FREELY REDISTRIBUTABLE but carries NO WARRANTY.
CCCC was developed by Tim Littlefair. as part of a PhD research project. This project is now completed and descriptions of the findings can be accessed at http://www.chs.ecu.edu.au/~tlittlef.
User support for CCCC can be obtained by mailing the list cccc-users@lists.sourceforge.net.
Please also visit the CCCC development website at http://cccc.sourceforge.net.