Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation

04/21/2023
by   Yongho Yoon, et al.
0

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.

READ FULL TEXT
research
07/05/2017

Combining Forward and Backward Abstract Interpretation of Horn Clauses

Alternation of forward and backward analyses is a standard technique in ...
research
10/04/2020

Optimal Neural Program Synthesis from Multimodal Specifications

Multimodal program synthesis, which leverages different types of user in...
research
07/25/2023

Synthesis of Procedural Models for Deterministic Transition Systems

This paper introduces a general approach for synthesizing procedural mod...
research
03/17/2000

Detecting Unsolvable Queries for Definite Logic Programs

In solving a query, the SLD proof procedure for definite programs someti...
research
04/27/2021

Inductive Program Synthesis over Noisy Datasets using Abstraction Refinement Based Optimization

We present a new synthesis algorithm to solve program synthesis over noi...
research
02/22/2021

Program Synthesis Guided Reinforcement Learning

A key challenge for reinforcement learning is solving long-horizon plann...
research
04/05/2022

Efficient Pragmatic Program Synthesis with Informative Specifications

Providing examples is one of the most common way for end-users to intera...

Please sign up or login with your details

Forgot password? Click here to reset