Abstract
In every sphere of technology nowadays, the world has been moving away from manual procedures towards more intelligent systems that minimize human error and intervention, and software engineering is no exception. This paper is a study on the amalgamation of artificial intelligence with software engineering. Software Development Lifecycle is the foundation of this paper, and each phase of it – Requirements Engineering, Design and Architecture, Development and Implementation, and Testing – serves as a building block. This work elucidates the various techniques of intelligent computing that have been applied to these stages of software engineering, as well as the scope for some of these techniques to solve existing challenges and optimize SDLC processes. This paper demonstrates in-depth, comprehensive research into the current state, advantages, limitations and future scope of artificial intelligence in the domain of software engineering. It is significant for its contributions to the field of intelligent software engineering by providing industry-oriented, practical applications of techniques like natural language processing, meta programming, automated data structuring, self-healing testing etc. This paper expounds upon some open issues and inadequacies of software engineering tools today, and proposes ways in which intelligent applications could present solutions to these challenges.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Perkusich, M., et al.: Intelligent software engineering in the context of agile software development: a systematic literature review. Inf. Softw. Technol. 119, 106241 (2020)
Silva, V.J.S., Dorça, F.A.: An automatic and intelligent approach for supporting teaching and learning of software engineering considering design smells in object-oriented programming. In: 2019 IEEE 19th International Conference on Advanced Learning Technologies (ICALT), vol. 2161. IEEE (2019)
Cheng, B.H.C., et al.: Software Engineering for Self-Adaptive Systems: A Research Roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1
IEEE 12207-2-2020 - ISO/IEC/IEEE International Standard - Systems and software engineering–Software life cycle processes–Part 2: Relation and mapping between ISO/IEC/IEEE 12207:2017 (2020)
Institute of Electrical and Electronic Engineers, IEEE Standard Glossary of Software Engineering Terminology (IEEE Standard 610.12-1990). Institute of Electrical and Electronics Engineers, New York (1990)
Chakraborty, A., Baowaly, M.K., Arefin, A., Bahar, A.N.: The role of requirement engineering in software development life cycle. J. Emerg. Trends Comput. Inf. Sci. 3(5), 1 (2012)
Batarseh, F.A., Yang, R.: Data Democracy: At the Nexus of Artificial Intelligence, Software Development, and Knowledge Engineering. Academic Press, Cambridge (2020)
Balzer, R., Goldman, N., Wile, D.: Informality in program specifications. IEEE Trans. Softw. Eng. SE-4(2), 94–103 (1977)
Zhao, L., et al.: Natural language processing (NLP) for requirements engineering: a systematic mapping study. arXiv preprint arXiv:2004.01099 (2020)
Dalpiaz, F., van der Schalk, I., Lucassen, G.: Pinpointing ambiguity and incompleteness in requirements engineering via information visualization and NLP. In: Kamsties, E., Horkoff, J., Dalpiaz, F. (eds.) REFSQ 2018. LNCS, vol. 10753, pp. 119–135. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77243-1_8
Robeer, M., Lucassen, G., Van der Werf, J.M., Dalpiaz, F., Brinkkemper, S.: Automated extraction of conceptual models from user stories via NLP. In: Proceedings of the International Requirements Engineering Conference (2016)
Ammar, H.H., Abdelmoez, W., Hamdi, M.S.: Software engineering using artificial intelligence techniques: current state and open problems. In: Proceedings of the First Taibah University International Conference on Computing and Information Technology (ICCIT 2012), Al-Madinah Al-Munawwarah, Saudi Arabia, vol. 52 (2012)
Garigliano, R., Mich, L.: NL-OOPS: a requirements analysis tool based on natural language processing. Conf. Data Mining 3, 1182–1190 (2002)
Smith, T.J.: READS: a requirements engineering tool. In: Proceedings of the IEEE International Symposium on Requirements Engineering. IEEE (1993)
Zell, A.: Simulation Neuronaler Netze (Simulation with Neuronal Networks). Wissenschaftsverlag, Oldenbourg (2003)
Neumann, D.E.: An enhanced neural network technique for software risk analysis. IEEE Trans. Software Eng. 28(9), 904–912 (2002)
Koc, H., Erdoğan, A., Barjakly, Y., Peker, S.: UML diagrams in software engineering research: a systematic literature review. Proceedings. 74, 13 (2021). https://doi.org/10.3390/proceedings2021074013
Waykar, Y.: A study of importance of UML diagrams: with special reference to very large-sized projects (2013)
Narawita, C.R., Vidanage, K.: UML generator – use case and class diagram generation from text requirements. Int. J. Adv. ICT Emerg. Regions (ICTER) 10, 1 (2018)
Bajwa, I.S., Choudhary, M.A.: Natural language processing based automated system for UML diagrams generation (2006)
Bajwa, I., Hyder, S.: UCD-generator - a LESSA application for use case design. In: 2007 International Conference on Information and Emerging Technologies, ICIET, pp. 1–5 (2007). https://doi.org/10.1109/ICIET.2007.4381333
Sharma, R., Gulia, S., Biswas, K.K.: Automated generation of activity and sequence diagrams from natural language requirements. In: 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), pp. 1–9 (2014)
Gosala, B., Chowdhuri, S.R., Singh, J., Gupta, M., Mishra, A.: Automatic classification of UML class diagrams using deep learning technique: convolutional neural network. Appl. Sci. 11(9), 4267 (2021)
Baqais, A., Alshayeb, M.: Automatic refactoring of single and multiple-view UML models using artificial intelligence algorithms (2016)
Schatsky, D., Bumb, S.: AI is helping to make better software, 22 January 2020. https://www2.deloitte.com/us/en/insights/focus/signals-for-strategists/ai-assisted-software-development.html. Accessed 2 Sept 2021
Carlos, C.I.: Software programmed by artificial agents: toward an autonomous development process for code generation. In: IEEE International Conference on Systems, Man, and Cybernetics, pp. 3294–3299 (2013)
Hill, W.L.: Machine learning for software reuse (1987)
Prasad, A., Park, E.K.: Reuse system: an artificial intelligence-based approach. J. Syst. Softw. 27(3), 207–221 (1994)
Wang, P., Shiva, S.: A knowledge-based software reuse environment for program development. IEEE (1994)
Waters, R.: The programmer’s apprentice: knowledge-based program editing. IEEE Trans. Softw. Eng. 8(1), 1e12 (1982)
Shankari, K.H., Thirumalaiselvi, R.: A survey on using artificial intelligence techniques in the software development process. Int. J. Eng. Res. Appl. 4(12), 24–33 (2014)
Jemerov, D.: Implementing refactorings in IntellJ IDEA (2008)
Mahmood, J., Reddy, Y.R.: Automated refactorings in Java: using IntelliJ IDEA to extract and propagate constants (2014)
Le Goues, C., Yoo, S. (eds.): SSBSE 2014. LNCS, vol. 8636. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09940-8
AI in Software Testing. Testing Xperts, 16 March 2021. https://www.testingxperts.com/blog/AI-in-Software-Testing. Accessed 27 Aug 2021
Yanovskiy, D.: Automated visual testing for mobile and web applications. Perfecto, Perforce, 27 May 2020. https://www.perfecto.io/blog/automated-visual-testing. Accessed 25 Aug 2021
Battat, M., Schiemann, D.: Why visual AI beats pixel and DOM Diffs for web app testing. InfoQ, 23 January 2020. https://www.infoq.com/articles/visual-ai-web-app-testing/. Accessed 29 Aug 2021
Lima, R., et al.: Artificial intelligence applied to software testing: a literature review. In: 2020 15th Iberian Conference on Information Systems and Technologies (CISTI), pp. 1–6 (2020)
Trudova, A., et al.: Artificial intelligence in software test automation: a systematic literature review. In: ENASE (2020)
Tandon, A., Malik, P.: Breeding software test cases with genetic algorithms (2013)
Rauf, A., Alanazi, M.N.: Using artificial intelligence to automatically test GUI. In: 2014 9th International Conference on Computer Science & Education, pp. 3–5 (2014)
Zhang, M., Yue, T., Ali, S., Zhang, H., Wu, J.: A systematic approach to automatically derive test cases from use cases specified in restricted natural languages. In: Amyot, D., Fonseca i Casas, P., Mussbacher, G. (eds.) SAM 2014. LNCS, vol. 8769, pp. 142–157. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11743-0_10
Dwarakanath, A., Sengupta, S.: Litmus: generation of test cases from functional requirements in natural language. In: Bouma, G., Ittoo, A., Métais, E., Wortmann, H. (eds.) NLDB 2012. LNCS, vol. 7337, pp. 58–69. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31178-9_6
Nguyen, D.P., Maag, S.: Codeless web testing using Selenium and machine learning. In: ICSOFT 2020: 15th International Conference on Software Technologies, July 2020, Online, France, pp. 51–60 (2020). https://doi.org/10.5220/0009885400510060, (hal-02909787)
Harman, M., et al.: Achievements, open problems and challenges for search based software testing. In: 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), pp. 1–12 (2015). 016/11/21
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kulkarni, V., Kolhe, A., Kulkarni, J. (2022). Intelligent Software Engineering: The Significance of Artificial Intelligence Techniques in Enhancing Software Development Lifecycle Processes. In: Abraham, A., Gandhi, N., Hanne, T., Hong, TP., Nogueira Rios, T., Ding, W. (eds) Intelligent Systems Design and Applications. ISDA 2021. Lecture Notes in Networks and Systems, vol 418. Springer, Cham. https://doi.org/10.1007/978-3-030-96308-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-96308-8_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-96307-1
Online ISBN: 978-3-030-96308-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)