ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ
ПРИКЛАДНЫЕ АСПЕКТЫ ИНФОРМАТИКИ
ПРОГРАММНАЯ ИНЖЕНЕРИЯ
J. Asaad, E. Y. Аvksentieva "A Survey on Machine Learning Techniques for Software Engineering"
ОБРАБОТКА ИНФОРМАЦИИ И АНАЛИЗ ДАННЫХ
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
J. Asaad, E. Y. Аvksentieva "A Survey on Machine Learning Techniques for Software Engineering"
Abstract. 

Machine learning (ML) environments offer a variety of methods and tools that help to solve problems in different areas, including software engineering (SE). Currently, a large number of researchers are interested in the possibilities of using various machine learning techniques in software engineering. This paper provides an overview of machine learning techniques used in each stage of the software development life cycle (SDLC). The contribution of this review is significant. Firstly, by analyzing sources from bibliographic and abstract databases, it was found that the topic of integrating machine learning techniques into software engineering is relevant. Secondly, the article poses questions and reviews the methodology of this research. In addition, machine learning methods are systematized according to their application at each stage of software development. Despite the vast amount of research work on the use of machine learning techniques in software engineering, further research is required to achieve comprehensive comparisons and synergies of the approaches used, meaningful evaluations based on detailed practical implementations that could be adopted by the industry. Thus, future efforts should be directed towards reproducible research rather than isolated new ideas. Otherwise, most of these applications will remain poorly realized in practice.

Keywords: machine learning, software engineering, software development life cycle.

PP. 86-95.

DOI 10.14357/20718632230408 

EDN ADARZK
 
References

1. Lwakatare, L.E., Raj, A., Bosch, J., Olsson, H.H. and Crnkovic, I. A taxonomy of software engineering challenges for machine learning systems: An empirical investigation. In Agile Processes in Software Engineering and Extreme Programming: 20th International Conference. 2019. pp. 227-243.
2. Shehab M, Abualigah L, Jarrah MI, Alomari OA, Daoud MS. Artificial Intelligence in Software Engineering and inverse. International Journal of Computer Integrated Manufacturing. 2020. vol. 33. no. 10-11. pp. 1129-1144.
3. Durelli, Vinicius HS, et al. "Machine learning applied to software testing: A systematic mapping study." IEEE Transactions on Reliability. 2019. vol.68. no. 3. pp. 1189-1212.
4. Khomh, F., Adams, B., Cheng, J., Fokaefs, M., Antoniol, G., 2018. Software engineering for machine-learning applications: The road ahead. IEEE Softw.2018. vol. 35. no. 5. pp. 81–84.
5. Maneerat N, Muenchaisri P. Bad-smell prediction from software design model using machine learning techniques. In2011 Eighth international joint conference on computer science and software engineering (JCSSE). 2011. pp. 331-336.
6. Talele, P. and Phalnikar, R. Software requirements classification and prioritisation using machine learning. In Machine learning for predictive analysis. 2021. pp. 257-267.
7. Zou, J., Xu, L., Guo, W., Yan, M., Yang, D., and Zhang, X. Which non-functional requirements do developers focuson? An empirical study on stack overflow using topic analysis. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. 2015. pp. 446–449.
8. Ahmad, A., li, K., Feng, C., and sun, T. “An empirical study on how iOS developers report quality Aspects on stack overflow,” international journal of machine learning and computing. 2018. vol. 8. no. 5. pp. 501–506.
9. Treude, C., Barzilay, O., and storey, M. A. How do programmers ask and answer questions on the web? Nier track. In 2011 33rd International Conference on Software Engineering (ICSE). 2011. pp. 804–807.
10. Zou, J., Xu, L., Yang, M., Zhang, X., and Yang, D. Towards comprehending the non-functional requirements through developers’ eyes: An exploration of stack overflow using topic analysis. Information and Software Technology.2017. vol. 84. pp.19–32.
11. Ahmad, A., Feng, C., li, K., Asim, S. M., and sun, T. Toward empirically investigating non-Functional requirements of iOS developers on stack overflow. IEEE Access. 2019. vol.7. pp.61145–61169.
12. Yin, H., and Pfahl, D. A preliminary study on the suitability of stack overflow for open innovation in requirements engineering. In Proceedings of the 3rd International Conference on Communication and Information Processing. 2017. pp. 45–49.
13. Bajaj, K., Pattabiraman, K., and Mesbah, A. Mining questions asked by web developers. In Proceedings of the 11th Working Conference on Mining Software Repositories. 2014. pp. 112–121.
14. Pinto, G., Castor, F., and Liu, Y. D. Mining questions about software energy consumption. In Proceedings of the 11th Working Conference on Mining Software Repositories. 2014. pp. 22–31.
15. Xiao, M., Yin, G., Wang, T., Yang, C., and chen, M. Requirement acquisition from social q&a sites. In Requirements Engineering in the Big Data Era .2015. pp. 64–74.
16. Rosen, C., and Shihab, E. What are mobile developers asking about? A large-scale study using stack overflow. Empirical Software Engineering.2016. vol. 21. no.3. pp. 1192–1223.
17. Abad, Z. S. H., Shymka, A., Pant, S., Currie, A., and Ruhe, G. What are practitioners asking about requirements engineering? An exploratory analysis of social q&a sites. In 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW). 2016. pp. 334–343.
18. Pinto, G. H., and Kamei, F. What do programmers say about refactoring tools? An empirical investigation of stack overflow. In Proceedings of the 2013 ACM workshop on Workshop on refactoring tools. 2013. pp. 33–36.
19. A. G. Jivani, “A comparative study of stemming algorithms,” International Journal of Computer Applications in Technology.2011. vol. 2. pp. 1930–1938.
20. A. Khan, B. Baharudin, L. H. Lee, and K. Khan, “A review of machine learning algorithms for text-documents classification,” Journal of Advances in Information Technology. 2010. vol. 1, pp. 4–20.
21. Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E. A review-based comparative study of bad smell detection tools. InProceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering. 2016. pp. 1-12.
22. Ferenc R, Beszedes A, Fulop L, Lele J. Design pattern mining enhanced by machine learning. In21st IEEE International Conference on Software Maintenance (ICSM'05) 2005. pp. 295-304.
23. Zanoni M, Fontana FA, Stella F. On applying machine learning techniques for design pattern detection. Journal of Systems and Software. 2015. vol. 103. pp. 102-17.
24. Selvarani R, Mangayarkarasi P. A Dynamic Optimization Technique for Redesigning OO Software for Reusability. ACM SIGSOFT Software Engineering Notes. 2015. vol. 40. no. 2. pp.1-6.
25. Agashe R, Iyer S, Zettlemoyer L. Juice: A large scale distantly supervised dataset for open domain context-based code generation. arXiv preprint arXiv:1910.02216. 2019.
26. Shin EC, Allamanis M, Brockschmidt M, Polozov A. Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems. 2019. vol. 32.
27. Takahashi A, Shiina H, Kobayashi N. Automatic Generation of Program Comments based on Problem Statements for Computational Thinking. In2019 8th International Congress on Advanced Applied Informatics. 2019. pp. 629-634.
28. Shido Y, Kobayashi Y, Yamamoto A, Miyamoto A, Matsumura T. Automatic source code summarization with extended tree-lstm. In2019 International Joint Conference on Neural Networks. 2019. pp. 1-8.
29. Tufano M, Watson C, Bavota G, Penta MD, White M, Poshyvanyk D. An empirical study on learning bug-fixing patches in the wild via neural machine translation. ACM Transactions on Software Engineering and Methodology (TOSEM). 2019. vol. 28. no. 4. pp.1-29.
30. Zhu Z, Xue Z, Yuan Z. Automatic graphics program generation using attention-based hierarchical decoder. InAsian Conference. 2018. pp. 181-196.
31. Kim Y, Kim H. Translating CUDA to opencl for hardware generation using neural machine translation. In2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) 2019. pp. 285-286.
32. Gozalo-Brizuela R, Garrido-Merchan EC. ChatGPT is not all you need. A State of the Art Review of large Generative AI models. arXiv preprint arXiv:2301.04655. 2023.
33. Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H. P. d. O., Kaplan, J., Edwards, H., Burda, Y., Joseph, N., Brockman, G., et al. Evaluating large language models trained on code. arXiv preprint arXiv:2107.03374. 2021.
34. Li, Y., Choi, D., Chung, J., Kushman, N., Schrittwieser, J., Leblond, R., Eccles, T., Keeling, J., Gimeno, F., Dal Lago, A., et al. Competition-level code generation with alphacode. Science. 2022. Vol. 378. No. 6624. pp. 1092–1097.
35. Bhavya, B., Xiong, J., and Zhai, C. Analogy generation by prompting large language models: A case study of instructgpt. arXiv preprint arXiv:2210.04186 .2022.
36. Dehaerne E, Dey B, Halder S, De Gendt S, Meert W. Code Generation Using Machine Learning: A Systematic Review. IEEE Access. 2022.
37. S. Ahmed, "Overview of software testing standard ISO/IEC/IEEE 29119", Int. J. Comput. Sci. Netw. Secur. 2018. vol. 18. no. 2. pp. 112-116.
38. Durelli VH, Durelli RS, Borges SS, Endo AT, Eler MM, Dias DR, Guimaraes MP. Machine learning applied to software testing: A systematic mapping study. IEEE Transactions on Reliability. 2019. vol. 68. no. 3. pp. 1189-212.
39. Baskiotis N, Sebag M, Gaudel MC, Gouraud SD. A Machine Learning Approach for Statistical Software Testing. InIJCAI. 2007.pp. 2274-2279.
40. Moghadam MH, Saadatmand M, Borg M, Bohlin M, Lisper B. Machine learning to guide performance testing: An autonomous test framework. In2019 IEEE international conference on software testing, verification and validation workshops (ICSTW) 2019. pp. 164-167.
41. Tuncali CE, Fainekos G, Ito H, Kapinski J. Simulationbased adversarial test generation for autonomous vehicles with machine learning components. In2018 IEEE Intelligent Vehicles Symposium (IV) 2018. pp. 1555-1562.
42. Battina DS. Artificial Intelligence in Software Test Automation: A Systematic Literature Review. International Journal of Emerging Technologies and Innovative Research (www. jetir. org| UGC and issn Approved), ISSN. 2019. pp. 2349-5162.
43. Rankin C. The software testing automation framework. IBM Systems Journal. 2002. vol. 41. no. 1. pp. 126-139.
44. Briand LC, Labiche Y, Bawar Z. Using machine learning to refine black-box test specifications and test suites. In2008 The Eighth International Conference on Quality Software 2008. pp. 135-144.
45. IEEE Standard I2 19- 1992. Sofrware Maintenance Standard. published by IEEE Standards Office. P.O. Box 1331. Piscataway. NJ 08855-1331.
46. Levin S, Yehudai A. Towards software analytics: Modeling maintenance activities. arXiv preprint arXiv:1903.04909. 2019 Mar 9.
47. Kukkar A, Mohana R, Kumar Y, Nayyar A, Bilal M, Kwak KS. Duplicate bug report detection and classification system based on deep learning technique. IEEE Access. 2020. vol. 8. pp. 200749-200763.48. Immaculate SD, Begam MF, Floramary M. Software bug prediction using supervised machine learning algorithms. In2019 International conference on data science and communication (IconDSC) 2019. pp. 1-7.
49. Sidhu BK, Singh K, Sharma N. A machine learning approach to software model refactoring. International Journal of Computers and Applications. 2022. vol. 44. no. 2. pp. 166-177.
 

2024 / 03
2024 / 02
2024 / 01
2023 / 04

© ФИЦ ИУ РАН 2008-2018. Создание сайта "РосИнтернет технологии".