Title :
A learning-based method for detecting defective classes in object-oriented systems
Author :
Biray, Cagil ; Buzluca, Feza
Author_Institution :
Ericsson Turkey R&D, Istanbul, Turkey
Abstract :
Code or design problems in software classes reduce understandability, flexibility and reusability of the system. Performing maintenance activities on defective components such as adding new features, adapting to the changes, finding bugs, and correcting errors, is hard and consumes a lot of time. Unless the design defects are corrected by a refactoring process these error-prone classes will most likely generate new errors after later modifications. Therefore, these classes will have a high error frequency (EF), which is defined as the ratio between the number of errors and modifications. Early estimate of error-prone classes helps developers to focus on defective modules, thus reduces testing time and maintenance costs. In this paper, we propose a learning-based decision tree model for detecting error-prone classes with structural design defects. The main novelty in our approach is that we consider EFs and change counts (ChC) of classes to construct a proper data set for the training of the model. We built our training set that includes design metrics of classes by analyzing numerous releases of real-world software products and considering EFs of classes to mark them as error-prone or non-error-prone. We evaluated our method using two long-standing software solutions of Ericsson Turkey. We shared and discussed our findings with the development teams. The results show that, our approach succeeds in finding error-prone classes and it can be used to decrease the testing and maintenance costs.
Keywords :
decision trees; object-oriented methods; software maintenance; software quality; ChC; change counts; defective classes; error-prone classes; high error frequency; learning-based decision tree model; long-standing software solutions; object-oriented systems; real-world software products; refactoring process; software quality; structural design defects; Data models; Decision trees; Maintenance engineering; Measurement; Software; Testing; Training; bug prediction; decision tree; software defects; software quality;
Conference_Titel :
Software Testing, Verification and Validation Workshops (ICSTW), 2015 IEEE Eighth International Conference on
Conference_Location :
Graz
DOI :
10.1109/ICSTW.2015.7107477