Abstract
Artificial Intelligence (AI) and Software Engineering are considered as significant fields to solve
various problems. However, there are weaknesses in certain problem-solving in each field. Thus,
this paper is a broad-based review of using artificial intelligence (AI) to improve software engineering (SE), and vice versa. As well as it intends to review the techniques developed in artificial
intelligence from the standpoint of their application in software engineering. The aim of this review
is highlighted in how the previous study benefited from incorporating the advantages of both
fields. The researchers and practitioners on AI and SE belong to a wide range of audiences from the
domains of optimization, engineering, data mining, clustering, etc., who will benefit from this study
and areas for potential future research.