Fast Summary:  MenuScreen.java and SplashScreen.java need to be commented more throughly.  The splash screen also needs information (almost as much as the game) to run, therefore a high in and out flow is expected.

CCCC Software Metrics Report
generated Mon May 12 00:18:24 2003

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.
Metric Tag Overall Per Module
Number of modules NOM 27  
Lines of Code LOC 922 34.148
McCabe's Cyclomatic Number MVG 91 3.370
Lines of Comment COM 782 28.963
LOC/COM L_C 1.179  
MVG/COM M_C 0.116  
Information Flow measure (  inclusive ) IF4 862 31.926
Information Flow measure (  visible ) IF4v 862 31.926
Information Flow measure (  concrete ) IF4c 0 0.000
Lines of Code rejected by parser REJ 28  

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 Name LOC MVG COM L_C M_C
Canvas 0 0 0 ------ ------
Command 0 0 0 ------ ------
CommandListener 0 0 0 ------ ------
Displayable 0 0 0 ------ ------
FrameTrigger 27 1 30 0.900 ------
GameBoard 82 9 60 1.367 0.150
GameBoardFactory 97 2 27 3.593 ------
GameCanvas 84 12 44 1.909 0.273
GhostActor 117 23 111 1.054 0.207
Graphics 0 0 0 ------ ------
GridNode 94 7 187 0.503 0.037
List 0 0 0 ------ ------
MIDlet 0 0 0 ------ ------
MenuScreen 47 4 1 47.000 ------
PacmanActor 168 26 179 0.939 0.145
PacmanTask 9 0 5 ------ ------
PacmanTimer 10 0 9 ------ ------
Random 0 0 0 ------ ------
SplashScreen 81 5 0 ****** ******
SplashTrigger 23 1 26 0.885 ------
String 0 0 0 ------ ------
Thread 0 0 0 ------ ------
Timer 0 0 0 ------ ------
TimerTask 0 0 0 ------ ------
Vector 0 0 0 ------ ------
anonymous 0 0 0 ------ ------
pacman 55 1 31 1.774 ------

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 Name WMC1 WMCv DIT NOC CBO
Canvas 0 0 0 2 2
Command 0 0 0 0 3
CommandListener 0 0 0 3 3
Displayable 0 0 0 0 3
FrameTrigger 4 0 1 0 3
GameBoard 7 0 0 0 7
GameBoardFactory 3 0 0 0 2
GameCanvas 6 0 1 0 10
GhostActor 11 0 0 0 4
Graphics 0 0 0 0 6
GridNode 16 0 0 0 5
List 0 0 0 1 1
MIDlet 0 0 0 1 1
MenuScreen 2 0 1 0 7
PacmanActor 13 0 0 0 5
PacmanTask 1 0 1 0 1
PacmanTimer 1 0 0 0 2
Random 0 0 0 0 1
SplashScreen 5 0 1 0 10
SplashTrigger 3 0 1 0 3
String 0 0 0 0 1
Thread 0 0 0 2 2
Timer 0 0 0 0 1
TimerTask 0 0 0 1 1
Vector 0 0 0 0 1
anonymous 0 0 0 0 0
pacman 9 0 1 0 7

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
vis con inc vis con incl vis con inc
Canvas 2 2 2 0 0 0 0 0 0
Command 3 0 3 0 0 0 0 0 0
CommandListener 3 3 3 0 0 0 0 0 0
Displayable 3 0 3 0 0 0 0 0 0
FrameTrigger 1 0 1 2 1 2 4 0 4
GameBoard 2 0 2 5 0 5 100 0 100
GameBoardFactory 0 0 0 2 0 2 0 0 0
GameCanvas 2 0 2 8 2 8 256 0 256
GhostActor 1 0 1 3 0 3 9 0 9
Graphics 6 0 6 0 0 0 0 0 0
GridNode 4 0 4 1 0 1 16 0 16
List 1 1 1 0 0 0 0 0 0
MIDlet 1 1 1 0 0 0 0 0 0
MenuScreen 1 0 1 6 2 6 36 0 36
PacmanActor 2 0 2 3 0 3 36 0 36
PacmanTask 0 0 0 1 1 1 0 0 0
PacmanTimer 1 0 1 1 0 1 1 0 1
Random 1 0 1 0 0 0 0 0 0
SplashScreen 2 0 2 8 2 8 256 0 256
SplashTrigger 1 0 1 2 1 2 4 0 4
String 1 0 1 0 0 0 0 0 0
Thread 2 2 2 0 0 0 0 0 0
Timer 1 0 1 0 0 0 0 0 0
TimerTask 1 1 1 0 0 0 0 0 0
Vector 1 0 1 0 0 0 0 0 0
anonymous 0 0 0 0 0 0 0 0 0
pacman 3 0 3 4 1 4 144 0 144

Other Extents

Location Text LOC COM MVG
FrameTrigger.java:1
<file scope items> 2 10 0
GameBoard.java:1
<file scope items> 3 10 0
GameBoardFactory.java:1
<file scope items> 1 1 0
GameCanvas.java:1
<file scope items> 2 10 0
GhostActor.java:1
<file scope items> 2 10 0
GridNode.java:1
<file scope items> 2 10 0
MenuScreen.java:1
<file scope items> 3 0 0
pacman.java:1
<file scope items> 3 10 0
PacmanActor.java:1
<file scope items> 4 11 0
SplashScreen.java:1
<file scope items> 4 0 0
SplashTrigger.java:1
<file scope items> 2 0 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.fste.ac.cowan.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.