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 20 
Lines of CodeLOC 34617.300
McCabe's Cyclomatic NumberMVG 61 3.050
Lines of CommentCOM 37 1.850
LOC/COML_C 9.351 
MVG/COMM_C 1.649 
Information Flow measure (  inclusive )IF4 64 3.200
Information Flow measure (  visible )IF4v 64 3.200
Information Flow measure (  concrete )IF4c 0 0.000
Lines of Code rejected by parserREJ 11 

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
AnimatingControlsSurface 0 0 0------------
BasicStroke 0 0 0------------
BufferedImage 0 0 0------------
ChangeEvent 0 0 0------------
ChangeListener 0 0 0------------
Component 0 0 0------------
CustomControls 0 0 0------------
DemoControls 74 4 174.000------
Dimension 0 0 0------------
FadeAnim 165 36 441.250 9.000
Font 0 0 0------------
Graphics2D 0 0 0------------
JSlider 0 0 0------------
Object 0 0 0------------
ObjectData 84 21 0************
Paint 0 0 0------------
String 0 0 0------------
TextData 12 0 0------------
TexturePaint 0 0 0------------
Vector 0 0 0------------

Procedural Metrics Detail

AnimatingControlsSurface

LOCMVGCOML_CM_C
No member functions have been identified for this module
BasicStroke

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
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
Component

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   prn13.java:350

LOCMVGCOML_CM_C
DemoControls(  FadeAnim )
definition   prn13.java:356

39 0 0******------
getPreferredSize(   )
definition   prn13.java:422

3 0 0------------
run(   )
definition   prn13.java:427

8 0 0------------
stateChanged(  ChangeEvent )
definition   prn13.java:401

19 4 0------------
Dimension

LOCMVGCOML_CM_C
No member functions have been identified for this module
FadeAnim
definition   prn13.java:54

LOCMVGCOML_CM_C
FadeAnim(   )
definition   prn13.java:92

8 0 0------------
main(  String[] )
definition   prn13.java:236

3 0 0------------
render(  int,  int,  Graphics2D )
definition   prn13.java:209

24 6 0************
reset(  int,  int )
definition   prn13.java:195

5 1 0------------
setImages(  int )
definition   prn13.java:102

29 5 0************
setShapes(  int )
definition   prn13.java:161

31 19 0************
setStrings(  int )
definition   prn13.java:134

24 4 0******------
step(  int,  int )
definition   prn13.java:202

5 1 0------------
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
JSlider

LOCMVGCOML_CM_C
No member functions have been identified for this module
Object

LOCMVGCOML_CM_C
No member functions have been identified for this module
ObjectData
definition   prn13.java:257

LOCMVGCOML_CM_C
ObjectData(  Object,  Paint )
definition   prn13.java:268

11 2 0------------
getRandomXY(  int,  int )
definition   prn13.java:281

14 4 0------------
reset(  int,  int )
definition   prn13.java:297

28 9 0************
step(  int,  int )
definition   prn13.java:327

20 6 0************
Paint

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
TextData
definition   prn13.java:241

LOCMVGCOML_CM_C
TextData(  String,  Font,  Component )
definition   prn13.java:247

7 0 0------------
TexturePaint

LOCMVGCOML_CM_C
No member functions have been identified for this module
Vector

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
AnimatingControlsSurface 0 0 0 1 1
BasicStroke 0 0 0 0 1
BufferedImage 0 0 0 0 1
ChangeEvent 0 0 0 0 1
ChangeListener 0 0 0 1 1
Component 0 0 0 0 1
CustomControls 0 0 0 1 1
DemoControls 4 0 1 0 7
Dimension 0 0 0 0 1
FadeAnim 8 0 1 0 9
Font 0 0 0 0 3
Graphics2D 0 0 0 0 1
JSlider 0 0 0 0 1
Object 0 0 0 2 2
ObjectData 4 0 1 0 3
Paint 0 0 0 0 2
String 0 0 0 0 2
TextData 1 0 1 0 4
TexturePaint 0 0 0 0 1
Vector 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
AnimatingControlsSurface 1 1 1 0 0 0 0 0 0
BasicStroke 1 0 1 0 0 0 0 0 0
BufferedImage 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
Component 1 0 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
FadeAnim 1 0 1 8 1 8 64 0 64
Font 3 0 3 0 0 0 0 0 0
Graphics2D 1 0 1 0 0 0 0 0 0
JSlider 1 0 1 0 0 0 0 0 0
Object 2 2 2 0 0 0 0 0 0
ObjectData 0 0 0 3 1 3 0 0 0
Paint 2 0 2 0 0 0 0 0 0
String 2 0 2 0 0 0 0 0 0
TextData 0 0 0 4 1 4 0 0 0
TexturePaint 1 0 1 0 0 0 0 0 0
Vector 1 0 1 0 0 0 0 0 0

Structural Metrics Detail

Module NameClientsSuppliers
AnimatingControlsSurface FadeAnim [CV]
extends   prn13.java:54


 
 
BasicStroke FadeAnim [V]
member variable   prn13.java:72


 
 
BufferedImage ObjectData [V]
member variable   prn13.java:261


 
 
ChangeEvent DemoControls [V]
normal parameter   prn13.java:401


 
 
ChangeListener DemoControls [CV]
implements   prn13.java:350


 
 
Component TextData [V]
normal parameter   prn13.java:247


 
 
CustomControls DemoControls [CV]
extends   prn13.java:350


 
 
DemoControls   ChangeEvent [V]
normal parameter   prn13.java:401


ChangeListener [CV]
implements   prn13.java:350


CustomControls [CV]
extends   prn13.java:350


Dimension [V]
return type   prn13.java:422


FadeAnim [V]
member variable   prn13.java:352
normal parameter   prn13.java:356


Font [V]
member variable   prn13.java:354


JSlider [V]
member variable   prn13.java:353


 
Dimension DemoControls [V]
return type   prn13.java:422


 
 
FadeAnim DemoControls [V]
member variable   prn13.java:352
normal parameter   prn13.java:356


 
AnimatingControlsSurface [CV]
extends   prn13.java:54


BasicStroke [V]
member variable   prn13.java:72


Font [V]
member variable   prn13.java:73


Graphics2D [V]
normal parameter   prn13.java:209


Paint [V]
member variable   prn13.java:84


String [V]
member variable   prn13.java:79
member variable   prn13.java:82
normal parameter   prn13.java:236


TexturePaint [V]
member variable   prn13.java:56


Vector [V]
member variable   prn13.java:88


 
Font DemoControls [V]
member variable   prn13.java:354


FadeAnim [V]
member variable   prn13.java:73


TextData [V]
member variable   prn13.java:244
normal parameter   prn13.java:247


 
 
Graphics2D FadeAnim [V]
normal parameter   prn13.java:209


 
 
JSlider DemoControls [V]
member variable   prn13.java:353


 
 
Object ObjectData [CV]
extends   prn13.java:257
member variable   prn13.java:260
normal parameter   prn13.java:268


TextData [CV]
extends   prn13.java:241


 
 
ObjectData   BufferedImage [V]
member variable   prn13.java:261


Object [CV]
extends   prn13.java:257
member variable   prn13.java:260
normal parameter   prn13.java:268


Paint [V]
member variable   prn13.java:262
normal parameter   prn13.java:268


 
Paint FadeAnim [V]
member variable   prn13.java:84


ObjectData [V]
member variable   prn13.java:262
normal parameter   prn13.java:268


 
 
String FadeAnim [V]
member variable   prn13.java:79
member variable   prn13.java:82
normal parameter   prn13.java:236


TextData [V]
member variable   prn13.java:243
normal parameter   prn13.java:247


 
 
TextData   Component [V]
normal parameter   prn13.java:247


Font [V]
member variable   prn13.java:244
normal parameter   prn13.java:247


Object [CV]
extends   prn13.java:241


String [V]
member variable   prn13.java:243
normal parameter   prn13.java:247


 
TexturePaint FadeAnim [V]
member variable   prn13.java:56


 
 
Vector FadeAnim [V]
member variable   prn13.java:88


 
 

Other Extents

LocationTextLOCCOMMVG
prn13.java:1
<file scope items> 11 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.