|||"Software Change Prediction: A Systematic Review and Future Guidelines", In e-Informatica Software Engineering Journal, vol. 13, no. 1, pp. 227–259, 2019.
DOI: , 10.5277/e-Inf190107.|
Get article (PDF)View article entry (BibTeX)
Ruchika Malhotra, Megha Khanna
Background: The importance of Software Change Prediction (SCP) has been emphasized by several studies. Numerous prediction models in literature claim to effectively predict change-prone classes in software products. These models help software managers in optimizing resource usage and in developing good quality, easily maintainable products.
Aim: There is an urgent need to compare and assess these numerous SCP models in order to evaluate their effectiveness. Moreover, one also needs to assess the advancements and pitfalls in the domain of SCP to guide researchers and practitioners.
Method: In order to fulfill the above stated aims, we conduct an extensive literature review of 38 primary SCP studies from January 2000 to June 2019.
Results: The review analyzes the different set of predictors, experimental settings, data analysis techniques, statistical tests and the threats involved in the studies, which develop SCP models.
Conclusion: Besides, the review also provides future guidelines to researchers in the SCP domain, some of which include exploring methods for dealing with imbalanced training data, evaluation of search-based algorithms and ensemble of algorithms for SCP amongst others.
change-proneness, machine learning, software quality, systematic review
 Y. Zhou, H. Leung, and B. Xu, “Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness,” IEEE Transactions on Software Engineering, Vol. 35, No. 5, 2009, pp. 607–623.
 A.G. Koru and J. Tian, “Comparing high-change modules and modules with the highest measurement values in two large-scale open-source products,” IEEE Transactions on Software Engineering, Vol. 31, No. 8, 2005, pp. 625–642.
 R. Malhotra, M. Khanna, and R.R. Raje, “On the application of search-based techniques for software engineering predictive modeling: A systematic review and future directions,” Swarm and Evolutionary Computation, Vol. 32, 2017, pp. 85–109.
 T. Hall, S. Beecham, D. Bowes, D. Gray, and S. Counsell, “A systematic literature review on fault prediction performance in software engineering,” IEEE Transactions on Software Engineering, Vol. 38, No. 6, 2011, pp. 1276–1304.
 D. Radjenović, M. Heričko, R. Torkar, and A. Živkovič, “Software fault prediction metrics: A systematic literature review,” Information and Software Technology, Vol. 55, No. 8, 2013, pp. 1397–1418.
 S. Hosseini, B. Turhan, and D. Gunarathna, “A systematic literature review and meta-analysis on cross project defect prediction,” IEEE Transactions on Software Engineering, Vol. 45, No. 2, 2017, pp. 111–147.
 P.K. Singh, D. Agarwal, and A. Gupta, “A systematic review on software defect prediction,” in 2nd International Conference on Computing for Sustainable Global Development (INDIACom). IEEE, 2015, pp. 1793–1797.
 X. Zhu, Y. He, L. Cheng, X. Jia, and L. Zhu, “Software change-proneness prediction through combination of bagging and resampling methods,” Journal of Software: Evolution and Process, Vol. 30, No. 12, 2018, p. e2111.
 G. Catolino, F. Palomba, A. De Lucia, F. Ferrucci, and A. Zaidman, “Enhancing change prediction models using developer-related factors,” Journal of Systems and Software, Vol. 143, 2018, pp. 14–28.
 R. Malhotra and M. Khanna, “Dynamic selection of fitness function for software change prediction using particle swarm optimization,” Information and Software Technology, Vol. 112, 2019, pp. 51–67.
 L. Kumar, S. Lal, A. Goyal, and N. Murthy, “Change-proneness of object-oriented software using combination of feature selection techniques and ensemble learning techniques,” in Proceedings of the 12th Innovations on Software Engineering Conference. ACM, 2019, p. 8.
 Y. Ge, M. Chen, C. Liu, F. Chen, S. Huang, and H. Wang, “Deep metric learning for software change-proneness prediction,” in International Conference on Intelligent Science and Big Data Engineering. Springer, 2018, pp. 287–300.
 H. Lu, Y. Zhou, B. Xu, H. Leung, and L. Chen, “The ability of object-oriented metrics to predict change-proneness: a meta-analysis,” Empirical software engineering, Vol. 17, No. 3, 2012, pp. 200–242.
 M.O. Elish and M. Al-Rahman Al-Khiaty, “A suite of metrics for quantifying historical changes to predict future change-prone classes in object-oriented software,” Journal of Software: Evolution and Process, Vol. 25, No. 5, 2013, pp. 407–437.
 R. Malhotra and M. Khanna, “An exploratory study for software change prediction in object-oriented systems using hybridized techniques,” Automated Software Engineering, Vol. 24, No. 3, 2017, pp. 673–717.
 D. Azar and J. Vybihal, “An ant colony optimization algorithm to improve software quality prediction models: Case of class stability,” Information and Software Technology, Vol. 53, No. 4, 2011, pp. 388–393.
 J.M. Bieman, G. Straw, H. Wang, P.W. Munger, and R.T. Alexander, “Design patterns and change proneness: An examination of five evolving systems,” in Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No. 03EX717). IEEE, 2004, pp. 40–49.
 Y. Liu and T.M. Khoshgoftaar, “Genetic programming model for software quality classification,” in Proceedings Sixth International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking. IEEE, 2001, pp. 127–136.
 M. Al-Khiaty, R. Abdel-Aal, and M.O. Elish, “Abductive network ensembles for improved prediction of future change-prone classes in object-oriented software.” International Arab Journal of Information Technology, Vol. 14, No. 6, 2017, pp. 803–811.
 T.M. Khoshgoftaar, N. Seliya, and Y. Liu, “Genetic programming-based decision trees for software quality classification,” in 15th International Conference on Tools with Artificial Intelligence. IEEE, 2003, pp. 374–383.
 L. Kumar, S.K. Rath, and A. Sureka, “Empirical analysis on effectiveness of source code metrics for predicting change-proneness,” in 10th Innovations in Software Engineering Conference. ACM, 2017, pp. 4–14.
 N. Tsantalis, A. Chatzigeorgiou, and G. Stephanides, “Predicting the probability of change in object-oriented systems,” IEEE Transactions on Software Engineering, Vol. 31, No. 7, 2005, pp. 601–614.
 L. Kumar, S.K. Rath, and A. Sureka, “Using source code metrics to predict change-prone web services: A case-study on ebay services,” in Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE). IEEE, 2017, pp. 1–7.
 L. Kumar, R.K. Behera, S. Rath, and A. Sureka, “Transfer learning for cross-project change-proneness prediction in object-oriented software systems: A feasibility analysis,” ACM SIGSOFT Software Engineering Notes, Vol. 42, No. 3, 2017, pp. 1–11.
 D. Azar, “A genetic algorithm for improving accuracy of software quality predictive models: a search-based software engineering approach,” International Journal of Computational Intelligence and Applications, Vol. 9, No. 02, 2010, pp. 125–136.
 R. Malhotra and R. Jangra, “Prediction and assessment of change prone classes using statistical and machine learning techniques,” Journal of Information Processing Systems, Vol. 13, No. 4, 2017, pp. 778–804.
 A.R. Han, S.U. Jeon, D.H. Bae, and J.E. Hong, “Measuring behavioral dependency for improving change-proneness prediction in uml-based design models,” Journal of Systems and Software, Vol. 83, No. 2, 2010, pp. 222–234.
 S. Eski and F. Buzluca, “An empirical study on object-oriented metrics and software evolution in order to reduce testing costs by predicting change-prone classes,” in Fourth International Conference on Software Testing, Verification and Validation Workshops. IEEE, 2011, pp. 566–571.
 M. Yan, X. Zhang, C. Liu, L. Xu, M. Yang, and D. Yang, “Automated change-prone class prediction on unlabeled dataset using unsupervised method,” Information and Software Technology, Vol. 92, 2017, pp. 1–16.
 A. Agrawal and R.K. Singh, “Empirical validation of OO metrics and machine learning algorithms for software change proneness prediction,” in Towards Extensible and Adaptable Methods in Computing. Springer, 2018, pp. 69–84.
 R. Malhotra and M. Khanna, “Investigation of relationship between object-oriented metrics and change proneness,” International Journal of Machine Learning and Cybernetics, Vol. 4, No. 4, 2013, pp. 273–286.
 L. Kaur and M. Ashutosh, “A comparative analysis of evolutionary algorithms for the prediction of software change,” in International Conference on Innovations in Information Technology (IIT). IEEE, 2018, pp. 188–192.
 R. Malhotra and A.J. Bansal, “Cross project change prediction using open source projects,” in International Conference on Advances in Computing, Communications and Informatics (ICACCI). IEEE, 2014, pp. 201–207.
 R. Malhotra and M. Khanna, “Prediction of change prone classes using evolution-based and object-oriented metrics,” Journal of Intelligent and Robotic Systems Fuzzy Systems, Vol. 34, No. 3, 2018, pp. 1755–1766.
 R. Malhotra and M. Khanna, “A new metric for predicting software change using gene expression programming,” in 5th International Workshop on Emerging Trends in Software Metrics. ACM, 2014, pp. 8–14.
 C. Marinescu, “How good is genetic programming at predicting changes and defects?” in 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC). IEEE, 2014, pp. 544–548.
 R. Malhotra and M. Khanna, “Mining the impact of object oriented metrics for change prediction using machine learning and search-based techniques,” in International Conference on Advances in Computing, Communications and Informatics (ICACCI). IEEE, 2015, pp. 228–234.
 K. Gao, T.M. Khoshgoftaar, and A. Napolitano, “Combining feature subset selection and data sampling for coping with highly imbalanced software data,” in Software Engineering Knowledge Engineering Conference, 2015, pp. 439–444.
 W. Afzal and R. Torkar, “On the application of genetic programming for software engineering predictive modeling: A systematic review,” Expert Systems with Applications, Vol. 38, No. 9, 2011, pp. 11984–11997.
 J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review of machine learning based software development effort estimation models,” Information and Software Technology, Vol. 54, No. 1, 2012, pp. 41–59.