CCCC Software Metrics Report
generated Fri Mar 2 13:07:43 2012 | |
---|---|
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 | 42 | |
Lines of Code | LOC | 9438 | 224.714 |
McCabe's Cyclomatic Number | MVG | 359 | 8.548 |
Lines of Comment | COM | 795 | 18.929 |
LOC/COM | L_C | 11.872 | |
MVG/COM | M_C | 0.452 | |
Information Flow measure ( inclusive ) | IF4 | 4 | 0.095 |
Information Flow measure ( visible ) | IF4v | 4 | 0.095 |
Information Flow measure ( concrete ) | IF4c | 0 | 0.000 |
Lines of Code rejected by parser | REJ | 7702 |
Module Name | LOC | MVG | COM | L_C | M_C |
---|---|---|---|---|---|
BaseNode | 45 | 4 | 15 | 3.000 | ------ |
Call | 0 | 0 | 0 | ------ | ------ |
Canvas | 213 | 44 | 84 | 2.536 | 0.524 |
ClassBoxObject | 17 | 1 | 3 | ------ | ------ |
ClassBoxObjectDialog | 7 | 0 | 0 | ------ | ------ |
ClassConnection | 31 | 3 | 3 | 10.333 | ------ |
ConfigDialog | 93 | 18 | 10 | 9.300 | 1.800 |
ConnectionNode | 16 | 5 | 16 | ------ | 0.312 |
CreateNewPage | 84 | 19 | 8 | 10.500 | 2.375 |
CreateOpenPage | 53 | 15 | 3 | 17.667 | 5.000 |
DiagramType | 0 | 0 | 0 | ------ | ------ |
Document | 176 | 47 | 76 | 2.316 | 0.618 |
DrawingMode | 0 | 0 | 0 | ------ | ------ |
ExtendsConnection | 65 | 8 | 7 | 9.286 | 1.143 |
FinalStateObject | 22 | 1 | 5 | 4.400 | ------ |
FinalStateObjectDialog | 7 | 0 | 0 | ------ | ------ |
IncludesConnection | 65 | 8 | 6 | 10.833 | 1.333 |
InitialStateObject | 16 | 1 | 3 | ------ | ------ |
InitialStateObjectDialog | 7 | 0 | 0 | ------ | ------ |
InteractionConnection | 18 | 1 | 4 | ------ | ------ |
MainWindow | 373 | 43 | 167 | 2.234 | 0.257 |
NodeAction | 32 | 15 | 1 | 32.000 | 15.000 |
NodeFactory | 20 | 5 | 13 | 1.538 | 0.385 |
ObjectNode | 57 | 18 | 25 | 2.280 | 0.720 |
OvalObject | 51 | 15 | 9 | 5.667 | 1.667 |
OvalObjectDialog | 26 | 11 | 0 | ****** | ****** |
QCloseEvent | 0 | 0 | 0 | ------ | ------ |
QContextMenuEvent | 0 | 0 | 0 | ------ | ------ |
QListWidgetItem | 0 | 0 | 0 | ------ | ------ |
QMouseEvent | 0 | 0 | 0 | ------ | ------ |
QPaintEvent | 0 | 0 | 0 | ------ | ------ |
QPainter | 0 | 0 | 0 | ------ | ------ |
QPoint | 0 | 0 | 0 | ------ | ------ |
QWidget | 0 | 0 | 0 | ------ | ------ |
SquareConnectionNode | 40 | 39 | 6 | 6.667 | 6.500 |
StateObject | 24 | 1 | 4 | 6.000 | ------ |
StateObjectDialog | 7 | 0 | 0 | ------ | ------ |
StickPersonObject | 102 | 16 | 36 | 2.833 | 0.444 |
StickPersonObjectDialog | 26 | 11 | 3 | 8.667 | 3.667 |
anonymous | 21 | 3 | 24 | 0.875 | ------ |
bool | 0 | 0 | 0 | ------ | ------ |
mathfunctions | 22 | 7 | 1 | 22.000 | 7.000 |
Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
---|---|---|---|---|---|---|---|---|---|
BaseNode | 2 | 0 | 2 | 1 | 0 | 1 | 4 | 0 | 4 |
Call | 12 | 12 | 12 | 0 | 0 | 0 | 0 | 0 | 0 |
Canvas | 0 | 0 | 0 | 8 | 2 | 8 | 0 | 0 | 0 |
ClassBoxObject | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
ClassBoxObjectDialog | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
ClassConnection | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
ConfigDialog | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
ConnectionNode | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
CreateNewPage | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
CreateOpenPage | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
DiagramType | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Document | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
DrawingMode | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
ExtendsConnection | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
FinalStateObject | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
FinalStateObjectDialog | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
IncludesConnection | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
InitialStateObject | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
InitialStateObjectDialog | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
InteractionConnection | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
MainWindow | 0 | 0 | 0 | 7 | 4 | 7 | 0 | 0 | 0 |
NodeAction | 0 | 0 | 0 | 2 | 2 | 2 | 0 | 0 | 0 |
NodeFactory | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
ObjectNode | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
OvalObject | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
OvalObjectDialog | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
QCloseEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
QContextMenuEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
QListWidgetItem | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
QMouseEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
QPaintEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
QPainter | 13 | 0 | 13 | 0 | 0 | 0 | 0 | 0 | 0 |
QPoint | 7 | 1 | 7 | 0 | 0 | 0 | 0 | 0 | 0 |
QWidget | 10 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
SquareConnectionNode | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
StateObject | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
StateObjectDialog | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
StickPersonObject | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
StickPersonObjectDialog | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
bool | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
mathfunctions | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
Location | Text | LOC | COM | MVG |
---|---|---|---|---|
canvas.cpp:1 |
<file scope items> | 0 | 0 | 0 |
dialog.cpp:1 |
<file scope items> | 2 | 1 | 0 |
dialogpages.cpp:1 |
<file scope items> | 1 | 1 | 0 |
document.cpp:1 |
<file scope items> | 1 | 1 | 0 |
main.cpp:1 |
<file scope items> | 1 | 1 | 0 |
mainwindow.cpp:1 |
<file scope items> | 2 | 1 | 0 |
mathfunctions.cpp:1 |
<file scope items> | 1 | 1 | 0 |
moc_canvas.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 26 | 20 | 0 |
moc_canvas.cpp:169 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_canvas.cpp:1 |
<file scope items> | 18 | 1 | 0 |
moc_dialog.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 17 | 19 | 0 |
moc_dialog.cpp:88 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_dialog.cpp:1 |
<file scope items> | 11 | 1 | 0 |
moc_dialogpages.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 15 | 20 | 0 |
moc_dialogpages.cpp:162 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_dialogpages.cpp:1 |
<file scope items> | 31 | 14 | 0 |
moc_document.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 22 | 20 | 0 |
moc_document.cpp:110 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_document.cpp:1 |
<file scope items> | 15 | 1 | 0 |
moc_mainwindow.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 33 | 19 | 0 |
moc_mainwindow.cpp:137 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_mainwindow.cpp:1 |
<file scope items> | 28 | 1 | 0 |
moc_nodeaction.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 15 | 20 | 0 |
moc_nodeaction.cpp:92 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_nodeaction.cpp:1 |
<file scope items> | 10 | 1 | 0 |
moc_nodes.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 13 | 18 | 0 |
moc_nodes.cpp:69 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_nodes.cpp:1 |
<file scope items> | 8 | 1 | 0 |
moc_UMLnodes_usecase.cpp:19 |
QT_BEGIN_MOC_NAMESPACE static const | 13 | 18 | 0 |
moc_UMLnodes_usecase.cpp:236 |
QT_END_MOC_NAMESPACE <EOF> <EOF> | 1 | 0 | 0 |
moc_UMLnodes_usecase.cpp:1 |
<file scope items> | 67 | 36 | 0 |
nodefactory.cpp:1 |
<file scope items> | 3 | 3 | 0 |
nodes.cpp:1 |
<file scope items> | 1 | 1 | 0 |
qrc_icons.cpp:7383 |
QT_BEGIN_NAMESPACE extern Q_CORE_EXPORT | 3 | 0 | 0 |
qrc_icons.cpp:7388 |
Q_CORE_EXPORT bool qUnregisterResourceData | 2 | 0 | 0 |
qrc_icons.cpp:1 |
<file scope items> | 7332 | 41 | 0 |
UMLnodes_class.cpp:1 |
<file scope items> | 1 | 1 | 0 |
UMLnodes_state.cpp:1 |
<file scope items> | 1 | 0 | 0 |
UMLnodes_usecase.cpp:1 |
<file scope items> | 1 | 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.