ckjm calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files. For each class given, the program calculates the following six metrics proposed by Chidamber and Kemerer: WMC, weighted methods per class; DIT, depth of inheritance tree; NOC, number of children; CBO, coupling between object classes; RFC, response for a class; and LCOM, lack of cohesion in methods. In addition, ckjm also calculates each class's afferent couplings (Ca) and its number of public methods (NPM).


The depth of inheritance tree (DIT) calculation now also takes into account classes that are not directly processed. The ckjm ant task has a corresponding structure. Contributed code contains Ruby scripts that plot ckjm metrics as charts.

URL: ckjm — Chidamber and Kemerer Java Metrics