Systematic Literature Review on the Machine Learning Approach in Software Engineering
Keywords:Machine Learning, Software Engineering, Software Engineering Processes, Software Engineering Activities, Machine Learning Algorithms
The application of machine learning solutions in software engineering tools and processes can bring significant benefits to software engineering processes, as well as to processes results analysis. There are few primary, secondary, and tertiary studies referring to machine learning applications in software engineering. The apparent scarcity of this type of research makes it difficult to develop specific solutions for software engineering areas and processes. Thus, it is necessary to investigate and understand how the use of machine learning in software engineering is reported in the literature. This work aims to carry out a systematic literature review on the machine learning approach in software engineering. The search strategy resulted in 1725 articles, of which 54 articles were about empirical studies. The studies were grouped into four themes: the main machine learning algorithms and/or frameworks applied in software engineering; the software engineering activities in which these algorithms and/or machine learning frameworks are applied; the main types of application of these algorithms and/or frameworks; and the main results obtained with the application of these algorithms and/or frameworks. The results obtained indicate that the following algorithms are used: Support Vector Machine, Random Forest, Decision Tree and Naive Bayes and applied mainly in software testing and planning activities. Defect prediction and effort estimation are the main types of application of these algorithms and improvement in performance and accuracy of defect prediction and cost reduction are the main results obtained with the application of these algorithms in software engineering.
D. A. Clifton, J. Gibbons, J. Davies, and L. Tarassenko, “Machine learning and software engineering in health informatics,” 2012 1st Int. Work. Realiz. AI Synerg. Softw. Eng. RAISE 2012 - Proc., pp. 37–41, 2012, doi: 10.1109/RAISE.2012.6227968.
T. M. Mitchell, Machine learning, 1TH Editio. Pittsburgh, PA 15213, EUA: McGraw-Hill Science/Engineering/Math; 1997.
I. Sommerville, Software Engineering Tenth Edition. 2016.
J. Shivhare and S. K. Rath, “Software effort estimation using machine learning techniques,” 2014, doi: 10.1145/2590748.2590767.
M. Perkusich et al., “Intelligent software engineering in the context of agile software development: A systematic literature review,” Inf. Softw. Technol., vol. 119, p. 106241, 2020, doi: https://doi.org/10.1016/j.infsof.2019.106241.
H. K. Dam, “Artificial intelligence for software engineering,” XRDS Crossroads, ACM Mag. Students, vol. 25, no. 3, pp. 34–37, 2019, doi: 10.1145/3313117.
R. Braga, P. S. Neto, R. Rabêlo, J. Santiago, and M. Souza, “A machine learning approach to generate test oracles,” in ACM International Conference Proceeding Series, 2018, pp. 142–151, doi: 10.1145/3266237.3266273.
R. Malhotra, “A systematic review of machine learning techniques for software fault prediction,” Appl. Soft Comput., vol. 27, pp. 504–518, 2015, doi: https://doi.org/10.1016/j.asoc.2014.11.023.
J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review of machine learning based software development effort estimation models,” Inf. Softw. Technol., vol. 54, no. 1, pp. 41–59, 2012, doi: https://doi.org/10.1016/j.infsof.2011.09.002.
J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review of machine learning based software development effort estimation models,” Inf. Softw. Technol., vol. 54, pp. 41–59, 2012, doi: 10.1016/j.infsof.2011.09.002.
H. Alsolai and M. Roper, “A systematic literature review of machine learning techniques for software maintainability prediction,” Inf. Softw. Technol., vol. 119, p. 106214, 2020, doi: https://doi.org/10.1016/j.infsof.2019.106214.
H. Alsolai and M. Roper, “A systematic literature review of machine learning techniques for software maintainability prediction,” Inf. Softw. Technol., vol. 119, p. 106214, Mar. 2020, doi: 10.1016/j.infsof.2019.106214.
W. Afzal and R. Torkar, “On the application of genetic programming for software engineering predictive modeling: A systematic review,” Expert Syst. Appl., vol. 38, no. 9, pp. 11984–11997, 2011, doi: https://doi.org/10.1016/j.eswa.2011.03.041.
B. Kitchenham, D. Budgen, and O. P. Brereton, Evidence-Based Software Engineering and Systematic Reviews, 1th Editio. United States: CRC Press, 2015.
M. Anjum and D. Budgen, “A mapping study of the definitions for service oriented architecture,” no. May 2012, pp. 57–61, 2012, doi: 10.1049/ic.2012.0008.
T. Dybå and T. Dingsøyr, “Empirical studies of agile software development: A systematic review,” Inf. Softw. Technol., vol. 50, no. 9–10, pp. 833–859, 2008, doi: 10.1016/j.infsof.2008.01.006.
V. H. S. Durelli et al., “Machine Learning Applied to Software Testing: A Systematic Mapping Study,” IEEE Trans. Reliab., vol. 68, no. 3, pp. 1189–1212, 2019, doi: 10.1109/TR.2019.2892517.
G. G. M. Dalveren and D. Mishra, “Software engineering in medical informatics: A systematic literature review,” in ACM International Conference Proceeding Series, Aug. 2019, pp. 112–117, doi: 10.1145/3357419.3357444.
F. Elberzhager, A. Rosbach, and R. Eschbach, “Reducing Test Effort : A Systematic Mapping Study on Existing Approaches,” Inf. Softw. Technol., vol. 54, no. October, pp. 1092–1106, 2012, doi: 10.1016/j.infsof.2012.04.007.
S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Third Edit., vol. 1, no. 70. New Jersey: Pearson Prentice Hall, 2013.
T. Mitchell, “Chapther 06,” Mach. Learn., pp. 125–174, 1997, doi: 10.1007/s10994-009-5101-2.
I. H. Witten, E. Frank, and M. a. Hall, “Data Mining: Practical Machine Learning Tools and Techniques, Third Edition,” Ann. Phys. (N. Y)., vol. 54, no. 2, p. 664, 2011, doi: 10.1002/1521-3773(20010316)40:6<9823::AID-ANIE9823>3.3.CO;2-C.
B. Kitchenham and S. Charters, “Guidelines for performing Systematic Literature reviews in Software Engineering Version 2.3,” Engineering, vol. 45, no. 4ve, p. 1051, 2007, doi: 10.1145/1134285.1134500.
How to Cite
Authors who submit papers with this journal agree to the following terms.