{"title":"Deriving change-prone thresholds from software evolution using ROC curves","authors":"Raed Shatnawi","doi":"10.1007/s11227-024-06366-5","DOIUrl":null,"url":null,"abstract":"<p>Software evolution measurement is required to control software costs and aid in the development of cost-effective software. Early detection of potential changes gives developers time to plan for change. Simple techniques to detect the change-proneness of classes are required such as thresholds, particularly in incremental software development. In this study, we propose to derive thresholds to detect the change-proneness of classes using ROC analysis. The analysis is conducted on the evolution of five systems for six object-oriented metrics, Chidamber and Kemerer. Thresholds are considered in software evolution in three intervals: 6 months, 12 months, and 3 years. Thresholds are reported for four metrics that can predict change-proneness. Similar thresholds are reported at 6 and 12 months. For the same metrics, fault-proneness thresholds are identified, and the results are compared to their counterparts in change-proneness thresholds. The change-proneness thresholds derived are smaller and identify more classes for further investigation.</p>","PeriodicalId":501596,"journal":{"name":"The Journal of Supercomputing","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"The Journal of Supercomputing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1007/s11227-024-06366-5","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Software evolution measurement is required to control software costs and aid in the development of cost-effective software. Early detection of potential changes gives developers time to plan for change. Simple techniques to detect the change-proneness of classes are required such as thresholds, particularly in incremental software development. In this study, we propose to derive thresholds to detect the change-proneness of classes using ROC analysis. The analysis is conducted on the evolution of five systems for six object-oriented metrics, Chidamber and Kemerer. Thresholds are considered in software evolution in three intervals: 6 months, 12 months, and 3 years. Thresholds are reported for four metrics that can predict change-proneness. Similar thresholds are reported at 6 and 12 months. For the same metrics, fault-proneness thresholds are identified, and the results are compared to their counterparts in change-proneness thresholds. The change-proneness thresholds derived are smaller and identify more classes for further investigation.