This is part of the output of cccc.
The parser is a bit fickle (thus there are less LOC),
but if you are into metrics per module, the full output
is certainly interesting.
All h, c, cpp files under inkscape/src were fed to cccc.
CCCC Software Metrics Report
generated Tue Oct 18 11:46:19 2005
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
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
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.
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.
A description of the CCCC program.
This table shows measures over the project as a whole.
* NOM = Number of modules
Number of non-trivial modules identified by the analyser.
Non-trivial modules include all classes, and any other
module for which member functions are identified.
* LOC = Lines of Code
Number of non-blank, non-comment lines of source code
counted by the analyser.
* COM = Lines of Comments
Number of lines of comment identified by the analyser
* MVG = McCabe's Cyclomatic Complexity
A measure of the decision complexity of the functions
which make up the program.The strict definition of this
measure is that it is the number of linearly independent
routes through a directed acyclic graph which maps the
flow of control of a subprogram. The analyser counts this
by recording the number of distinct decision outcomes
contained within each function, which yields a good
approximation to the formally defined version of the
* L_C = Lines of code per line of comment
Indicates density of comments with respect to textual size
* M_C = Cyclomatic Complexity per line of comment
Indicates density of comments with respect to logical
complexity of program
* IF4 = Information Flow measure
Measure of information flow between modules suggested by
Henry and Kafura. The analyser makes an approximate count
of this by counting inter-module couplings identified in
the module interfaces.
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
Metric Tag Overall Per Module
Number of modules NOM 1263
Lines of Code LOC 251892 199.439
McCabe's Cyclomatic Number MVG 49940 39.541
Lines of Comment COM 82049 64.964
LOC/COM L_C 3.070
MVG/COM M_C 0.609
Information Flow measure ( inclusive ) IF4 225272 178.363
Information Flow measure ( visible ) IF4v 216961 171.782
Information Flow measure ( concrete ) IF4c 13767 10.900
Lines of Code rejected by parser REJ 29365
Procedural Metrics Summary
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
User support for CCCC can be obtained by mailing the list
Please also visit the CCCC development website at