PREDICTING SOFTWARE CHANGE-PRONENESS FROM SOFTWARE EVOLUTION USING MACHINE LEARNING METHODS

被引:0
|
作者
Shatnawi R. [1 ]
机构
[1] Jordan University of Science and Technology, Irbid
来源
Interdisciplinary Journal of Information, Knowledge, and Management | 2023年 / 18卷
关键词
change-proneness; machine learning; software evolution; software metrics;
D O I
10.28945/5193
中图分类号
学科分类号
摘要
Aim/Purpose To predict the change-proneness of software from the continuous evolution using machine learning methods. To identify when software changes become statistically significant and how metrics change. Background Software evolution is the most time-consuming activity after a software re-lease. Understanding evolution patterns aids in understanding post-release software activities. Many methodologies have been proposed to comprehend software evolution and growth. As a result, change prediction is critical for future software maintenance. Methodology I propose using machine learning methods to predict change-prone classes. Classes that are expected to change in future releases were defined as change-prone. The previous release was only considered by the researchers to define change-proneness. In this study, I use the evolution of software to redefine change-proneness. Many snapshots of software were studied to determine when changes became statistically significant, and snapshots were taken bi-weekly. The research was validated by looking at the evolution of five large open-source systems. Contribution In this study, I use the evolution of software to redefine change-proneness. The research was validated by looking at the evolution of five large open-source systems. Findings Software metrics can measure the significance of evolution in software. In addition, metric values change within different periods and the significance of change should be considered for each metric separately. For five classifi-ers, change-proneness prediction models were trained on one snapshot and tested on the next. In most snapshots, the prediction performance was excel-lent. For example, for Eclipse, the F-measure values were between 80 and 94. For other systems, the F-measure values were higher than 75 for most snap-shots. Recommendations for Practitioners Software change happens frequently in the evolution of software; however, the significance of change happens over a considerable length of time and this time should be considered when evaluating the quality of software. Recommendation for Researchers Researchers should consider the significance of change when studying soft-ware evolution. Software changes should be taken from different perspec-tives besides the size or length of the code. Impact on Society Software quality management is affected by the continuous evolution of pro-jects. Knowing the appropriate time for software maintenance reduces the costs and impacts of software changes. Future Research Studying the significance of software evolution for software refactoring helps improve the internal quality of software code. © 2023 Informing Science Institute. All rights reserved.
引用
收藏
页码:769 / 790
页数:21
相关论文
共 50 条
  • [11] Evaluation of machine learning approaches for change-proneness prediction using code smells
    Kaur, Kamaldeep
    Jain, Shilpi
    Advances in Intelligent Systems and Computing, 2017, 515 : 561 - 572
  • [12] Machine Learning Methods for Predicting Software Failures
    Neufelder, Ann Marie
    Neufelder, Tom
    2024 ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM, RAMS, 2024,
  • [13] Predicting Change-Proneness with a Deep Learning Model: Incorporating Structural Dependencies
    Hu, Yamin
    Jiang, Hao
    2024 IEEE 48TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE, COMPSAC 2024, 2024, : 1218 - 1229
  • [14] An assessment of heterogenous ensemble classifiers for analyzing change-proneness in open-source software systems
    Khanna, Megha
    Bansal, Ankita
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (08)
  • [15] Predicting Software Anomalies using Machine Learning Techniques
    Alonso, Javier
    Belanche, Lluis
    Avresky, Dimiter R.
    2011 10TH IEEE INTERNATIONAL SYMPOSIUM ON NETWORK COMPUTING AND APPLICATIONS (NCA), 2011,
  • [16] Applying machine learning to software fault-proneness prediction
    Gondra, Iker
    JOURNAL OF SYSTEMS AND SOFTWARE, 2008, 81 (02) : 186 - 195
  • [17] Software effort estimation using machine learning methods
    Baskeles, Bilge
    Turhan, Burak
    Bener, Ayse
    2007 22ND INTERNATIONAL SYMPOSIUM ON COMPUTER AND INFORMATION SCIENCES, 2007, : 208 - 213
  • [18] Assessment of Code Smell for Predicting Class Change Proneness Using Machine Learning
    Pritam, Nakul
    Khari, Manju
    Le Hoang Son
    Kumar, Raghvendra
    Jha, Sudan
    Priyadarshini, Ishaani
    Abdel-Basset, Mohamed
    Hoang Viet Long
    IEEE ACCESS, 2019, 7 : 37414 - 37425
  • [19] Predicting Software Effort Estimation Using Machine Learning Techniques
    BaniMustafa, Ahmed
    2018 8TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY (CSIT), 2018, : 249 - 256
  • [20] Applying machine learning to predict software fault proneness using change metrics, static code metrics, and a combination of them
    Alshehri, Yasser Ali
    Goseva-Popstojanova, Katerina
    Dzielski, Dale G.
    Devine, Thomas
    IEEE SOUTHEASTCON 2018, 2018,