Can We Predict the Change in Code in a Software Product Line Project?
Open Access
- 1 January 2020
- journal article
- research article
- Published by Scientific Research Publishing, Inc. in Journal of Software Engineering and Applications
- Vol. 13 (06), 91-103
- https://doi.org/10.4236/jsea.2020.136007
Abstract
Software programs are always prone to change for several reasons. In a software product line, the change is more often as many software units are carried from one release to another. Also, other new files are added to the reused files. In this work, we explore the possibility of building a model that can predict files with a high chance of experiencing the change from one release to another. Knowing the files that are likely to face a change is vital because it will help to improve the planning, managing resources, and reducing the cost. This also helps to improve the software process, which should lead to better software quality. Also, we explore how different learners perform in this context, and if the learning improves as the software evolved. Predicting change from a release to the next release was successful using logistic regression, J48, and random forest with accuracy and precision scored between 72% to 100%, recall scored between 74% to 100%, and F-score scored between 80% to 100%. We also found that there was no clear evidence regarding if the prediction performance will ever improve as the project evolved.Keywords
This publication has 25 references indexed in Scilit:
- How Good Is Genetic Programming at Predicting Changes and Defects?Published by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Assessment and cross-product prediction of software product line quality: accounting for reuse across products, over multiple releasesAutomated Software Engineering, 2014
- Predicting failure-proneness in an evolving software product lineInformation and Software Technology, 2013
- Can we predict types of code changes? An empirical analysisPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- Using source code metrics to predict change-prone Java interfacesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- Do too many cooks spoil the broth? Using the number of developers to enhance defect prediction modelsEmpirical Software Engineering, 2008
- A comparative analysis of the efficiency of change metrics and static code attributes for defect predictionPublished by Association for Computing Machinery (ACM) ,2008
- Identifying and characterizing change-prone classes in two large-scale open-source productsJournal of Systems and Software, 2007
- An empirical validation of object-oriented metrics in two different iterative software processesIEEE Transactions on Software Engineering, 2003
- Object-oriented metrics that predict maintainabilityJournal of Systems and Software, 1993