Abstract
Context: Software systems are an integral part of almost every modern industry. Unfortunately, the more complex the software, the more likely it will fail. A promising strategy is applying fault prediction models to predict which components may be defective. Since features are essential to the prediction model's success, extracting significant features can improve the model's accuracy. Previous research studies used software metrics as features in fault prediction models. One disadvantage of these features is that they measure the code developed rather than the requirements. On the other hand, faults are frequently the result of a mismatch between the software's behavior and its needs. Objective: We present a novel paradigm for constructing features that consider the requirements as well by combining novel requirement metrics, called Issues-Driven features, and traditional code metrics. Method: We experimentally compare the performance of Issues-Driven features and state-of-the-art traditional features on 86 open-source projects from two organizations. Results: The results show that Issues-Driven features are significantly better than state-of-the-art features and achieve an improvement of 6 to 13 percent in terms of AUC. Conclusions: The study concludes that integrating the requirements into fault prediction features overcomes the limitations of traditional software metrics that are agnostic to the requirements of the software.
Original language | English |
---|---|
Article number | 107102 |
Journal | Information and Software Technology |
Volume | 155 |
DOIs | |
State | Published - Mar 2023 |
Externally published | Yes |
Bibliographical note
Publisher Copyright:© 2022 Elsevier B.V.
Funding
This study has been funded by the Cyber Security Research Center at Ben-Gurion University of the Negev, Israel and by the ISF, Israel grant #1716/17 .
Funders | Funder number |
---|---|
ISF, Israel | 1716/17 |
Keywords
- Code debugging
- Mining software repositories
- Software defect prediction
- Software engineering
- Software prediction
- Software quality