CCCC Software Metrics Report
generated Sat Sep 19 16:06:59 2015 | |
---|---|
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 | 54 | |
Lines of Code | LOC | 7406 | 137.148 |
McCabe's Cyclomatic Number | MVG | 588 | 10.889 |
Lines of Comment | COM | 1560 | 28.889 |
LOC/COM | L_C | 4.747 | |
MVG/COM | M_C | 0.377 | |
Information Flow measure ( inclusive ) | IF4 | 3916 | 72.519 |
Information Flow measure ( visible ) | IF4v | 1481 | 27.426 |
Information Flow measure ( concrete ) | IF4c | 68 | 1.259 |
Lines of Code rejected by parser | REJ | 868 |
Module Name | LOC | MVG | COM | L_C | M_C |
---|---|---|---|---|---|
ANTLRAbstractToken | 1 | 0 | 18 | ------ | ------ |
ANTLRChar | 0 | 0 | 0 | ------ | ------ |
ANTLRCommonToken | 0 | 0 | 0 | ------ | ------ |
ANTLRParser | 0 | 0 | 0 | ------ | ------ |
ANTLRToken | 80 | 5 | 66 | 1.212 | 0.076 |
ANTLRTokenBuffer | 0 | 0 | 0 | ------ | ------ |
ANTLRTokenPtr | 1 | 0 | 0 | ------ | ------ |
ANTLR_Assisted_Parser | 4 | 0 | 16 | ------ | ------ |
AST | 1 | 0 | 8 | ------ | ------ |
CCCC_Extent | 136 | 36 | 8 | 17.000 | 4.500 |
CCCC_Html_Stream | 1152 | 78 | 83 | 13.880 | 0.940 |
CCCC_Item | 134 | 16 | 48 | 2.792 | 0.333 |
CCCC_Member | 199 | 36 | 32 | 6.219 | 1.125 |
CCCC_Metric | 109 | 14 | 13 | 8.385 | 1.077 |
CCCC_Module | 261 | 46 | 52 | 5.019 | 0.885 |
CCCC_Options | 175 | 22 | 14 | 12.500 | 1.571 |
CCCC_Project | 344 | 52 | 45 | 7.644 | 1.156 |
CCCC_Record | 64 | 8 | 4 | 16.000 | 2.000 |
CCCC_Table | 112 | 14 | 26 | 4.308 | 0.538 |
CCCC_UseRelationship | 220 | 41 | 40 | 5.500 | 1.025 |
CCCC_Xml_Stream | 573 | 42 | 75 | 7.640 | 0.560 |
CLexer | 644 | 1 | 12 | 53.667 | ------ |
CParser | 271 | 3 | 6 | 45.167 | ------ |
CharArray | 0 | 0 | 0 | ------ | ------ |
DLGChar | 0 | 0 | 0 | ------ | ------ |
DLGInputStream | 0 | 0 | 0 | ------ | ------ |
DLGLexer | 1 | 0 | 0 | ------ | ------ |
DLGLexerBase | 0 | 0 | 0 | ------ | ------ |
DfaState | 0 | 0 | 0 | ------ | ------ |
Extent_Table | 0 | 0 | 0 | ------ | ------ |
FileExtentTable | 0 | 0 | 0 | ------ | ------ |
JLexer | 514 | 1 | 12 | 42.833 | ------ |
JParser | 219 | 3 | 34 | 6.441 | ------ |
LexicalCountArray | 0 | 0 | 0 | ------ | ------ |
LineLexicalCountMatrix | 0 | 0 | 0 | ------ | ------ |
Main | 464 | 66 | 94 | 4.936 | 0.702 |
Metric_Treatment | 35 | 7 | 45 | 0.778 | 0.156 |
ParseStore | 232 | 19 | 67 | 3.463 | 0.284 |
ParseUtility | 188 | 19 | 59 | 3.186 | 0.322 |
SetWordType | 0 | 0 | 0 | ------ | ------ |
Source_Anchor | 58 | 5 | 18 | 3.222 | 0.278 |
T | 0 | 0 | 0 | ------ | ------ |
_ANTLRTokenPtr | 0 | 0 | 0 | ------ | ------ |
anonymous | 339 | 54 | 56 | 6.054 | 0.964 |
bool | 0 | 0 | 0 | ------ | ------ |
ifstream | 0 | 0 | 0 | ------ | ------ |
list | 0 | 0 | 0 | ------ | ------ |
map | 1 | 0 | 21 | ------ | ------ |
member_map_t | 0 | 0 | 0 | ------ | ------ |
ofstream | 0 | 0 | 0 | ------ | ------ |
ostream | 0 | 0 | 0 | ------ | ------ |
relationship_map_t | 0 | 0 | 0 | ------ | ------ |
string | 0 | 0 | 0 | ------ | ------ |
unsigned | 0 | 0 | 0 | ------ | ------ |
Module Name | WMC1 | WMCv | DIT | NOC | CBO |
---|---|---|---|---|---|
ANTLRAbstractToken | 0 | 0 | 0 | 0 | 1 |
ANTLRChar | 0 | 0 | 0 | 0 | 4 |
ANTLRCommonToken | 0 | 0 | 0 | 1 | 1 |
ANTLRParser | 0 | 0 | 0 | 3 | 4 |
ANTLRToken | 12 | 12 | 1 | 0 | 3 |
ANTLRTokenBuffer | 0 | 0 | 0 | 0 | 2 |
ANTLRTokenPtr | 0 | 0 | 0 | 0 | 1 |
ANTLR_Assisted_Parser | 1 | 1 | 1 | 0 | 2 |
AST | 0 | 0 | 0 | 0 | 0 |
CCCC_Extent | 10 | 10 | 0 | 0 | 4 |
CCCC_Html_Stream | 32 | 3 | 0 | 0 | 9 |
CCCC_Item | 14 | 14 | 0 | 0 | 11 |
CCCC_Member | 8 | 7 | 1 | 0 | 6 |
CCCC_Metric | 10 | 9 | 0 | 0 | 4 |
CCCC_Module | 6 | 5 | 1 | 0 | 10 |
CCCC_Options | 7 | 7 | 0 | 0 | 2 |
CCCC_Project | 12 | 12 | 1 | 0 | 13 |
CCCC_Record | 11 | 11 | 0 | 4 | 10 |
CCCC_Table | 11 | 0 | 1 | 0 | 4 |
CCCC_UseRelationship | 13 | 12 | 1 | 0 | 7 |
CCCC_Xml_Stream | 28 | 3 | 0 | 0 | 8 |
CLexer | 168 | 168 | 1 | 0 | 5 |
CParser | 111 | 106 | 1 | 0 | 9 |
CharArray | 0 | 0 | 0 | 0 | 1 |
DLGChar | 0 | 0 | 0 | 0 | 2 |
DLGInputStream | 0 | 0 | 0 | 0 | 2 |
DLGLexer | 0 | 0 | 0 | 0 | 0 |
DLGLexerBase | 0 | 0 | 0 | 2 | 2 |
DfaState | 0 | 0 | 0 | 0 | 2 |
Extent_Table | 0 | 0 | 0 | 0 | 1 |
FileExtentTable | 0 | 0 | 0 | 0 | 1 |
JLexer | 138 | 138 | 1 | 0 | 5 |
JParser | 97 | 26 | 1 | 0 | 9 |
LexicalCountArray | 0 | 0 | 0 | 0 | 1 |
LineLexicalCountMatrix | 0 | 0 | 0 | 0 | 1 |
Main | 15 | 14 | 0 | 0 | 3 |
Metric_Treatment | 3 | 1 | 0 | 0 | 5 |
ParseStore | 19 | 17 | 0 | 0 | 8 |
ParseUtility | 11 | 9 | 0 | 0 | 10 |
SetWordType | 0 | 0 | 0 | 0 | 3 |
Source_Anchor | 8 | 8 | 0 | 0 | 2 |
T | 0 | 0 | 0 | 0 | 1 |
_ANTLRTokenPtr | 0 | 0 | 0 | 0 | 3 |
anonymous | 37 | 1 | 0 | 0 | 0 |
bool | 0 | 0 | 0 | 0 | 6 |
ifstream | 0 | 0 | 0 | 0 | 5 |
list | 0 | 0 | 0 | 0 | 1 |
map | 0 | 0 | 0 | 1 | 2 |
member_map_t | 0 | 0 | 0 | 0 | 1 |
ofstream | 0 | 0 | 0 | 0 | 8 |
ostream | 0 | 0 | 0 | 0 | 4 |
relationship_map_t | 0 | 0 | 0 | 0 | 1 |
string | 0 | 0 | 0 | 0 | 18 |
unsigned | 0 | 0 | 0 | 0 | 2 |
Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
---|---|---|---|---|---|---|---|---|---|
ANTLRAbstractToken | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLRChar | 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLRCommonToken | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLRParser | 4 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLRToken | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
ANTLRTokenBuffer | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLRTokenPtr | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
ANTLR_Assisted_Parser | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
AST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CCCC_Extent | 0 | 0 | 2 | 1 | 1 | 2 | 0 | 0 | 16 |
CCCC_Html_Stream | 0 | 0 | 1 | 2 | 3 | 8 | 0 | 0 | 64 |
CCCC_Item | 7 | 0 | 7 | 3 | 2 | 4 | 441 | 0 | 784 |
CCCC_Member | 0 | 0 | 0 | 4 | 2 | 6 | 0 | 0 | 0 |
CCCC_Metric | 0 | 0 | 3 | 0 | 0 | 1 | 0 | 0 | 9 |
CCCC_Module | 0 | 0 | 3 | 5 | 4 | 7 | 0 | 0 | 441 |
CCCC_Options | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 |
CCCC_Project | 4 | 0 | 5 | 7 | 5 | 8 | 784 | 0 | 1600 |
CCCC_Record | 4 | 4 | 6 | 4 | 2 | 4 | 256 | 64 | 576 |
CCCC_Table | 0 | 1 | 1 | 3 | 2 | 3 | 0 | 4 | 9 |
CCCC_UseRelationship | 0 | 0 | 0 | 6 | 2 | 7 | 0 | 0 | 0 |
CCCC_Xml_Stream | 0 | 0 | 0 | 2 | 3 | 8 | 0 | 0 | 0 |
CLexer | 0 | 0 | 0 | 5 | 4 | 5 | 0 | 0 | 0 |
CParser | 0 | 0 | 0 | 6 | 4 | 9 | 0 | 0 | 0 |
CharArray | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
DLGChar | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
DLGInputStream | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
DLGLexer | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DLGLexerBase | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
DfaState | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Extent_Table | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
FileExtentTable | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
JLexer | 0 | 0 | 0 | 5 | 4 | 5 | 0 | 0 | 0 |
JParser | 0 | 0 | 0 | 6 | 5 | 9 | 0 | 0 | 0 |
LexicalCountArray | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
LineLexicalCountMatrix | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Main | 0 | 0 | 0 | 3 | 2 | 3 | 0 | 0 | 0 |
Metric_Treatment | 0 | 0 | 1 | 1 | 1 | 4 | 0 | 0 | 16 |
ParseStore | 0 | 0 | 2 | 6 | 5 | 6 | 0 | 0 | 144 |
ParseUtility | 0 | 0 | 2 | 7 | 2 | 8 | 0 | 0 | 256 |
SetWordType | 3 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
Source_Anchor | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
T | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
_ANTLRTokenPtr | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
bool | 3 | 5 | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
ifstream | 5 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
list | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
map | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
member_map_t | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
ofstream | 6 | 2 | 8 | 0 | 0 | 0 | 0 | 0 | 0 |
ostream | 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
relationship_map_t | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
string | 13 | 17 | 18 | 0 | 0 | 0 | 0 | 0 | 0 |
unsigned | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Location | Text | LOC | COM | MVG |
---|---|---|---|---|
./cccc/cccc_db.cc:1 |
<file scope items> | 15 | 22 | 0 |
./cccc/cccc_ext.cc:1 |
<file scope items> | 2 | 21 | 0 |
./cccc/cccc_htm.cc:1 |
<file scope items> | 6 | 25 | 0 |
./cccc/cccc_itm.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/ccccmain.cc:1 |
<file scope items> | 8 | 10 | 0 |
./cccc/cccc_mem.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_met.cc:1 |
<file scope items> | 30 | 19 | 0 |
./cccc/cccc_mod.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_new.cc:1 |
<file scope items> | 6 | 22 | 0 |
./cccc/cccc_opt.cc:1 |
<file scope items> | 85 | 74 | 0 |
./cccc/cccc_prj.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_rec.cc:1 |
<file scope items> | 2 | 21 | 0 |
./cccc/cccc_tbl.cc:1 |
<file scope items> | 5 | 1 | 0 |
./cccc/cccc_tok.cc:1 |
<file scope items> | 6 | 24 | 0 |
./cccc/cccc_tpl.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_use.cc:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_utl.cc:1 |
<file scope items> | 14 | 23 | 0 |
./cccc/cccc_xml.cc:1 |
<file scope items> | 83 | 25 | 0 |
./cccc/cccc_db.h:1 |
<file scope items> | 12 | 40 | 0 |
./cccc/cccc_ext.h:1 |
<file scope items> | 3 | 21 | 0 |
./cccc/cccc.h:1 |
<file scope items> | 23 | 11 | 0 |
./cccc/cccc_htm.h:1 |
<file scope items> | 12 | 18 | 0 |
./cccc/cccc_itm.h:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_mem.h:1 |
<file scope items> | 4 | 21 | 0 |
./cccc/cccc_met.h:1 |
<file scope items> | 2 | 18 | 0 |
./cccc/cccc_mod.h:1 |
<file scope items> | 5 | 1 | 0 |
./cccc/cccc_opt.h:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_prj.h:1 |
<file scope items> | 8 | 1 | 0 |
./cccc/cccc_rec.h:1 |
<file scope items> | 2 | 29 | 0 |
./cccc/cccc_tbl.h:1 |
<file scope items> | 2 | 23 | 0 |
./cccc/cccc_tok.h:1 |
<file scope items> | 3 | 29 | 0 |
./cccc/cccc_use.h:1 |
<file scope items> | 4 | 1 | 0 |
./cccc/cccc_utl.h:1 |
<file scope items> | 40 | 39 | 0 |
./cccc/cccc_ver.h:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/cccc_xml.h:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/CLexer.h:1 |
<file scope items> | 2 | 0 | 0 |
./cccc/CParser.h:1 |
<file scope items> | 2 | 19 | 0 |
./cccc/Ctokens.h:1 |
<file scope items> | 245 | 8 | 0 |
./cccc/JLexer.h:1 |
<file scope items> | 2 | 0 | 0 |
./cccc/JParser.h:1 |
<file scope items> | 1 | 1 | 0 |
./cccc/Jtokens.h:1 |
<file scope items> | 224 | 8 | 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 new CCCC development website at http://sarnold.github.io/cccc/.