Incorporating transitive relations in low-level design-based class cohesion measurement

Authors


Correspondence to: Jehad Al Dallal, Information Science, Kuwait University, P.O. Box 5969, Safat 13060, Kuwait.

E-mail: j.aldallal@ku.edu.kw

SUMMARY

Class cohesion metrics apply different approaches to quantify the relatedness of the attributes and methods in a class. These relations can be direct or transitive. Method invocations are among the key sources of potential transitive attribute–method relations. That is, a method is not only related to the attributes that it references, but it may also be transitively related to the attributes referenced by the methods that it invokes. A few of the existing class cohesion metrics capture this potential transitive cohesion aspect. In this paper, we classify the method invocations as direct or transitive. The definitions of the class representative models used by 16 existing low-level design (LLD) metrics are extended to incorporate the cohesion caused by the two types of method invocations. The impact of incorporating the transitive relations because of the two types of method invocations on the cohesion values and on the ability of the LLD metrics to predict faulty classes are studied empirically. The results show that the transitive relations because of both types of method invocations featured a considerable degree of cohesion that is not captured by most of the existing LLD metrics. However, practically, incorporating transitive relations in cohesion measurement was found to be ineffective in improving the fault-prediction powers of most of the LLD metrics. Copyright © 2012 John Wiley & Sons, Ltd.

Ancillary