The Use of AI in Software Engineering: A Synthetic Knowledge Synthesis of the Recent Research Literature
Abstract
:1. Introduction
- What is the volume of the research on using AI in software engineering?
- What is the maturity status of the research?
- What are the volume and dynamics of the production of the research literature on AI use in software?
- How is the research geographically distributed?
- Which information sources informing the scientific community are the most prolific?
- Which funding bodies sponsoring research on AI in software engineering are the most prolific?
- What are the most prolific research themes?
2. Materials and Methods
- Research publications were harvested from the Scopus bibliographic database using the below search string.
- Descriptive bibliometric analysis was performed using Scopus’s built-in functionality.
- Author keywords were used as meaningful units of information in the content analysis. First, bibliometric mapping was performed using VOSViewer [6]. Next, using inductive content analysis of the most popular authors’ keywords, the node size, links, and proximity between the author keywords in individual clusters and their borders presented in the bibliometric map were analyzed to form categories and identify and name themes.
- Finally, the themes and subcategory terms were applied to form search strings to locate relevant publications associated with the theme. The most interesting and influential were selected and analyzed to describe the categories’ and themes’ scope.
TITLE-ABS-KEY((“artificial intelligence” OR “machine learning” OR “deep learning” OR “intelligent system” OR “support vector machine” OR (“decision tree” AND (induction OR heuristic)) OR “random forest” OR “Markov decision process” OR “hidden Markov model” OR “fuzzy logic” OR “k-nearest neighbor” OR “naive Bayes” OR “Bayesian learning” OR “artificial neural network” OR “convolutional neural network” OR “recurrent neural network” OR “generative adversarial network” OR “deep belief network” OR “perceptron” OR {natural language processing} OR {natural language understanding} OR {general language model}) and ({software engineering} OR {software design} or {software development})) AND PUBYEAR > 2018 AND PUBYEAR < 2025.
3. Results and Discussion
3.1. Descriptive and Production Bibliometrics
3.1.1. Volume of Research
3.1.2. Maturity of Research and Most Prolific Information Sources
3.1.3. Geographical Distribution of Research
3.1.4. Most Prolific Funding Bodies
3.2. Most Prolific Research Themes
Literature Review of Research Categories and Themes
- Use of artificial intelligence in management of software development life cycle
- Ethical use of AI-based software engineering
- Use of fuzzy logic in software development and testing
- Automation of software testing in an agile environment
- Project management of software life cycle using fuzzy logic
- Data science and big data in software development
- Natural language processing (NLP) in software engineering
- Natural language processing in software development
- Natural language processing in software requirements engineering
- User stories understanding with natural language processing
- Machine learning in fault/defect prediction and effort estimation
- Software development effort estimation
- Data mining in software fault/defect prediction
- Machine learning and software metrics
- Deep learning in empirical software engineering focusing on code management
- Deep learning in program comprehension and vulnerability detection
- Technical depth and code smell detection
- COVID-19 influence on software engineering
- Mining software repositories to improve software quality
- Mining software repositories to enhance the quality of software and software maintenance
- GitHub and open source software as sources for mining software development data
3.3. Timeline of the Recent Research and Hot Topics
3.4. Research Gaps and Challenges
3.5. Possible Future Research Trends
- Development of transparent, fair, ethical, responsible, and sustainable intelligent software development processes [95] to eliminate management and for-profit bias, reduce human oversight, improve privacy, reduce cybercrime, make software more robust and accountable, and finally, reduce the digital divide.
- Self-adapting software that adapts to evolving user requirements [96], frequently changing due to fast ICT development, new user needs and requirements, and similar. In that manner, the software could become more robust, easier, and cheaper to maintain, and software development could be more sustainable.
- Self-healing and self-reflecting software that returns to a more functional condition after faults or performance and cybersecurity issues [97]. In that manner, the use of the software might become safer, more cost-effective, and more user-friendly.
- Collaborative software development eco-systems where AI partners with human developers take team dynamics and self-organization into account [98], enabling significant improvements in productivity, code quality, and developer empowerment.
- Adaptive continuous-learning platforms for software developers and engineers [85] to enable them to stay ahead of new technologies.
- New software engineering curricula [86] to teach future software engineers about the trends mentioned above.
3.6. Study Strengths and Limitations
4. Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Ooi, K.-B.; Tan, G.W.-H.; Al-Emran, M.; Al-Sharafi, M.A.; Capatina, A.; Chakraborty, A.; Dwivedi, Y.K.; Huang, T.-L.; Kar, A.K.; Lee, V.-H.; et al. The Potential of Generative Artificial Intelligence Across Disciplines: Perspectives and Future Directions. J. Comput. Inf. Syst. 2023, 1–32. [Google Scholar] [CrossRef]
- Završnik, J.; Kokol, P.; Žlahtič, B.; Blažun Vošner, H. Artificial Intelligence and Pediatrics: Synthetic Knowledge Synthesis. Electronics 2024, 13, 512. [Google Scholar] [CrossRef]
- Lo, D. Trustworthy and Synergistic Artificial Intelligence for Software Engineering: Vision and Roadmaps. arXiv 2023, arXiv:2309.04142. [Google Scholar]
- Belzner, L.; Gabor, T.; Wirsing, M. Large Language Model Assisted Software Engineering: Prospects, Challenges, and a Case Study. In Proceedings of the Bridging the Gap Between AI and Reality; Steffen, B., Ed.; Springer Nature: Cham, Switzerland, 2024; pp. 355–374. [Google Scholar]
- Batarseh, F.A.; Mohod, R.; Kumar, A.; Bui, J. The Application of Artificial Intelligence in Software Engineering: A Review Challenging Conventional Wisdom. In Data Democracy; Batarseh, F.A., Yang, R., Eds.; Academic Press: Cambridge, MA, USA, 2020; pp. 179–232. ISBN 978-0-12-818366-3. [Google Scholar]
- Sofian, H.; Yunus, N.A.M.; Ahmad, R. Systematic Mapping: Artificial Intelligence Techniques in Software Engineering. IEEE Access 2022, 10, 51021–51040. [Google Scholar] [CrossRef]
- Amalfitano, D.; Faralli, S.; Hauck, J.C.R.; Matalonga, S.; Distante, D. Artificial Intelligence Applied to Software Testing: A Tertiary Study. ACM Comput. Surv. 2023, 56, 3616372. [Google Scholar] [CrossRef]
- Majumdar, S.; Paul, S.; Paul, D.; Bandyopadhyay, A.; Chattopadhyay, S.; Das, P.P.; Clough, P.D.; Majumder, P. Generative AI for Software Metadata: Overview of the Information Retrieval in Software Engineering Track at FIRE 2023. Available online: https://api.semanticscholar.org/CorpusID:265043660 (accessed on 5 May 2024).
- Kulkarni, V.; Kolhe, A.; Kulkarni, J. Intelligent Software Engineering: The Significance of Artificial Intelligence Techniques in Enhancing Software Development Lifecycle Processes. In Proceedings of the Intelligent Systems Design and Applications; Abraham, A., Gandhi, N., Hanne, T., Hong, T.-P., Nogueira Rios, T., Ding, W., Eds.; Springer International Publishing: Cham, Switzerland, 2022; pp. 67–82. [Google Scholar]
- Satpute, R.S.; Agrawal, A. A Critical Study of Pragmatic Ambiguity Detection in Natural Language Requirements. Int. J. Intell. Syst. Appl. Eng. 2023, 11, 249–259. [Google Scholar]
- Daun, M.; Brings, J. How ChatGPT Will Change Software Engineering Education. In Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education; Association for Computing Machinery: New York, NY, USA, 2023; Volume 1, pp. 110–116. [Google Scholar]
- Cao, S.; Sun, X.; Widyasari, R.; Lo, D.; Wu, X.; Bo, L.; Zhang, J.; Li, B.; Liu, W.; Wu, D.; et al. A Systematic Literature Review on Explainability for Machine/Deep Learning-Based Software Engineering Research. arXiv 2024, arXiv:2401.14617. [Google Scholar]
- Mohammadkhani, A.H.; Bommi, N.S.; Daboussi, M.; Sabnis, O.; Tantithamthavorn, C.; Hemmati, H. A Systematic Literature Review of Explainable AI for Software Engineering. arXiv 2023, arXiv:2302.06065. [Google Scholar]
- Ozkaya, I. The Next Frontier in Software Development: AI-Augmented Software Development Processes. IEEE Softw. 2023, 40, 4–9. [Google Scholar] [CrossRef]
- Bano, M.; Hoda, R.; Zowghi, D.; Treude, C. Large Language Models for Qualitative Research in Software Engineering: Exploring Opportunities and Challenges. Autom. Softw. Eng. 2023, 31, 8. [Google Scholar] [CrossRef]
- Kokol, P. Synthetic Knowledge Synthesis in Hospital Libraries. J. Hosp. Librariansh. 2023, 24, 1–8. [Google Scholar] [CrossRef]
- Železnik, U.; Kokol, P.; Starc, J.; Železnik, D.; Završnik, J.; Vošner, H.B. Research Trends in Motivation and Weight Loss: A Bibliometric-Based Review. Healthcare 2023, 11, 3086. [Google Scholar] [CrossRef]
- Markoulli, M.P.; Lee, C.I.S.G.; Byington, E.; Felps, W.A. Mapping Human Resource Management: Reviewing the Field and Charting Future Directions. Hum. Resour. Manag. Rev. 2017, 27, 367–396. [Google Scholar] [CrossRef]
- Moon, M.D. Triangulation: A Method to Increase Validity, Reliability, and Legitimation in Clinical Research. J. Emerg. Nurs. 2019, 45, 103–105. [Google Scholar] [CrossRef]
- Farooq, U.; Nasir, A.; Khan, K.I. An Assessment of the Quality of the Search Strategy: A Case of Bibliometric Studies Published in Business and Economics. Scientometrics 2023, 128, 4855–4874. [Google Scholar] [CrossRef]
- G20. Wikipedia 2024. Available online: https://en.wikipedia.org/wiki/G20 (accessed on 5 May 2024).
- Kokol, P. Discrepancies among Scopus and Web of Science, Coverage of Funding Information in Medical Journal Articles: A Follow-up Study. J. Med. Libr. Assoc. 2023, 111, 703–709. [Google Scholar] [CrossRef]
- Vakkuri, V.; Kemell, K.-K.; Kultanen, J.; Abrahamsson, P. The Current State of Industrial Practice in Artificial Intelligence Ethics. IEEE Softw. 2020, 37, 50–57. [Google Scholar] [CrossRef]
- Pasricha, S.; Wolf, M. Ethical Design of Computers: From Semiconductors to IoT and Artificial Intelligence. IEEE Des. Test 2024, 41, 7–16. [Google Scholar] [CrossRef]
- Barletta, V.S.; Caivano, D.; Gigante, D.; Ragone, A. A Rapid Review of Responsible AI Frameworks: How to Guide the Development of Ethical AI. In Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering, Oulu, Finland, 14–16 June 2023; pp. 358–367. [Google Scholar]
- Nazim, M.; Wali Mohammad, C.; Sadiq, M. A Comparison between Fuzzy AHP and Fuzzy TOPSIS Methods to Software Requirements Selection. Alex. Eng. J. 2022, 61, 10851–10870. [Google Scholar] [CrossRef]
- Ali, S.; Ullah, N.; Abrar, M.F.; Yang, Z.; Huang, J.; Ali, R. Fuzzy Multicriteria Decision-Making Approach for Measuring the Possibility of Cloud Adoption for Software Testing. Sci. Program. 2020, 2020, 6597316. [Google Scholar] [CrossRef]
- Le, T.-A.; Huynh, Q.-T.; Nguyen, T.-T.-N.; Thi, M.-H.T. A New Method for Enhancing Software Effort Estimation by Using ANFIS-Based Approach. In Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering; Springer: Cham, Switzerland, 2021; Volume 379, pp. 195–210. [Google Scholar] [CrossRef]
- Rathi, N.; Srivathsav, R.; Chitlangia, R.; Pachghare, V.K. Automatic Selenium Code Generation for Testing. Adv. Intell. Syst. Comput. 2020, 1039, 194–200. [Google Scholar] [CrossRef]
- Hooda, S.; Sood, V.M.; Singh, Y.; Dalal, S.; Sood, M. Agile Software Development: Trends, Challenges and Applications; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2023; p. 365. ISBN 978-1-119-89683-8. [Google Scholar]
- Fehlmann, T.; Kranich, E. ART for Agile: Autonomous Real-Time Testing in the Product Development Cycle. Commun. Comput. Inf. Sci. 2021, 1442, 377–390. [Google Scholar] [CrossRef]
- Shankar, S.P.; Chaudhari, S.S. Framework for the Automation of SDLC Phases Using Artificial Intelligence and Machine Learning Techniques. Int. J. Recent Innov. Trends Comput. Commun. 2023, 11, 379–390. [Google Scholar] [CrossRef]
- Kataev, M.; Bulysheva, L.; Xu, L.; Ekhlakov, Y.; Permyakova, N.; Jovanovic, V. Fuzzy Model Estimation of the Risk Factors Impact on the Target of Promotion of the Software Product. Enterp. Inf. Syst. 2020, 14, 797–811. [Google Scholar] [CrossRef]
- Klus, H.; Knieke, C.; Rausch, A.; Wittek, S. Software Engineering Meets Artificial Intelligence. Electron. Commun. EASST 2023, 82, 1–16. [Google Scholar] [CrossRef]
- Ahmed, H.A.; Bawany, N.Z.; Shamsi, J.A. Capbug-a Framework for Automatic Bug Categorization and Prioritization Using Nlp and Machine Learning Algorithms. IEEE Access 2021, 9, 50496–50512. [Google Scholar] [CrossRef]
- Sawant, A.A.; Devanbu, P. Naturally!: How Breakthroughs in Natural Language Processing Can Dramatically Help Developers. IEEE Softw. 2021, 38, 118–123. [Google Scholar] [CrossRef]
- Charitsis, C.; Piech, C.; Mitchell, J.C. Using NLP to Quantify Program Decomposition in CS1. In Proceedings of the Proceedings of the Ninth ACM Conference on Learning, New York, NY, USA, 1–3 June 2022; pp. 113–120. [Google Scholar]
- dos Santos, G.E.; Figueiredo, E. Commit Classification Using Natural Language Processing: Experiments over Labeled Datasets. 2020. Available online: https://cibse2020.ppgia.pucpr.br/images/artigos/4/S04_P1.pdf (accessed on 5 May 2024).
- Wong, M.-F.; Guo, S.; Hang, C.-N.; Ho, S.-W.; Tan, C.-W. Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review. Entropy 2023, 25, 888. [Google Scholar] [CrossRef]
- Koreeda, Y.; Morishita, T.; Imaichi, O.; Sogawa, Y. LARCH: Large Language Model-Based Automatic Readme Creation with Heuristics. In Proceedings of the 32nd ACM International Conference on Information and Knowledge Management, Birmingham, UK, 21–25 October 2023; pp. 5066–5070. [Google Scholar]
- Di Sipio, C.; Di Rocco, J.; Di Ruscio, D.; Nguyen, P.T. MORGAN: A Modeling Recommender System Based on Graph Kernel. Softw. Syst. Model. 2023, 22, 1427–1449. [Google Scholar] [CrossRef]
- Jánki, Z.R.; Bilicki, V. The Impact of the Web Data Access Object (WebDAO) Design Pattern on Productivity. Computers 2023, 12, 149. [Google Scholar] [CrossRef]
- Pauzi, Z.; Capiluppi, A. Applications of Natural Language Processing in Software Traceability: A Systematic Mapping Study. J. Syst. Softw. 2023, 198, 111616. [Google Scholar] [CrossRef]
- Zhao, L.; Alhoshan, W.; Ferrari, A.; Letsholo, K.J.; Ajagbe, M.A.; Chioasca, E.-V.; Batista-Navarro, R.T. Natural Language Processing for Requirements Engineering. ACM Comput. Surv. 2021, 54, 1–41. [Google Scholar] [CrossRef]
- Umar, M.A.; Lano, K. Advances in Automated Support for Requirements Engineering: A Systematic Literature Review. Requir. Eng. 2024, 29, 177–207. [Google Scholar] [CrossRef]
- Arulmohan, S.; Meurs, M.-J.; Mosser, S. Extracting Domain Models from Textual Requirements in the Era of Large Language Models. In Proceedings of the 2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), Västerås, Sweden, 1–6 October 2023; pp. 580–587. [Google Scholar]
- Vahabi, S.; Hozhabri, A. Automatic Use Case Classification Based on Topic Grouping for Requirements Engineering. Innov. Syst. Softw. Eng. 2024, 20, 85–96. [Google Scholar] [CrossRef]
- Kochbati, T.; Li, S.; Gérard, S.; Mraidha, C. From User Stories to Models: A Machine Learning Empowered Automation. In Proceedings of the MODELSWARD 2022-9th International Conference on Model-Driven Engineering and Software Development, Virtual Event, 8–10 February 2021; pp. 28–40. [Google Scholar]
- Gunes, T.; Aydemir, F.B. Automated Goal Model Extraction from User Stories Using NLP. In Proceedings of the 2020 IEEE 28th International Requirements Engineering Conference, Zurich, Switzerland, 31 August–4 September 2020; pp. 382–387. [Google Scholar]
- Wang, Y.; Hu, K.; Jiang, B.; Xia, X.; Tang, X.-S. A Systematic Literature Review of Software Traceability Links Automation Techniques. Jisuanji Xuebao/Chin. J. Comput. 2023, 46, 1919–1946. [Google Scholar]
- Hey, T.; Keim, J.; Koziolek, A.; Tichy, W.F. NoRBERT: Transfer Learning for Requirements Classification. In Proceedings of the 2020 IEEE 28th International Requirements Engineering Conference, Zurich, Switzerland, 31 August–4 September 2020; pp. 169–179. [Google Scholar]
- Alhoshan, W.; Ferrari, A.; Zhao, L. Zero-Shot Learning for Requirements Classification: An Exploratory Study. Inf. Softw. Technol. 2023, 159, 107202. [Google Scholar] [CrossRef]
- Ezzini, S.; Abualhaija, S.; Arora, C.; Sabetzadeh, M.; Briand, L.C. Using Domain-Specific Corpora for Improved Handling of Ambiguity in Requirements. In Proceedings of the 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), Madrid, Spain, 22–30 May 2021; pp. 1485–1497. [Google Scholar]
- Sarmiento-Calisaya, E.; do Prado Leite, J.C.S. Early Analysis of Requirements Using NLP and Petri-Nets. J. Syst. Softw. 2024, 208, 111901. [Google Scholar] [CrossRef]
- Shen, Y.; Breaux, T. Stakeholder Preference Extraction from Scenarios. IEEE Trans. Softw. Eng. 2024, 50, 69–84. [Google Scholar] [CrossRef]
- García, S.E.M.; Fernández-y-Fernández, C.A.; Pérez, E.G.R. Classification of Non-Functional Requirements Using Convolutional Neural Networks. Program. Comput. Softw. 2023, 49, 705–711. [Google Scholar] [CrossRef]
- Tikayat Ray, A.; Cole, B.F.; Pinon Fischer, O.J.; Bhat, A.P.; White, R.T.; Mavris, D.N. Agile Methodology for the Standardization of Engineering Requirements Using Large Language Models. Systems 2023, 11, 352. [Google Scholar] [CrossRef]
- Calle Gallego, J.M.; Zapata Jaramillo, C.M. QUARE: Towards a Question-Answering Model for Requirements Elicitation. Autom. Softw. Eng. 2023, 30, 25. [Google Scholar] [CrossRef]
- De Carvalho, H.D.P.; Fagundes, R.; Santos, W. Extreme Learning Machine Applied to Software Development Effort Estimation. IEEE Access 2021, 9, 92676–92687. [Google Scholar] [CrossRef]
- Rodríguez Sánchez, E.; Vázquez Santacruz, E.F.; Cervantes Maceda, H. Effort and Cost Estimation Using Decision Tree Techniques and Story Points in Agile Software Development. Mathematics 2023, 11, 1477. [Google Scholar] [CrossRef]
- Heng, S.; Snoeck, M.; Tsilionis, K. Building a Software Architecture out of User Stories and BDD Scenarios: Research Agenda. In Proceedings of the CEUR Workshop Proceedings, Ljubljana, Slovenia, 29 November 2022; Volume 3134, pp. 40–46. [Google Scholar]
- Mcmurray, S.; Sodhro, A.H. A Study on ML-Based Software Defect Detection for Security Traceability in Smart Healthcare Applications. Sensors 2023, 23, 3470. [Google Scholar] [CrossRef] [PubMed]
- Jadhav, A.; Kaur, M.; Akter, F. Evolution of Software Development Effort and Cost Estimation Techniques: Five Decades Study Using Automated Text Mining Approach. Math. Probl. Eng. 2022, 2022, 5782587. [Google Scholar] [CrossRef]
- Priya Varshini, A.G.; Anitha Kumari, K.; Varadarajan, V. Estimating Software Development Efforts Using a Random Forest-Based Stacked Ensemble Approach. Electronics 2021, 10, 1195. [Google Scholar] [CrossRef]
- Singal, P.; Kumari, A.C.; Sharma, P. Estimation of Software Development Effort: A Differential Evolution Approach. Procedia Comput. Sci. 2020, 167, 2643–2652. [Google Scholar]
- Khan, F.; Lingala, G. Machine Learning Techniques For Software Component Reusability. In Proceedings of the 2022 3rd International Conference for Emerging Technology (INCET), Belgaum, India, 27–29 May 2022. [Google Scholar]
- Gupta, N.; Sinha, R.R.; Goyal, A.; Sunda, N.; Sharma, D. Analyze the Performance of Software by Machine Learning Methods for Fault Prediction Techniques. Int. J. Recent Innov. Trends Comput. Commun. 2023, 11, 178–187. [Google Scholar] [CrossRef]
- Nasser, A.B.; Ghanem, W.; Abdul-Qawy, A.S.H.; Ali, M.A.H.; Saad, A.-M.; Ghaleb, S.A.A.; Alduais, N. A Robust Tuned K-Nearest Neighbours Classifier for Software Defect Prediction. Lect. Notes Netw. Syst. 2023, 573, 181–193. [Google Scholar] [CrossRef]
- Khan, M.A.; Elmitwally, N.S.; Abbas, S.; Aftab, S.; Ahmad, M.; Fayaz, M.; Khan, F. Software Defect Prediction Using Artificial Neural Networks: A Systematic Literature Review. Sci. Program. 2022, 2022, 2117339. [Google Scholar] [CrossRef]
- Hilmi, M.A.A.; Puspaningrum, A.; Darsih; Siahaan, D.O.; Samosir, H.S.; Rahma, A.S. Research Trends, Detection Methods, Practices, and Challenges in Code Smell: SLR. IEEE Access 2023, 11, 129536–129551. [Google Scholar] [CrossRef]
- Soomlek, C.; van Rijn, J.N.; Bonsangue, M.M. Automatic Human-Like Detection of Code Smells; Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer International Publishing: Cham, Switzerland, 2021; Volume 12986. [Google Scholar] [CrossRef]
- Mock, M. Utilization of Machine Learning for the Detection of Self-Admitted Vulnerabilities. Lecture Notes in Computer Science; Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics; Springer International Publishing: Cham, Switzerland, 2024; Volume 14484. [Google Scholar] [CrossRef]
- Pontillo, V.; Palomba, F.; Ferrucci, F. Toward Static Test Flakiness Prediction: A Feasibility Study. In Proceedings of the 5th International Workshop on Machine Learning Techniques for Software Quality Evolution, Athens, Greece, 23 August 2021; pp. 19–24. [Google Scholar]
- Albuquerque, D.; Guimaraes, E.; Tonin, G.; Rodriguez, P.; Perkusich, M.; Almeida, H.; Perkusich, A.; Chagas, F. Managing Technical Debt Using Intelligent Techniques—A Systematic Mapping Study. IEEE Trans. Softw. Eng. 2023, 49, 2202–2220. [Google Scholar] [CrossRef]
- Hu, X.; Li, G.; Xia, X.; Lo, D.; Jin, Z. Deep Code Comment Generation with Hybrid Lexical and Syntactical Information. Empir. Softw. Eng. 2020, 25, 2179–2217. [Google Scholar] [CrossRef]
- Li, B.; Yan, M.; Xia, X.; Hu, X.; Li, G.; Lo, D. Deep Commenter: A Deep Code Comment Generation Tool with Hybrid Lexical and Syntactical Information. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Virtual, 8–13 November 2020; pp. 1571–1575. [Google Scholar]
- Georgiou, K.; Charmanas, K.; Papageorgiadis, K.; Mittas, N.; Christidis, G.; Angelis, L. A Data-Driven Framework for Knowledge Exchange Analysis of Development Issues in Medical Applications: A Case Study of COVID-19. In Proceedings of the 2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Durres, Albania, 6–8 September 2023; pp. 386–393. [Google Scholar]
- Sabor, K.K.; Hamdaqa, M.; Hamou-Lhadj, A. Automatic Prediction of the Severity of Bugs Using Stack Traces and Categorical Features. Inf. Softw. Technol. 2020, 123, 106205. [Google Scholar] [CrossRef]
- Li, M.; Yu, H.; Fan, G.; Zhou, Z.; Huang, J. ClassSum: A Deep Learning Model for Class-Level Code Summarization. Neural Comput. Appl. 2023, 35, 3373–3393. [Google Scholar] [CrossRef]
- Jain, R.; Gervasoni, N.; Ndhlovu, M.; Rawat, S. A Code Centric Evaluation of C/C++ Vulnerability Datasets for Deep Learning Based Vulnerability Detection Techniques. In Proceedings of the 16th Innovations in Software Engineering Conference, Allahabad, India, 23–25 February 2023. [Google Scholar]
- Iannone, E.; Guadagni, R.; Ferrucci, F.; De Lucia, A.; Palomba, F. The Secret Life of Software Vulnerabilities: A Large-Scale Empirical Study. IEEE Trans. Softw. Eng. 2023, 49, 44–63. [Google Scholar] [CrossRef]
- Zhu, K.; Yin, M.; Li, Y. Detecting and Classifying Self-Admitted of Technical Debt with CNN-BiLSTM. J. Phys. Conf. Ser. 2021, 1955, 012102. [Google Scholar] [CrossRef]
- Wang, X.; Liu, J.; Li, L.; Chen, X.; Liu, X.; Wu, H. Detecting and Explaining Self-Admitted Technical Debts with Attention-Based Neural Networks. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, Virtual, 21–25 December 2020; pp. 871–882. [Google Scholar]
- Tsoukalas, D.; Kehagias, D.; Siavvas, M.; Chatzigeorgiou, A. Technical Debt Forecasting: An Empirical Study on Open-Source Repositories. J. Syst. Softw. 2020, 170, 110777. [Google Scholar] [CrossRef]
- Scott, E.; Campo, M. An Adaptive 3D Virtual Learning Environment for Training Software Developers in Scrum. Interact. Learn. Environ. 2023, 31, 5200–5218. [Google Scholar] [CrossRef]
- Kirova, V.D.; Ku, C.S.; Laracy, J.R.; Marlowe, T.J. Software Engineering Education Must Adapt and Evolve for an LLM Environment. In Proceedings of the 55th ACM Technical Symposium on Computer Science Education; Association for Computing Machinery: New York, NY, USA, 2024; Volume 1, pp. 666–672. [Google Scholar]
- Nguyen-Duc, A.; Cabrero-Daniel, B.; Przybylek, A.; Arora, C.; Khanna, D.; Herda, T.; Rafiq, U.; Melegati, J.; Guerra, E.; Kemell, K.-K.; et al. Generative Artificial Intelligence for Software Engineering—A Research Agenda. arXiv 2023, arXiv:2310.18648. [Google Scholar]
- Alshahwan, N.; Harman, M.; Harper, I.; Marginean, A.; Sengupta, S.; Wang, E. Assured LLM-Based Software Engineering. arXiv 2024, arXiv:2402.04380. [Google Scholar]
- Shcherban, S.; Liang, P.; Tahir, A.; Li, X. Automatic Identification of Code Smell Discussions on Stack Overflow: A Preliminary Investigation. In Proceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Bari, Italy, 5–9 October 2020. [Google Scholar]
- Awan, W.N.; Paasivaara, M.; Gloor, P.; Salman, I. Creating Happier and More Productive Software Engineering Teams through AI and Machine Learning. 2024, Volume 3621. Available online: https://ceur-ws.org/Vol-3621/phd-paper1.pdf (accessed on 5 May 2024).
- Li, W.; Wu, F.; Fu, C.; Zhou, F. A Large-Scale Empirical Study on Semantic Versioning in Golang Ecosystem. In Proceedings of the 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), Luxembourg, 11–15 September 2023; pp. 1604–1614. [Google Scholar]
- Izadi, M.; Akbari, K.; Heydarnoori, A. Predicting the Objective and Priority of Issue Reports in Software Repositories. Empir. Softw. Eng. 2022, 27, 50. [Google Scholar] [CrossRef]
- He, H.; He, R.; Gu, H.; Zhou, M. A Large-Scale Empirical Study on Java Library Migrations: Prevalence, Trends, and Rationales. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Greece, 23–28 August 2021; pp. 478–490. [Google Scholar]
- Kokol, P.; Završnik, J.; Vošner, H.B. Bibliographic-Based Identification of Hot Future Research Topics: An Opportunity for Hospital Librarianship. J. Hosp. Librariansh. 2018, 18, 315–322. [Google Scholar] [CrossRef]
- Akbar, M.A.; Khan, A.A.; Liang, P. Ethical Aspects of ChatGPT in Software Engineering Research. IEEE Trans. Artif. Intell. 2023, 1–14. [Google Scholar] [CrossRef]
- Menezes, T. A Review to Find Elicitation Methods for Business Process Automation Software. Software 2023, 2, 177–196. [Google Scholar] [CrossRef]
- Self-Healing Code Is the Future of Software Development—Stack Overflow. Available online: https://stackoverflow.blog/2023/12/28/self-healing-code-is-the-future-of-software-development/ (accessed on 3 May 2024).
- Ahmad, A.; Waseem, M.; Liang, P.; Fahmideh, M.; Aktar, M.S.; Mikkonen, T. Towards Human-Bot Collaborative Software Architecting with ChatGPT. In Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering; Association for Computing Machinery: New York, NY, USA, 2023; pp. 279–285. [Google Scholar]
- Khojah, R.; Mohamad, M.; Leitner, P.; Neto, F.G.dO. Beyond Code Generation: An Observational Study of ChatGPT Usage in Software Engineering Practice. arXiv 2024, arXiv:2404.14901. [Google Scholar]
Cluster Color | Representative Keywords | Categories | Themes |
---|---|---|---|
Red (42 author keywords) | Artificial intelligence (560), Software development (173), Software testing (123), Fuzzy logic (98), Software (73), Big data (65), Reinforcement learning (64) | Ethical use of AI-based software engineering, Use of fuzzy logic in software development and testing, Automation of software testing in an agile environment, Project management of software life cycle using fuzzy logic, Data science and big data in software development | Use of artificial intelligence in management of software development life cycle |
Yellow (25 author keywords) | Software engineering (673), Natural language processing (362), Requirement engineering (108), Agile software development (61) | Natural language processing in software development, Natural language processing in software requirements engineering, User stories understanding with natural language processing | Natural language processing (NLP) in software engineering |
Blue cluster (31 author keywords) | Machine learning (1504), Software development effort estimation (156), Classification (142), Software defect prediction (205), Data mining (102), Artificial neural network (184), Software metrics (84), Feature selection (82) | Software development effort estimation, Data mining in software fault/defect prediction, Machine learning and software metrics | Machine learning in fault/defect prediction and effort estimation |
Green (39 author keywords) | Deep learning (770), Neural networks (123), Empirical software engineering (62), Attention mechanism (68), Code generation (34), Code search (33), COVID-19 (30), Technical depth (26), Program comprehension (31) | Deep learning in program comprehension and vulnerability detection, Technical depth and code smell detection, and classification, COVID-19 influence on software engineering | Deep learning in empirical software engineering focusing on code management |
Viollet (9 author keywords) | Software quality (86), Software maintenance (62), Mining software repositories (43) | Mining software repositories to improve software quality and software maintenance, Crowdsourcing, GitHub, and open source software as sources for mining software development data | Mining software repositories to improve software quality |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kokol, P. The Use of AI in Software Engineering: A Synthetic Knowledge Synthesis of the Recent Research Literature. Information 2024, 15, 354. https://doi.org/10.3390/info15060354
Kokol P. The Use of AI in Software Engineering: A Synthetic Knowledge Synthesis of the Recent Research Literature. Information. 2024; 15(6):354. https://doi.org/10.3390/info15060354
Chicago/Turabian StyleKokol, Peter. 2024. "The Use of AI in Software Engineering: A Synthetic Knowledge Synthesis of the Recent Research Literature" Information 15, no. 6: 354. https://doi.org/10.3390/info15060354
APA StyleKokol, P. (2024). The Use of AI in Software Engineering: A Synthetic Knowledge Synthesis of the Recent Research Literature. Information, 15(6), 354. https://doi.org/10.3390/info15060354