Convolutional Neural Networks for Software Defect Categorization: An Empirical Validation - Ruchika Malhotra; Madhukar Cherukuri (Journal of Universal Computer Science)
The escalating complexity and scale of software systems have rendered them increasingly susceptible to a variety of defects. To empower maintenance teams to efficiently prioritize and resolve defects, Software Defect Categorization (SDC) models have emerged, offering the classification of software defects into categories such as "high," "medium," or "low." This study embarks on the development of SDC models, based on three critical defect attributes: i) the maintenance effort required to rectify a defect, ii) the change impact on the software induced by defect resolution, and iii) a combined approach that integrates both maintenance effort and change impact. Leveraging the prevailing advancements in computational power and storage capacity, the study present a novel defect categorization model built upon Convolutional Neural Networks (CNNs). Extensive experiments were carried out on defect datasets from five Android operating system application modules, leading to the creation of 60 SDC models (5 datasets x 4 feature sets x 3 approaches). The results underscore the predictive potential of our CNN-based defect categorization model. Furthermore, SDC models rooted in the combined approach exhibit superior performance when compared to models based solely on change impact and remain competitive with those anchored in maintenance effort.