CCCC Software Metrics Report | |
---|---|
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. |
Procedural Metrics Detail |
The same procedural metrics as in the procedural metrics summary, reported for individual functions, grouped by 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. |
Structural Metrics Detail |
The names of the modules included as clients and suppliers in the counts for the Structural Metrics Summary. |
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 | 7 | |
Lines of Code | LOC | 29 | 4.143 |
McCabe's Cyclomatic Number | MVG | 0 | 0.000 |
Lines of Comment | COM | 0 | 0.000 |
LOC/COM | L_C | ****** | |
MVG/COM | M_C | ------ | |
Information Flow measure ( inclusive ) | IF4 | 2 | 0.286 |
Information Flow measure ( visible ) | IF4v | 2 | 0.286 |
Information Flow measure ( concrete ) | IF4c | 2 | 0.286 |
Lines of Code rejected by parser | REJ | 0 |
Module Name | LOC | MVG | COM | L_C | M_C |
---|---|---|---|---|---|
Test3a | 19 | 0 | 0 | ------ | ------ |
Test3b0 | 0 | 0 | 0 | ------ | ------ |
Test3b1 | 1 | 0 | 0 | ------ | ------ |
Test3b2 | 1 | 0 | 0 | ------ | ------ |
Test3b3 | 0 | 0 | 0 | ------ | ------ |
Test3b4 | 1 | 0 | 0 | ------ | ------ |
Test3b5 | 7 | 0 | 0 | ------ | ------ |
Test3a
definition test3.cc:10 | LOC | MVG | COM | L_C | M_C |
---|---|---|---|---|---|
Test3a( ) declaration test3.cc:13 | 1 | 0 | 0 | ------ | ------ |
do_something( ) declaration test3.cc:26 | 1 | 0 | 0 | ------ | ------ |
do_something_else( ) declaration test3.cc:27 | 1 | 0 | 0 | ------ | ------ |
operator !=( ) declaration test3.cc:18 | 1 | 0 | 0 | ------ | ------ |
operator ( )( ) declaration test3.cc:22 | 1 | 0 | 0 | ------ | ------ |
operator *( ) declaration test3.cc:24 | 1 | 0 | 0 | ------ | ------ |
operator .*( ) declaration test3.cc:25 | 1 | 0 | 0 | ------ | ------ |
operator ==( ) declaration test3.cc:21 | 1 | 0 | 0 | ------ | ------ |
operator []( ) declaration test3.cc:23 | 1 | 0 | 0 | ------ | ------ |
operator delete[]( ) declaration test3.cc:16 | 1 | 0 | 0 | ------ | ------ |
operator int( ) declaration test3.cc:19 | 1 | 0 | 0 | ------ | ------ |
operator new( ) declaration test3.cc:15 | 1 | 0 | 0 | ------ | ------ |
~Test3a( ) declaration test3.cc:14 | 1 | 0 | 0 | ------ | ------ |
Test3b0
| LOC | MVG | COM | L_C | M_C |
No member functions have been identified for this module | |||||
Test3b1
definition test3.cc:33 | LOC | MVG | COM | L_C | M_C |
No member functions have been identified for this module | |||||
Test3b2
definition test3.cc:34 | LOC | MVG | COM | L_C | M_C |
No member functions have been identified for this module | |||||
Test3b3
| LOC | MVG | COM | L_C | M_C |
No member functions have been identified for this module | |||||
Test3b4
definition test3.cc:35 | LOC | MVG | COM | L_C | M_C |
No member functions have been identified for this module | |||||
Test3b5
definition test3.cc:36 | LOC | MVG | COM | L_C | M_C |
Test3b5( Test3b3 ) declaration test3.cc:39 | 1 | 0 | 0 | ------ | ------ |
Module Name | WMC1 | WMCv | DIT | NOC | CBO |
---|---|---|---|---|---|
Test3a | 13 | 6 | 0 | 0 | 0 |
Test3b0 | 0 | 0 | 0 | 2 | 3 |
Test3b1 | 0 | 0 | 1 | 1 | 2 |
Test3b2 | 0 | 0 | 2 | 1 | 2 |
Test3b3 | 0 | 0 | 0 | 1 | 2 |
Test3b4 | 0 | 0 | 3 | 0 | 3 |
Test3b5 | 1 | 1 | 0 | 0 | 2 |
Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
---|---|---|---|---|---|---|---|---|---|
Test3a | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Test3b0 | 2 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
Test3b1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Test3b2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Test3b3 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Test3b4 | 0 | 0 | 0 | 3 | 3 | 3 | 0 | 0 | 0 |
Test3b5 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 |
Module Name | Clients | Suppliers |
---|---|---|
Test3a | ||
Test3b0 |
Test3b1 [CV] inheritance test3.cc:33 Test3b4 [CV] inheritance test3.cc:35 Test3b5 [C] has by value test3.cc:41 |
|
Test3b1 |
Test3b2 [CV] inheritance test3.cc:34 |
Test3b0 [CV] inheritance test3.cc:33 |
Test3b2 |
Test3b4 [CV] inheritance test3.cc:35 |
Test3b1 [CV] inheritance test3.cc:34 |
Test3b3 |
Test3b4 [CV] inheritance test3.cc:35 Test3b5 [CV] pass by value test3.cc:39 |
|
Test3b4 |
Test3b0 [CV] inheritance test3.cc:35 Test3b2 [CV] inheritance test3.cc:35 Test3b3 [CV] inheritance test3.cc:35 |
|
Test3b5 |
Test3b0 [C] has by value test3.cc:41 Test3b3 [CV] pass by value test3.cc:39 |
Location | Text | LOC | COM | MVG |
---|---|---|---|---|
test3.cc:1 |
<file scope items> | 0 | 0 | 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.