Abstract

AbstractThe construction of programs from the user intends is called program synthesis. Program synthesis is being used in our daily life in various ways. For instance, Microsoft Excel has a feature called FlashFill that is capable of string manipulation on the data as per the users’ interest. Depending on the specification of users intend, program synthesizers are classified into a deductive, inductive, and natural language-based synthesizer. Deductive synthesizers use specific descriptions or algorithms in generating programs. Inductive program synthesis uses inductive reasoning on generating programs out of this specification. Programming by examples (PBE) method comes under this type. The specification can be a set of exemplary data used ad input and output, use case diagrams, and so on. In natural language-based, normal English sentences are given as specifications. The synthesizers use artificial intelligence to synthesize programs. This survey provides an overview of program synthesis from its evolution to real-world applications. This survey also includes a comparison of theory and development of different approaches to program synthesis. ...KeywordsProgram synthesisInductive program synthesisNeural program synthesisProgramming by examples (PBE)Domain-specific language (DSL)

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call