Abstract
Because of the increase in size and complexity of todays advanced software systems; the number of structural defective software classes in projects also increases, when necessary precautions are not taken. In this study, we purpose a machine-learning-based approach to detect defective classes, which generate most of the errors in the tests. Our objective is helping software developers and testers to predict error-prone classes, eliminate design defects and reduce testing costs. In learning-based methods, the dataset that is used for training the model, strongly affects the accuracy of the detection system. Therefore, we focus on steps of constructing the proper dataset using different metrics collected from existing software projects. First, we consider the rate of errors generated by a class to label it as "Clean" or "Buggy". Secondly, we use CFS (Correlation-based Feature Selection) and the PCA (Principal Component Analysis) methods to obtain the most appropriate subset of metrics. This feature selection process increases the understandability and the detection performance of the model. Lastly, we apply the Random Forest classification method to determine error-prone classes. We evaluated our approach using five different datasets that include data collected from various open-source Eclipse subprojects. The results show that our approach is successful in building learning-based models for detecting error-prone classes. However, we also observed that different models should be created for different software systems, because each project has its own character.
Original language | English |
---|---|
Title of host publication | Proceedings - 17th IEEE/ACIS International Conference on Computer and Information Science, ICIS 2018 |
Editors | Wei Xiong, Wenqiang Shang, Simon Xu, Hwee-Kuan Lee |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 217-223 |
Number of pages | 7 |
ISBN (Electronic) | 9781538658925 |
DOIs | |
Publication status | Published - 14 Sept 2018 |
Event | 17th IEEE/ACIS International Conference on Computer and Information Science, ICIS 2018 - Singapore, Singapore Duration: 6 Jun 2018 → 8 Jun 2018 |
Publication series
Name | Proceedings - 17th IEEE/ACIS International Conference on Computer and Information Science, ICIS 2018 |
---|
Conference
Conference | 17th IEEE/ACIS International Conference on Computer and Information Science, ICIS 2018 |
---|---|
Country/Territory | Singapore |
City | Singapore |
Period | 6/06/18 → 8/06/18 |
Bibliographical note
Publisher Copyright:© 2018 IEEE.
Keywords
- bug prediction
- machine learning
- software defect detection
- software quality