CCCC Software Metrics Report

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.

Procedural Metrics Detail

The same procedural metrics as in the procedural metrics summary, reported for individual functions, grouped by 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.

Structural Metrics Detail

The names of the modules included as clients and suppliers in the counts for the Structural Metrics Summary.

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 16 
Lines of CodeLOC 18811.750
McCabe's Cyclomatic NumberMVG 21 1.312
Lines of CommentCOM 44 2.750
LOC/COML_C 4.273 
MVG/COMM_C 0.477 
Information Flow measure (  inclusive )IF4 64 4.000
Information Flow measure (  visible )IF4v 64 4.000
Information Flow measure (  concrete )IF4c 0 0.000
Lines of Code rejected by parserREJ 9 

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
ActionEvent 0 0 0------------
ActionListener 0 0 0------------
BufferedImage 0 0 0------------
BufferedImageOp 0 0 0------------
ChangeEvent 0 0 0------------
ChangeListener 0 0 0------------
ControlsSurface 0 0 0------------
CustomControls 0 0 0------------
DemoControls 71 11 171.00011.000
Dimension 0 0 0------------
Font 0 0 0------------
Graphics2D 0 0 0------------
ImageOps 108 10 11 9.818 0.909
JComboBox 0 0 0------------
JSlider 0 0 0------------
String 0 0 0------------

Procedural Metrics Detail

ActionEvent

LOCMVGCOML_CM_C
No member functions have been identified for this module
ActionListener

LOCMVGCOML_CM_C
No member functions have been identified for this module
BufferedImage

LOCMVGCOML_CM_C
No member functions have been identified for this module
BufferedImageOp

LOCMVGCOML_CM_C
No member functions have been identified for this module
ChangeEvent

LOCMVGCOML_CM_C
No member functions have been identified for this module
ChangeListener

LOCMVGCOML_CM_C
No member functions have been identified for this module
ControlsSurface

LOCMVGCOML_CM_C
No member functions have been identified for this module
CustomControls

LOCMVGCOML_CM_C
No member functions have been identified for this module
DemoControls
definition   prn14.java:176

LOCMVGCOML_CM_C
DemoControls(  ImageOps )
definition   prn14.java:182

17 2 0------------
actionPerformed(  ActionEvent )
definition   prn14.java:201

22 4 0******------
getPreferredSize(   )
definition   prn14.java:225

3 0 0------------
run(   )
definition   prn14.java:230

24 5 0************
Dimension

LOCMVGCOML_CM_C
No member functions have been identified for this module
Font

LOCMVGCOML_CM_C
No member functions have been identified for this module
Graphics2D

LOCMVGCOML_CM_C
No member functions have been identified for this module
ImageOps
definition   prn14.java:52

LOCMVGCOML_CM_C
ImageOps(   )
definition   prn14.java:100

19 1 0------------
main(  String[] )
definition   prn14.java:171

3 0 0------------
render(  int,  int,  Graphics2D )
definition   prn14.java:136

7 0 0------------
stateChanged(  ChangeEvent )
definition   prn14.java:145

21 4 210.500------
thresholdOp(  int,  int )
definition   prn14.java:121

13 3 0------------
JComboBox

LOCMVGCOML_CM_C
No member functions have been identified for this module
JSlider

LOCMVGCOML_CM_C
No member functions have been identified for this module
String

LOCMVGCOML_CM_C
No member functions have been identified for this module

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
ActionEvent 0 0 0 0 1
ActionListener 0 0 0 1 1
BufferedImage 0 0 0 0 1
BufferedImageOp 0 0 0 0 1
ChangeEvent 0 0 0 0 1
ChangeListener 0 0 0 1 1
ControlsSurface 0 0 0 1 1
CustomControls 0 0 0 1 1
DemoControls 4 0 1 0 7
Dimension 0 0 0 0 1
Font 0 0 0 0 1
Graphics2D 0 0 0 0 1
ImageOps 5 0 1 0 9
JComboBox 0 0 0 0 1
JSlider 0 0 0 0 1
String 0 0 0 0 1

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
ActionEvent 1 0 1 0 0 0 0 0 0
ActionListener 1 1 1 0 0 0 0 0 0
BufferedImage 1 0 1 0 0 0 0 0 0
BufferedImageOp 1 0 1 0 0 0 0 0 0
ChangeEvent 1 0 1 0 0 0 0 0 0
ChangeListener 1 1 1 0 0 0 0 0 0
ControlsSurface 1 1 1 0 0 0 0 0 0
CustomControls 1 1 1 0 0 0 0 0 0
DemoControls 0 0 0 7 2 7 0 0 0
Dimension 1 0 1 0 0 0 0 0 0
Font 1 0 1 0 0 0 0 0 0
Graphics2D 1 0 1 0 0 0 0 0 0
ImageOps 1 0 1 8 2 8 64 0 64
JComboBox 1 0 1 0 0 0 0 0 0
JSlider 1 0 1 0 0 0 0 0 0
String 1 0 1 0 0 0 0 0 0

Structural Metrics Detail

Module NameClientsSuppliers
ActionEvent DemoControls [V]
normal parameter   prn14.java:201


 
 
ActionListener DemoControls [CV]
implements   prn14.java:176


 
 
BufferedImage ImageOps [V]
member variable   prn14.java:56


 
 
BufferedImageOp ImageOps [V]
member variable   prn14.java:60


 
 
ChangeEvent ImageOps [V]
normal parameter   prn14.java:145


 
 
ChangeListener ImageOps [CV]
implements   prn14.java:52


 
 
ControlsSurface ImageOps [CV]
extends   prn14.java:52


 
 
CustomControls DemoControls [CV]
extends   prn14.java:176


 
 
DemoControls   ActionEvent [V]
normal parameter   prn14.java:201


ActionListener [CV]
implements   prn14.java:176


CustomControls [CV]
extends   prn14.java:176


Dimension [V]
return type   prn14.java:225


Font [V]
member variable   prn14.java:180


ImageOps [V]
member variable   prn14.java:178
normal parameter   prn14.java:182


JComboBox [V]
member variable   prn14.java:179


 
Dimension DemoControls [V]
return type   prn14.java:225


 
 
Font DemoControls [V]
member variable   prn14.java:180


 
 
Graphics2D ImageOps [V]
normal parameter   prn14.java:136


 
 
ImageOps DemoControls [V]
member variable   prn14.java:178
normal parameter   prn14.java:182


 
BufferedImage [V]
member variable   prn14.java:56


BufferedImageOp [V]
member variable   prn14.java:60


ChangeEvent [V]
normal parameter   prn14.java:145


ChangeListener [CV]
implements   prn14.java:52


ControlsSurface [CV]
extends   prn14.java:52


Graphics2D [V]
normal parameter   prn14.java:136


JSlider [V]
member variable   prn14.java:54


String [V]
member variable   prn14.java:55
member variable   prn14.java:57
normal parameter   prn14.java:171


 
JComboBox DemoControls [V]
member variable   prn14.java:179


 
 
JSlider ImageOps [V]
member variable   prn14.java:54


 
 
String ImageOps [V]
member variable   prn14.java:55
member variable   prn14.java:57
normal parameter   prn14.java:171


 
 

Other Extents

LocationTextLOCCOMMVG
prn14.java:1
<file scope items> 9 32 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.