Software engineering (SE) and artificial intelligence (AI) are the two main fields of computer science, and these fields have unique relevance and importance. Researchers are working hard in these fields and have gathered much information concerning the relevance of each to different industries and businesses. The implementation of available AI tools, techniques, and methods in SE is as important as SE implementation in AI. For implementation of AI projects, SE is important, and for SE, AI can help in automating the processes for effectively and efficiently implementing complex project development. These fields can therefore work with each other and do wonders in the fields of research and development, which will also minimize individual limitations. During this study, research and development was identified as commonly used in both AI and SE projects, and we have tried to generate the relationships between them. The main goal of this study was to provide techniques developed in AI for implementation in SE. The main aim of this chapter is to provide a strategy for solving problems associated with the SE by using AI techniques or tools for a particular software development process. This chapter provides an overview of AI and SE and explores the framework of their interaction. It explores some of the relationships between AI and SE on the basis of the need to implement AI in the SE field and the impact of AI on each phase of SE. Furthermore, it describes some AI techniques like case-based reasoning, the genetic algorithm, fuzzy logic, and artificial neural networks. It also introduces the various AI techniques that are used in the SE field while merging these fields. We also highlight some open problems that can occur during the application of AI techniques in SE.
Hazrina SofianNur Arzilawati Md YunusRodina Ahmad