Predict fault-prone classes using the complexity of UML class diagram

Arwin Halim · 2013

Complexity is an important attribute to determine the software quality. Software complexity can be measured during the design phase before implementation of system. At the design phase, UML class diagram is the important diagram to show the relationships among the classes of objects in the system. In this paper, we measure the complexity of object-oriented software at design phase to predict the fault-prone classes. The ability to predict the fault-prone classes can provide guidance for software testing and improve the effectiveness of development process. We constructed the Naive Bayesian and k-Nearest Neighbors model to find the relationship between the design complexity and fault-proneness. The proposed models are empirically evaluated using four version of JEdit. The models had been validated using 10-fold cross validation. The performance of prediction models were evaluated by goodness-of-fit criteria and Receiver Operating Characteristic (ROC) analysis. Results obtained from our case study showed the average of models developed by design complexity can predict up to 70% fault-prone classes in object oriented software. It is a better an early indicator of software quality.

Read the paper · More papers on PaperTik