Program synthesis refers to the task of solving a specific problem by automatically generating a computer program. It has received considerable attention from artificial intelligence and programming language communities. Over time, software codes and group wisdom have been accumulated on the internet. Simultaneously, artificial intelligence, such as deep learning, has obtained promising achievements in numerous fields, which has motivated researchers to address the problem of automatic program generation by considering both software engineering and intelligent technology. The key challenges in the field of program synthesis mainly consist of the huge search space of the programs and the ambiguity of user intent. In this study, we analyze program synthesis techniques according to their user intent description, focus on the impact of new technologies on program synthesis, such as data-driven and artificial intelligence, and summarize the pruning methods of program space and search technologies. Further, we discuss the existing challenges in program synthesis technology and present suggestions for further studies in this field.
Access to the requested content is limited to institutions that have purchased or subscribe to SPIE eBooks.
You are receiving this notice because your organization may not have SPIE eBooks access.*
*Shibboleth/Open Athens users─please
sign in
to access your institution's subscriptions.
To obtain this item, you may purchase the complete book in print or electronic format on
SPIE.org.
INSTITUTIONAL Select your institution to access the SPIE Digital Library.
PERSONAL Sign in with your SPIE account to access your personal subscriptions or to use specific features such as save to my library, sign up for alerts, save searches, etc.