This page is about the Chidamber and Kemerer (CK) metrics.
CK metrics are source code metrics that can be used for various purposes of analysis, e.g. defect prediction. The difference of CK metrics in comparison to McCabe and Halstead metrics is that CK metrics were designed specifically for source code developed in Object Oriented (OO) languages. The bibtex reference to CK metrics is given below:
@Article{chidamber94,
title = "A metrics suite for object oriented design",
author = "Chidamber, S.R. and Kemerer, C.F.",
pages = "476--493",
journal = "IEEE Transactions on Software Engineering",
year = "1994",
volume = "20",
month = "June",
number = "6"}
The CK metrics aim at measuring whether a piece of code follows OO principles. Hence, the proposed CK metrics are strongly related to OO concepts. The proposed CK metrics can be grouped under three stages of OO design processes:
The definition of CK metrics as well as their distribution to the aforementioned OO design processes are as follows.
Identification of Classes:
Semantics of Classes
Relationship Between Classes
@Article{churcher95,
title = "Comments on 'A metrics suite for object oriented design' ",
author = "Churcher, N.I. and Shepperd, M.J. and Chidamber, S. and Kemerer, C.F.",
pages = "263--265",
journal = "IEEE Transactions on Software Engineering",
year = "1995",
volume = "21",
month = "March",
number = "3"}
A brief and nice discussion concerning the pro’s and con’s of CK metrics can also be found here.
The CK metrics are also used in software defect prediction. For a short tutorial on defect prediction please refer here.