The prediction of fault classes using object-oriented design metrics (2001)

Author(s): Khaled El Emam, Walcelio Melo, Javam C. Machado
Venue: Journal of Systems and Software
Date: Feb 2001

Type of Experiement: Case Study


A commercial Java application was analyzed in between two versions 0.5 and 0.6. At version
0.5 they have customer feedback noting failures and change requests for future versions.
When developing 0.6 there was a redesign which took place in order to avoid using an
external GUI library which had limitations. Version 0.5 had 69 classes with 27 having faults.
Version 0.6 had 42 classes with having 24 faults.

It was found that OCMEC (Other Class-method Export coupling) and DIT (Depth of In-
heritance Tree) were useful in predicting fault-proneness at design time. El Emam et al.
made a point that at design time you have the class structure, the methods associated with
that class, and the relationships associated with foreign classes. There is however no im-
plementation as of yet so how strong those methods exercise there relationships is unknown
at design time. These metrics are useful for predicting fault-proneness of a system at its
implementation phase.