|
CCCC Software Metrics Report
generated Sat Jul 7 10:33:06 2007 | |
|---|---|
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 | 68 | |
| Lines of Code | LOC | 3428 | 50.412 |
| McCabe's Cyclomatic Number | MVG | 510 | 7.500 |
| Lines of Comment | COM | 425 | 6.250 |
| LOC/COM | L_C | 8.066 | |
| MVG/COM | M_C | 1.200 | |
| Information Flow measure ( inclusive ) | IF4 | 23859 | 350.868 |
| Information Flow measure ( visible ) | IF4v | 19925 | 293.015 |
| Information Flow measure ( concrete ) | IF4c | 9 | 0.132 |
| Lines of Code rejected by parser | REJ | 70 |
| Module Name | LOC | MVG | COM | L_C | M_C |
|---|---|---|---|---|---|
| Base | 26 | 12 | 3 | 8.667 | 4.000 |
| BlockError | 1 | 0 | 0 | ------ | ------ |
| Circle | 60 | 7 | 4 | 15.000 | 1.750 |
| ColorChit | 33 | 3 | 3 | 11.000 | ------ |
| Const_Field | 66 | 9 | 1 | 66.000 | 9.000 |
| Constant | 48 | 13 | 3 | 16.000 | 4.333 |
| Constraint | 31 | 3 | 13 | 2.385 | ------ |
| ConstraintChooser | 83 | 15 | 2 | 41.500 | 7.500 |
| ConstraintSystem | 208 | 31 | 30 | 6.933 | 1.033 |
| D2_Collider | 20 | 1 | 0 | ****** | ------ |
| D2_Plane | 87 | 11 | 19 | 4.579 | 0.579 |
| Data | 21 | 2 | 4 | 5.250 | ------ |
| Diagonal | 1 | 0 | 0 | ------ | ------ |
| Dimension | 53 | 4 | 7 | 7.571 | ------ |
| Distance | 120 | 14 | 18 | 6.667 | 0.778 |
| Drag | 40 | 5 | 3 | 13.333 | 1.667 |
| Error | 20 | 3 | 1 | 20.000 | ------ |
| Euler | 39 | 2 | 5 | 7.800 | ------ |
| Force | 14 | 2 | 2 | ------ | ------ |
| Global_Drag | 31 | 3 | 3 | 10.333 | ------ |
| IndexError | 14 | 3 | 0 | ------ | ------ |
| Inner | 28 | 4 | 0 | ****** | ------ |
| LMatrix | 1 | 0 | 0 | ------ | ------ |
| Matrixf | 0 | 0 | 0 | ------ | ------ |
| MidPoint | 63 | 14 | 10 | 6.300 | 1.400 |
| Mouse_Spring | 66 | 7 | 17 | 3.882 | 0.412 |
| NotYetImplemented | 1 | 0 | 0 | ------ | ------ |
| ODESolver | 9 | 0 | 0 | ------ | ------ |
| Particle | 74 | 9 | 7 | 10.571 | 1.286 |
| ParticleField | 648 | 133 | 78 | 8.308 | 1.705 |
| ParticleSystem | 255 | 52 | 44 | 5.795 | 1.182 |
| QColor | 0 | 0 | 0 | ------ | ------ |
| QDataStream | 0 | 0 | 0 | ------ | ------ |
| QDialog | 0 | 0 | 0 | ------ | ------ |
| QKeyEvent | 0 | 0 | 0 | ------ | ------ |
| QMainWindow | 0 | 0 | 0 | ------ | ------ |
| QMouseEvent | 0 | 0 | 0 | ------ | ------ |
| QMultiLineEdit | 1 | 0 | 8 | ------ | ------ |
| QPaintEvent | 0 | 0 | 0 | ------ | ------ |
| QPainter | 0 | 0 | 0 | ------ | ------ |
| QPixmap | 0 | 0 | 0 | ------ | ------ |
| QPopupMenu | 1 | 0 | 0 | ------ | ------ |
| QSpinBox | 0 | 0 | 0 | ------ | ------ |
| QString | 0 | 0 | 0 | ------ | ------ |
| QToolBar | 1 | 0 | 0 | ------ | ------ |
| QWidget | 0 | 0 | 0 | ------ | ------ |
| ReadOnlyError | 1 | 0 | 0 | ------ | ------ |
| RungeKutta4 | 103 | 24 | 11 | 9.364 | 2.182 |
| SimToolBar | 84 | 5 | 2 | 42.000 | 2.500 |
| SingularMatrix | 14 | 3 | 0 | ------ | ------ |
| SizeError | 15 | 3 | 0 | ------ | ------ |
| Spring | 107 | 13 | 14 | 7.643 | 0.929 |
| SpringToolBar | 143 | 17 | 19 | 7.526 | 0.895 |
| SpringType | 64 | 8 | 6 | 10.667 | 1.333 |
| SpringWindow | 290 | 22 | 24 | 12.083 | 0.917 |
| SysLoader | 2 | 0 | 0 | ------ | ------ |
| SysSaver | 2 | 0 | 0 | ------ | ------ |
| USHORT | 0 | 0 | 0 | ------ | ------ |
| Vectf | 0 | 0 | 0 | ------ | ------ |
| Vector | 1 | 0 | 0 | ------ | ------ |
| ZeroTo500 | 37 | 4 | 3 | 12.333 | ------ |
| ZeroToOne | 36 | 4 | 3 | 12.000 | ------ |
| ZeroToTen | 37 | 4 | 3 | 12.333 | ------ |
| anonymous | 251 | 39 | 42 | 5.976 | 0.929 |
| bool | 0 | 0 | 0 | ------ | ------ |
| ostream | 0 | 0 | 0 | ------ | ------ |
| string | 0 | 0 | 0 | ------ | ------ |
| vector | 0 | 0 | 0 | ------ | ------ |
| Module Name | WMC1 | WMCv | DIT | NOC | CBO |
|---|---|---|---|---|---|
| Base | 9 | 9 | 0 | 0 | 0 |
| BlockError | 0 | 0 | 1 | 0 | 1 |
| Circle | 7 | 0 | 1 | 0 | 6 |
| ColorChit | 4 | 0 | 1 | 0 | 3 |
| Const_Field | 11 | 11 | 1 | 0 | 5 |
| Constant | 8 | 7 | 1 | 0 | 4 |
| Constraint | 9 | 9 | 0 | 3 | 7 |
| ConstraintChooser | 6 | 0 | 1 | 0 | 2 |
| ConstraintSystem | 14 | 2 | 0 | 0 | 13 |
| D2_Collider | 5 | 5 | 0 | 1 | 3 |
| D2_Plane | 7 | 7 | 1 | 0 | 2 |
| Data | 4 | 4 | 0 | 0 | 3 |
| Diagonal | 0 | 0 | 0 | 0 | 0 |
| Dimension | 11 | 7 | 1 | 0 | 6 |
| Distance | 17 | 11 | 1 | 0 | 5 |
| Drag | 7 | 7 | 1 | 0 | 4 |
| Error | 4 | 4 | 0 | 6 | 7 |
| Euler | 3 | 3 | 1 | 0 | 2 |
| Force | 5 | 5 | 0 | 6 | 9 |
| Global_Drag | 6 | 6 | 1 | 0 | 4 |
| IndexError | 3 | 2 | 1 | 0 | 2 |
| Inner | 7 | 0 | 0 | 0 | 1 |
| LMatrix | 0 | 0 | 0 | 0 | 0 |
| Matrixf | 0 | 0 | 0 | 0 | 1 |
| MidPoint | 3 | 3 | 1 | 0 | 2 |
| Mouse_Spring | 8 | 8 | 1 | 0 | 4 |
| NotYetImplemented | 0 | 0 | 1 | 0 | 1 |
| ODESolver | 3 | 3 | 0 | 3 | 4 |
| Particle | 12 | 9 | 0 | 0 | 14 |
| ParticleField | 49 | 0 | 1 | 0 | 8 |
| ParticleSystem | 23 | 3 | 0 | 0 | 25 |
| QColor | 0 | 0 | 0 | 0 | 4 |
| QDataStream | 0 | 0 | 0 | 0 | 16 |
| QDialog | 0 | 0 | 0 | 1 | 1 |
| QKeyEvent | 0 | 0 | 0 | 0 | 1 |
| QMainWindow | 0 | 0 | 0 | 1 | 3 |
| QMouseEvent | 0 | 0 | 0 | 0 | 2 |
| QMultiLineEdit | 0 | 0 | 0 | 0 | 0 |
| QPaintEvent | 0 | 0 | 0 | 0 | 1 |
| QPainter | 0 | 0 | 0 | 0 | 1 |
| QPixmap | 0 | 0 | 0 | 0 | 1 |
| QPopupMenu | 0 | 0 | 0 | 0 | 0 |
| QSpinBox | 0 | 0 | 0 | 3 | 3 |
| QString | 0 | 0 | 0 | 0 | 3 |
| QToolBar | 0 | 0 | 0 | 2 | 2 |
| QWidget | 0 | 0 | 0 | 2 | 6 |
| ReadOnlyError | 0 | 0 | 1 | 0 | 1 |
| RungeKutta4 | 3 | 3 | 1 | 0 | 2 |
| SimToolBar | 4 | 0 | 1 | 0 | 4 |
| SingularMatrix | 3 | 2 | 1 | 0 | 2 |
| SizeError | 3 | 2 | 1 | 0 | 2 |
| Spring | 19 | 19 | 1 | 0 | 5 |
| SpringToolBar | 11 | 0 | 1 | 0 | 4 |
| SpringType | 18 | 17 | 0 | 0 | 5 |
| SpringWindow | 17 | 0 | 1 | 0 | 2 |
| SysLoader | 0 | 0 | 0 | 0 | 0 |
| SysSaver | 0 | 0 | 0 | 0 | 0 |
| USHORT | 0 | 0 | 0 | 0 | 3 |
| Vectf | 0 | 0 | 0 | 0 | 1 |
| Vector | 0 | 0 | 0 | 0 | 0 |
| ZeroTo500 | 5 | 0 | 1 | 0 | 3 |
| ZeroToOne | 5 | 0 | 1 | 0 | 3 |
| ZeroToTen | 5 | 0 | 1 | 0 | 3 |
| anonymous | 37 | 8 | 0 | 0 | 0 |
| bool | 0 | 0 | 0 | 0 | 10 |
| ostream | 0 | 0 | 0 | 0 | 2 |
| string | 0 | 0 | 0 | 0 | 4 |
| vector | 0 | 0 | 0 | 0 | 2 |
| Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
|---|---|---|---|---|---|---|---|---|---|
| Base | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| BlockError | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| Circle | 0 | 0 | 0 | 1 | 2 | 6 | 0 | 0 | 0 |
| ColorChit | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
| Const_Field | 1 | 0 | 1 | 4 | 2 | 4 | 16 | 0 | 16 |
| Constant | 0 | 0 | 0 | 4 | 1 | 4 | 0 | 0 | 0 |
| Constraint | 3 | 3 | 3 | 4 | 1 | 4 | 144 | 9 | 144 |
| ConstraintChooser | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| ConstraintSystem | 4 | 0 | 5 | 6 | 1 | 8 | 576 | 0 | 1600 |
| D2_Collider | 2 | 1 | 2 | 1 | 0 | 1 | 4 | 0 | 4 |
| D2_Plane | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| Data | 1 | 1 | 2 | 1 | 0 | 1 | 1 | 0 | 4 |
| Diagonal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Dimension | 0 | 0 | 0 | 5 | 2 | 6 | 0 | 0 | 0 |
| Distance | 0 | 0 | 0 | 5 | 1 | 5 | 0 | 0 | 0 |
| Drag | 0 | 0 | 0 | 4 | 1 | 4 | 0 | 0 | 0 |
| Error | 6 | 6 | 6 | 0 | 0 | 1 | 0 | 0 | 36 |
| Euler | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| Force | 7 | 6 | 7 | 2 | 0 | 2 | 196 | 0 | 196 |
| Global_Drag | 1 | 0 | 1 | 3 | 1 | 3 | 9 | 0 | 9 |
| IndexError | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| Inner | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| LMatrix | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Matrixf | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| MidPoint | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| Mouse_Spring | 0 | 0 | 0 | 4 | 2 | 4 | 0 | 0 | 0 |
| NotYetImplemented | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| ODESolver | 3 | 3 | 3 | 1 | 0 | 1 | 9 | 0 | 9 |
| Particle | 9 | 0 | 11 | 3 | 1 | 3 | 729 | 0 | 1089 |
| ParticleField | 0 | 0 | 0 | 8 | 2 | 8 | 0 | 0 | 0 |
| ParticleSystem | 15 | 0 | 16 | 9 | 1 | 9 | 18225 | 0 | 20736 |
| QColor | 4 | 2 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
| QDataStream | 15 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 0 |
| QDialog | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| QKeyEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| QMainWindow | 3 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| QMouseEvent | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| QMultiLineEdit | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| QPaintEvent | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| QPainter | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| QPixmap | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| QPopupMenu | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| QSpinBox | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| QString | 3 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| QToolBar | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| QWidget | 6 | 2 | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
| ReadOnlyError | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| RungeKutta4 | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| SimToolBar | 0 | 0 | 0 | 4 | 2 | 4 | 0 | 0 | 0 |
| SingularMatrix | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| SizeError | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| Spring | 0 | 0 | 0 | 5 | 2 | 5 | 0 | 0 | 0 |
| SpringToolBar | 0 | 0 | 0 | 4 | 1 | 4 | 0 | 0 | 0 |
| SpringType | 1 | 0 | 1 | 4 | 2 | 4 | 16 | 0 | 16 |
| SpringWindow | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 |
| SysLoader | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| SysSaver | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| USHORT | 2 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| Vectf | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Vector | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ZeroTo500 | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
| ZeroToOne | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
| ZeroToTen | 0 | 0 | 0 | 3 | 1 | 3 | 0 | 0 | 0 |
| anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| bool | 9 | 7 | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
| ostream | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| string | 3 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 |
| vector | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Location | Text | LOC | COM | MVG |
|---|---|---|---|---|
./src/Particle.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/SpringType.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/RungeKutta4.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./src/Euler.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/ConstraintChooser.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/SpringType.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/ODESolver.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/matrix/Matrix.h:99 |
Matrix :: SizeError | 1 | 0 | 0 |
./src/matrix/Matrix.h:105 |
Matrix :: SizeError | 1 | 0 | 0 |
./src/matrix/Matrix.h:111 |
Matrix :: SizeError | 1 | 0 | 0 |
./src/matrix/Matrix.h:117 |
Matrix :: SizeError | 1 | 0 | 0 |
./src/matrix/Matrix.cpp:87 |
numrefs == 1 | 1 | 0 | 2 |
./src/matrix/addtest.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/matrix/matrix_io.h:1 |
<file scope items> | 3 | 0 | 0 |
./src/matrix/LUSolve.h:1 |
<file scope items> | 7 | 5 | 0 |
./src/matrix/LUSolve.cpp:1 |
<file scope items> | 7 | 0 | 0 |
./src/matrix/matrix_io.cpp:1 |
<file scope items> | 3 | 0 | 0 |
./src/MidPoint.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/Constraint.h:1 |
<file scope items> | 3 | 1 | 0 |
./src/SimToolBar.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/SpringWindow.h:1 |
<file scope items> | 1 | 1 | 0 |
./src/Force.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/Error.h:1 |
<file scope items> | 0 | 0 | 0 |
./src/ParticleField.h:42 |
signals : void | 2 | 2 | 0 |
./src/ParticleField.cpp:1 |
<file scope items> | 5 | 3 | 0 |
./src/Mouse_Spring.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/SimToolBar.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/CustomSpinBox.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/SpringWindow.cpp:1 |
<file scope items> | 2 | 1 | 0 |
./src/Environ.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/ConstraintChooser.h:1 |
<file scope items> | 3 | 0 | 0 |
./src/Mouse_Spring.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/Plane.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./src/CustomSpinBox.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/SimData.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/SpringToolBar.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/Environ.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/Plane.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/Force.cpp:1 |
<file scope items> | 1 | 0 | 0 |
./src/LoadSave.h:1 |
<file scope items> | 1 | 0 | 0 |
./src/Constraint.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./src/Particle.h:1 |
<file scope items> | 1 | 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.