Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation

Citations

WEB OF SCIENCE

13
Citations

SCOPUS

16

초록

A key challenge in example-based program synthesis is the gigantic search space of programs. To address this challenge, various work proposed to use abstract interpretation to prune the search space. However, most of existing approaches have focused only on forward abstract interpretation, and thus cannot fully exploit the power of abstract interpretation. In this paper, we propose a novel approach to inductive program synthesis via iterative forward-backward abstract interpretation. The forward abstract interpretation computes possible outputs of a program given inputs, while the backward abstract interpretation computes possible inputs of a program given outputs. By iteratively performing the two abstract interpretations in an alternating fashion, we can effectively determine if any completion of each partial program as a candidate can satisfy the input-output examples. We apply our approach to a standard formulation, syntax-guided synthesis (SyGuS), thereby supporting a wide range of inductive synthesis tasks. We have implemented our approach and evaluated it on a set of benchmarks from the prior work. The experimental results show that our approach significantly outperforms the state-of-The-Art approaches thanks to the sophisticated abstract interpretation techniques. © 2023 Owner/Author.

키워드

Abstract InterpretationProgram SynthesisProgramming by ExampleSTATIC ANALYSIS
제목
Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation
저자
Yoon, YonghoLee, WoosukYi, Kwangkeun
DOI
10.1145/3591288
발행일
2023-06
유형
Article
저널명
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
7
PLDI
페이지
1 ~ 25