CCCC Software Metrics Report
generated Thu May 13 17:03:18 2010

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.

Project Summary

This table shows measures over the project as a whole. Two variants on the information flow measure IF4 are also presented, one (IF4v) calculated using only relationships in the visible part of the module interface, and the other (IF4c) calculated using only those relationships which imply that changes to the client must be recompiled of the supplier's definition changes.
MetricTagOverallPer Module
Number of modulesNOM 81 
Lines of CodeLOC 327140.383
McCabe's Cyclomatic NumberMVG 501 6.185
Lines of CommentCOM 230628.469
LOC/COML_C 1.418 
MVG/COMM_C 0.217 
Information Flow measure (  inclusive )IF4 24663 304.481
Information Flow measure (  visible )IF4v 16925 208.951
Information Flow measure (  concrete )IF4c 164 2.025
Lines of Code rejected by parserREJ 156 

Procedural Metrics Summary

For descriptions of each of these metrics see the information preceding the project summary table. The label cell for each row in this table provides a link to the functions table in the detailed report for the module in question
Module NameLOCMVGCOML_CM_C
ClassEAlgorithm 116 14 45 2.578 0.311
Config 38 6 77 0.494 0.078
ConfigException 11 0 0------------
ConfigFile 58 4 17 3.412------
CrossBLX 55 7 19 2.895 0.368
CrossBinary 22 0 5 4.400------
CrossBinaryPtr 0 0 0------------
CrossPBLX 42 4 23 1.826------
DomainReal 142 31 109 1.303 0.284
DomainRealPtr 0 0 0------------
EAlgorithm 94 13 74 1.270 0.176
ElemDimInit 41 4 21 1.952------
EvalRunning 18 2 0------------
Hybrid 0 0 0------------
ICrossBinary 17 0 38------------
ICrossBinaryPtr 0 0 0------------
ICrossEAlgorithm 36 3 6 6.000------
IEAlgorithm 21 0 49 0.429------
IEval 5 0 0------------
IEvalInd 0 0 0------------
IFinish 5 0 0------------
ILSParameters 4 0 8------------
ILocalSearch 27 0 51 0.529------
IMutation 14 0 23------------
IParallelLocalSearch 5 0 18------------
IRealRandom 5 0 26------------
IReset 6 0 0------------
IndException 11 1 0------------
InitIndividual 7 0 16------------
LSParametersMemory 0 0 0------------
MA2LSI 343 60 47 7.298 1.277
MA2LSIA 323 55 40 8.075 1.375
Mutation 54 8 29 1.862 0.276
MutationBGA 42 10 142.00010.000
NewIndividualLocalSearchManager 18 1 32------------
NotifyEvalObserver 5 0 0------------
NotifyObserver 6 0 0------------
ORandom 17 2 53------------
PopulationObserver 7 0 21------------
PopulationReal 365 66 146 2.500 0.452
PopulationSort 12 3 0------------
Problem 113 17 82 1.378 0.207
ProblemFactory 6 0 0------------
ProblemParamPtr 0 0 0------------
ProblemTableFactory 34 3 14 2.429------
Random 48 6 51 0.941 0.118
RandomPtr 0 0 0------------
RatioLocalSearchManager 52 8 36 1.444 0.222
Resetable 47 9 23 2.043 0.391
RestartBest 9 0 3------------
RestartReduce 16 0 4------------
RestartStrategy 5 0 5------------
Running 145 32 78 1.859 0.410
RunningException 10 1 0------------
RunningPtr 0 0 0------------
SRandom 45 9 61 0.738 0.148
SelectImprovementLS 6 0 15------------
SimpleInitInd 19 0 0------------
SortIndMax 11 6 0------******
SortIndMin 11 6 3------ 2.000
Statistics 68 6 27 2.519 0.222
UniformInitInd 41 3 0******------
anonymous 252 64 101 2.495 0.634
bool 0 0 0------------
clock_t 0 0 0------------
deque 0 0 0------------
list 0 0 0------------
map 0 0 0------------
runtime_error 0 0 0------------
string 0 0 0------------
tChromosomeReal 0 0 0------------
tCounter 0 0 0------------
tEval 0 0 0------------
tFitness 0 0 0------------
tGen 0 0 0------------
tIndividualReal 115 25 428.750 6.250
tIndividualRealPtr 0 0 0------------
tReal 0 0 0------------
unary_function 0 0 0------------
unsigned 0 0 0------------
vector 0 0 0------------

Object Oriented Design

The label cell for each row in this table provides a link to the module summary table in the detailed report for the module in question
Module NameWMC1WMCvDITNOCCBO
ClassEAlgorithm 19 19 3 1 15
Config 2 0 0 0 2
ConfigException 1 1 1 0 2
ConfigFile 5 2 0 0 3
CrossBLX 4 4 2 0 3
CrossBinary 4 4 1 0 5
CrossBinaryPtr 0 0 0 0 2
CrossPBLX 4 4 2 0 3
DomainReal 18 16 0 0 5
DomainRealPtr 0 0 0 0 8
EAlgorithm 10 7 2 0 11
ElemDimInit 3 3 0 0 4
EvalRunning 4 4 1 0 5
Hybrid 0 0 0 2 2
ICrossBinary 4 4 1 2 8
ICrossBinaryPtr 0 0 0 0 2
ICrossEAlgorithm 5 5 4 0 5
IEAlgorithm 18 18 2 1 15
IEval 2 2 0 1 10
IEvalInd 0 0 0 1 8
IFinish 2 2 0 1 1
ILSParameters 1 1 0 0 3
ILocalSearch 8 8 0 1 14
IMutation 4 4 0 1 6
IParallelLocalSearch 2 2 1 0 4
IRealRandom 2 2 0 2 3
IReset 3 3 0 5 5
IndException 1 1 1 0 2
InitIndividual 4 4 0 2 6
LSParametersMemory 0 0 0 0 2
MA2LSI 19 18 1 0 17
MA2LSIA 17 13 1 0 17
Mutation 5 5 0 0 4
MutationBGA 1 1 1 0 3
NewIndividualLocalSearchManager 4 4 1 1 3
NotifyEvalObserver 2 2 0 0 0
NotifyObserver 2 2 0 0 0
ORandom 3 3 1 0 1
PopulationObserver 4 4 0 0 2
PopulationReal 30 25 0 0 21
PopulationSort 2 2 0 0 2
Problem 22 21 2 0 18
ProblemFactory 2 2 0 1 1
ProblemParamPtr 0 0 0 0 1
ProblemTableFactory 3 3 1 0 2
Random 7 7 0 0 14
RandomPtr 0 0 0 0 1
RatioLocalSearchManager 5 3 2 0 8
Resetable 8 8 1 3 5
RestartBest 2 2 1 1 5
RestartReduce 2 2 2 0 4
RestartStrategy 2 2 0 1 6
Running 20 19 1 0 11
RunningException 2 2 1 0 2
RunningPtr 0 0 0 0 4
SRandom 4 4 1 0 1
SelectImprovementLS 3 3 0 0 4
SimpleInitInd 5 5 1 0 5
SortIndMax 1 1 0 0 1
SortIndMin 1 1 0 0 1
Statistics 9 9 0 0 8
UniformInitInd 5 5 1 0 6
anonymous 27 2 0 0 0
bool 0 0 0 0 7
clock_t 0 0 0 0 1
deque 0 0 0 0 3
list 0 0 0 0 2
map 0 0 0 0 2
runtime_error 0 0 0 3 3
string 0 0 0 0 9
tChromosomeReal 0 0 0 0 23
tCounter 0 0 0 0 0
tEval 0 0 0 0 1
tFitness 0 0 0 0 15
tGen 0 0 0 0 7
tIndividualReal 19 0 0 0 11
tIndividualRealPtr 0 0 0 0 5
tReal 0 0 0 0 1
unary_function 0 0 0 0 0
unsigned 0 0 0 0 24
vector 0 0 0 0 4

Structural Metrics Summary

Note that the fan-in and fan-out are calculated by examining the interface of each module. As noted above, three variants of each each of these measures are presented: a count restricted to the part of the interface which is externally visible, a count which only includes relationships which imply the client module needs to be recompiled if the supplier's implementation changes, and an inclusive count The label cell for each row in this table provides a link to the relationships table in the detailed report for the module in question
Module Name Fan-out Fan-in IF4
visconincvisconinclvisconinc
ClassEAlgorithm 1 1 1 14 4 14 196 16 196
Config 0 0 0 2 2 2 0 0 0
ConfigException 0 0 0 2 2 2 0 0 0
ConfigFile 1 1 1 2 2 2 4 4 4
CrossBLX 0 0 0 3 2 3 0 0 0
CrossBinary 0 0 0 5 3 5 0 0 0
CrossBinaryPtr 2 2 2 0 0 0 0 0 0
CrossPBLX 0 0 0 3 2 3 0 0 0
DomainReal 0 0 0 5 4 5 0 0 0
DomainRealPtr 8 8 8 0 0 0 0 0 0
EAlgorithm 0 0 0 11 5 11 0 0 0
ElemDimInit 0 0 0 3 3 4 0 0 0
EvalRunning 0 0 0 5 1 5 0 0 0
Hybrid 2 2 2 0 0 0 0 0 0
ICrossBinary 2 2 2 6 5 6 144 100 144
ICrossBinaryPtr 2 2 2 0 0 0 0 0 0
ICrossEAlgorithm 0 0 0 5 3 5 0 0 0
IEAlgorithm 4 1 4 11 3 11 1936 9 1936
IEval 9 1 9 1 0 1 81 0 81
IEvalInd 8 1 8 0 0 0 0 0 0
IFinish 1 1 1 0 0 0 0 0 0
ILSParameters 3 0 3 0 0 0 0 0 0
ILocalSearch 5 1 5 9 2 9 2025 4 2025
IMutation 2 1 2 4 2 4 64 4 64
IParallelLocalSearch 0 0 0 4 2 4 0 0 0
IRealRandom 3 2 3 0 0 0 0 0 0
IReset 5 5 5 0 0 0 0 0 0
IndException 0 0 0 2 2 2 0 0 0
InitIndividual 2 2 3 3 2 3 36 16 81
LSParametersMemory 2 0 2 0 0 0 0 0 0
MA2LSI 0 0 0 17 6 17 0 0 0
MA2LSIA 0 0 0 14 6 17 0 0 0
Mutation 0 0 0 4 1 4 0 0 0
MutationBGA 0 0 0 3 2 3 0 0 0
NewIndividualLocalSearchManager 1 1 1 2 1 2 4 1 4
NotifyEvalObserver 0 0 0 0 0 0 0 0 0
NotifyObserver 0 0 0 0 0 0 0 0 0
ORandom 0 0 0 1 1 1 0 0 0
PopulationObserver 1 0 1 1 1 1 1 0 1
PopulationReal 7 0 8 9 7 13 3969 0 10816
PopulationSort 0 0 0 2 1 2 0 0 0
Problem 9 0 9 9 8 9 6561 0 6561
ProblemFactory 1 1 1 0 0 0 0 0 0
ProblemParamPtr 1 1 1 0 0 0 0 0 0
ProblemTableFactory 0 0 0 2 2 2 0 0 0
Random 12 0 12 2 1 2 576 0 576
RandomPtr 1 1 1 0 0 0 0 0 0
RatioLocalSearchManager 0 0 0 7 3 8 0 0 0
Resetable 3 3 3 1 1 2 9 9 36
RestartBest 1 1 1 4 1 4 16 1 16
RestartReduce 0 0 0 4 1 4 0 0 0
RestartStrategy 3 1 3 3 0 3 81 0 81
Running 5 0 5 3 6 6 225 0 900
RunningException 0 0 0 2 2 2 0 0 0
RunningPtr 4 4 4 0 0 0 0 0 0
SRandom 0 0 0 1 1 1 0 0 0
SelectImprovementLS 2 0 2 2 0 2 16 0 16
SimpleInitInd 0 0 0 5 3 5 0 0 0
SortIndMax 0 0 0 1 0 1 0 0 0
SortIndMin 0 0 0 1 0 1 0 0 0
Statistics 3 0 3 3 4 5 81 0 225
UniformInitInd 0 0 0 5 4 6 0 0 0
anonymous 0 0 0 0 0 0 0 0 0
bool 3 7 7 0 0 0 0 0 0
clock_t 0 1 1 0 0 0 0 0 0
deque 1 2 3 0 0 0 0 0 0
list 0 1 2 0 0 0 0 0 0
map 1 2 2 0 0 0 0 0 0
runtime_error 3 3 3 0 0 0 0 0 0
string 8 9 9 0 0 0 0 0 0
tChromosomeReal 23 1 23 0 0 0 0 0 0
tCounter 0 0 0 0 0 0 0 0 0
tEval 1 1 1 0 0 0 0 0 0
tFitness 15 10 15 0 0 0 0 0 0
tGen 7 2 7 0 0 0 0 0 0
tIndividualReal 5 0 5 6 3 6 900 0 900
tIndividualRealPtr 5 5 5 0 0 0 0 0 0
tReal 1 1 1 0 0 0 0 0 0
unary_function 0 0 0 0 0 0 0 0 0
unsigned 23 23 24 0 0 0 0 0 0
vector 2 3 4 0 0 0 0 0 0

Other Extents

LocationTextLOCCOMMVG
common/config.cc:1
<file scope items> 0 0 0
common/ConfigFile.cc:1
<file scope items> 2 19 0
common/cross.cc:1
<file scope items> 3 18 0
common/cross.h:1
<file scope items> 6 18 0
common/define.h:1
<file scope items> 3 19 0
common/distance.cc:1
<file scope items> 2 18 0
common/distance.h:1
<file scope items> 3 18 0
common/domain.cc:1
<file scope items> 3 18 0
common/domain.h:1
<file scope items> 4 18 0
common/ea.cc:1
<file scope items> 3 18 0
common/ea.h:1
<file scope items> 5 18 0
common/icross.h:1
<file scope items> 4 18 0
common/iea.cc:1
<file scope items> 3 18 0
common/iea.h:1
<file scope items> 7 18 0
common/ilocalsearch.h:1
<file scope items> 3 18 0
common/imutation.h:1
<file scope items> 3 18 0
common/individual.cc:1
<file scope items> 4 18 0
common/initind.cc:1
<file scope items> 3 0 0
common/initind.h:1
<file scope items> 6 18 0
common/localsearch.cc:1
<file scope items> 2 18 0
common/localsearch.h:1
<file scope items> 4 21 0
common/ma2lsia.cc:1
<file scope items> 3 18 0
common/ma2lsia.h:1
<file scope items> 3 18 0
common/ma2lsi.cc:1
<file scope items> 3 18 0
common/ma2lsi.h:1
<file scope items> 3 18 0
common/main_test.cc:1
<file scope items> 2 18 0
common/mutation.cc:1
<file scope items> 3 18 0
common/mutation.h:1
<file scope items> 4 18 0
common/orandom.cc:1
<file scope items> 1 1 0
common/orandom.h:1
<file scope items> 1 1 0
common/popobserver.h:1
<file scope items> 3 18 0
common/populationreal.cc:1
<file scope items> 6 18 0
common/populationreal.h:1
<file scope items> 5 18 0
common/problem.cc:1
<file scope items> 2 18 0
common/problemfactory.h:1
<file scope items> 3 18 0
common/problem.h:51
msg = " 1 0 0
common/problem.h:52
msg . c_str 1 0 1
common/problemtablefactory.cc:1
<file scope items> 3 18 0
common/problemtablefactory.h:1
<file scope items> 3 18 0
common/random.cc:1
<file scope items> 3 18 0
common/random.h:1
<file scope items> 2 1 0
common/real.h:1
<file scope items> 8 21 0
common/restart.cc:1
<file scope items> 2 0 0
common/restart.h:1
<file scope items> 3 18 0
common/running.cc:1
<file scope items> 2 18 0
common/selectls.h:1
<file scope items> 3 18 0
common/signal.cc:1
<file scope items> 1 1 0
common/signal.h:1
<file scope items> 2 18 0
common/srandom.cc:1
<file scope items> 1 1 0
common/srandom.h:1
<file scope items> 1 1 0
common/statistics.cc:1
<file scope items> 2 18 0
common/statistics.h:1
<file scope items> 3 24 0

About CCCC

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.