Abstract:In recent years, with the rapid development of the information technology, the importance of software is increasing day by day, which greatly promotes the development of economic society. However, in the face of more and more complex business forms and faster and faster demand changes, the cost of software development and maintenance has increased dramatically, so it is necessary to study new technologies and explore new software development models. Large scale software codes and data are accumulated in specific fields in software activities throughout the whole life cycle, and these software assets establish a data base for software intelligent development. At the same time, AI technologies such as deep learning have been successfully applied in many fields, which prompted researchers to consider using the combination of intelligent technology and software engineering technology to solve the problem of automatic program generation. The method of intelligent program synthesis not only realizes the automation of software development process and improves software productivity, but also enables software to have the function of intelligent change with the change of environment and demand, greatly reducing maintenance costs. This study starts from exploring the development process and challenges of software engineering, then the research layout in the field of intelligent software synthesis technology, as well as the advantages and disadvantages of each method are studied. Finally, the intelligent program synthesis technology is summarized in a comparative perspective and suggestions are given for future research.