분할 정복 및 요약해석 기반 JavaScript 프로그램 합성

Program Synthesis for JavaScript via Divide-and-Conquer and Abstraction Interpretation

초록

Program synthesis aims to automatically generate a program that satisfies the user intent expressed in the form of a high-level specification. Recent years have witnessed a surge in interest in applying this technology to a wide range of problems. Program synthesis can help improve software development productivity. In this paper, we present an algorithm for synthesizing Javascript programs from input-output examples. Our approach was based on a synergistic combination of the version space algebra-based approach, which can efficiently solve synthesis problems through divide-and-conquer, and abstract interpretation, which can be used to finitize infinite search spaces. We have implemented our approach and evaluated it in 140 problems of synthesizing string- and integer-manipulating programs. On average, the desirable programs were generated within nine seconds.

키워드

프로그램 합성JavaScript입출력 예제를 통한 프로그래밍요약해석program synthesisjavascriptprogramming-by-examplesabstract interpretation
제목
분할 정복 및 요약해석 기반 JavaScript 프로그램 합성
제목 (타언어)
Program Synthesis for JavaScript via Divide-and-Conquer and Abstraction Interpretation
저자
조정민조한결이우석
DOI
10.5626/JOK.2021.48.6.629
발행일
2021-06
저널명
정보과학회논문지
48
6
페이지
629 ~ 638