Abstract

A large number of metrics have been proposed in the literature to measure various structural properties of object-oriented software. Furthermore, many centrality measures have been introduced to identify central nodes in large networks. To the best of our knowledge, only few empirical software engineering studies have explored these metrics in the case of software systems. This paper aims at providing further evidence on the usefulness of centrality measures as indicators of software defect proneness by: (1) investigating the relationships between object-oriented metrics and centrality measures, and (2) exploring how they can be combined to improve the prediction of fault-prone classes in object-oriented software. We collected data from five different versions of one open source Java software system. We used the Principal Component Analysis technique to eliminate metrics (measures) providing redundant information. Then, we built different models to predict fault-prone classes using four machine learning algorithms. Results indicate that: (1) some centrality measures capture information that is not captured by traditional object-oriented metrics, and (2) combining centrality measures with object-oriented metrics improves the performance of fault-prone classes prediction.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call