|
CCCC Software Metrics Report
generated Mon Oct 3 11:08:30 2016 | |
|---|---|
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 | 21 | |
| Lines of Code | LOC | 942 | 44.857 |
| McCabe's Cyclomatic Number | MVG | 223 | 10.619 |
| Lines of Comment | COM | 47 | 2.238 |
| LOC/COM | L_C | 20.043 | |
| MVG/COM | M_C | 4.745 | |
| Information Flow measure ( inclusive ) | IF4 | 0 | 0.000 |
| Information Flow measure ( visible ) | IF4v | 0 | 0.000 |
| Information Flow measure ( concrete ) | IF4c | 0 | 0.000 |
| Lines of Code rejected by parser | REJ | 16 |
| Module Name | LOC | MVG | COM | L_C | M_C |
|---|---|---|---|---|---|
| Compress | 57 | 14 | 0 | ****** | ****** |
| Deduplicate | 72 | 15 | 0 | ****** | ****** |
| Fragment | 162 | 43 | 0 | ****** | ****** |
| FragmentRefine | 98 | 19 | 0 | ****** | ****** |
| HeapElementType | 0 | 0 | 0 | ------ | ------ |
| Position | 0 | 0 | 0 | ------ | ------ |
| PriorityQueue | 0 | 0 | 0 | ------ | ------ |
| Reorder | 131 | 27 | 0 | ****** | ****** |
| SearchTree | 0 | 0 | 0 | ------ | ------ |
| TreeElementType | 0 | 0 | 0 | ------ | ------ |
| anonymous | 383 | 105 | 30 | 12.767 | 3.500 |
| bool | 0 | 0 | 0 | ------ | ------ |
| chunk_t | 0 | 0 | 0 | ------ | ------ |
| ff_loadbalancer | 0 | 0 | 0 | ------ | ------ |
| ff_node | 0 | 0 | 0 | ------ | ------ |
| ringbuffer_t | 0 | 0 | 0 | ------ | ------ |
| sequence_number_t | 0 | 0 | 0 | ------ | ------ |
| sequence_t | 0 | 0 | 0 | ------ | ------ |
| size_t | 0 | 0 | 0 | ------ | ------ |
| u32int | 0 | 0 | 0 | ------ | ------ |
| vector | 0 | 0 | 0 | ------ | ------ |
| Module Name | WMC1 | WMCv | DIT | NOC | CBO |
|---|---|---|---|---|---|
| Compress | 4 | 1 | 1 | 0 | 5 |
| Deduplicate | 4 | 2 | 1 | 0 | 5 |
| Fragment | 2 | 0 | 1 | 0 | 3 |
| FragmentRefine | 5 | 3 | 1 | 0 | 6 |
| HeapElementType | 0 | 0 | 0 | 0 | 0 |
| Position | 0 | 0 | 0 | 0 | 1 |
| PriorityQueue | 0 | 0 | 0 | 0 | 0 |
| Reorder | 2 | 2 | 1 | 0 | 8 |
| SearchTree | 0 | 0 | 0 | 0 | 1 |
| TreeElementType | 0 | 0 | 0 | 0 | 0 |
| anonymous | 26 | 25 | 0 | 0 | 0 |
| bool | 0 | 0 | 0 | 0 | 3 |
| chunk_t | 0 | 0 | 0 | 0 | 4 |
| ff_loadbalancer | 0 | 0 | 0 | 0 | 1 |
| ff_node | 0 | 0 | 0 | 5 | 5 |
| ringbuffer_t | 0 | 0 | 0 | 0 | 4 |
| sequence_number_t | 0 | 0 | 0 | 0 | 1 |
| sequence_t | 0 | 0 | 0 | 0 | 1 |
| size_t | 0 | 0 | 0 | 0 | 2 |
| u32int | 0 | 0 | 0 | 0 | 1 |
| vector | 0 | 0 | 0 | 0 | 3 |
| Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
|---|---|---|---|---|---|---|---|---|---|
| Compress | 0 | 0 | 0 | 5 | 3 | 5 | 0 | 0 | 0 |
| Deduplicate | 0 | 0 | 0 | 5 | 3 | 5 | 0 | 0 | 0 |
| Fragment | 0 | 0 | 0 | 3 | 2 | 3 | 0 | 0 | 0 |
| FragmentRefine | 0 | 0 | 0 | 6 | 3 | 6 | 0 | 0 | 0 |
| HeapElementType | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Position | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| PriorityQueue | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Reorder | 0 | 0 | 0 | 8 | 5 | 8 | 0 | 0 | 0 |
| SearchTree | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| TreeElementType | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| bool | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| chunk_t | 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
| ff_loadbalancer | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| ff_node | 5 | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
| ringbuffer_t | 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
| sequence_number_t | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| sequence_t | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| size_t | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| u32int | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| vector | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| Location | Text | LOC | COM | MVG |
|---|---|---|---|---|
preprocessed_ff_farmofpipes.cpp:1 |
<file scope items> | 6 | 0 | 0 |
binheap.c:1 |
<file scope items> | 1 | 1 | 0 |
binheap.h:1 |
<file scope items> | 3 | 5 | 0 |
tree.c:1 |
<file scope items> | 2 | 5 | 0 |
tree.h: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.