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

被引:0
|
作者
Shatnawi R. [1 ]
机构
[1] Jordan University of Science and Technology, Irbid
关键词
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 条
  • [1] Predicting Software Change-Proneness with Code Smells and Class Imbalance Learning
    Kaur, Arvinder
    Kaur, Kamaldeep
    Jain, Shilpi
    2016 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2016, : 746 - 754
  • [2] Deep Metric Learning for Software Change-Proneness Prediction
    Ge, Yongxin
    Chen, Min
    Liu, Chao
    Chen, Feiyi
    Huang, Sheng
    Wang, Hongxing
    INTELLIGENCE SCIENCE AND BIG DATA ENGINEERING, 2018, 11266 : 287 - 300
  • [3] Software change-proneness prediction based on deep learning
    Zhu, Xiaoyan
    Li, Nan
    Wang, Yong
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2022, 34 (04)
  • [4] Software change-proneness prediction through combination of bagging and resampling methods
    Zhu, Xiaoyan
    He, Yueyang
    Cheng, Long
    Jia, Xiaolin
    Zhu, Lei
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2018, 30 (12)
  • [5] Understanding change-proneness in OO software through visualization
    Bieman, JM
    Andrews, AA
    Yang, HJ
    IWPC 2003: 11TH IEEE INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, 2003, : 44 - 53
  • [6] An Exploratory Study of the Impact of Code Smells on Software Change-proneness
    Khomh, Foutse
    Di Penta, Massimiliano
    Gueheneuc, Yann-Gael
    16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 75 - +
  • [7] PREDICTING SOFTWARE CHANGE IN AN OPEN SOURCE SOFTWARE USING MACHINE LEARNING ALGORITHMS
    Malhotra, Ruchika
    Bansal, Ankita Jain
    INTERNATIONAL JOURNAL OF RELIABILITY QUALITY AND SAFETY ENGINEERING, 2013, 20 (06)
  • [8] A Sequential Comparative Analysis of Software Change Proneness Prediction Using Machine Learning
    Abbas, Raja
    Albalooshi, Fawzi Abdulaziz
    INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2022, 10 (01)
  • [9] Change-Proneness of Object-Oriented Software Using Combination of Feature Selection Techniques and Ensemble Learning Techniques
    Kumar, Lov
    Lal, Sangeeta
    Goyal, Anjali
    Murthy, N. L. Bhanu
    PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [10] Evaluation of Machine Learning Approaches for Change-Proneness Prediction Using Code Smells
    Kaur, Kamaldeep
    Jain, Shilpi
    PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON FRONTIERS IN INTELLIGENT COMPUTING: THEORY AND APPLICATIONS, FICTA 2016, VOL 1, 2017, 515 : 561 - 572