Efficient Bottom-Up Synthesis for Programs with Local Variables

Xiang Li, Xiangyu Zhou, Rui Dong, Yihong Zhang, Xinyu Wang
11/7/2023
cs.PLcs.AIcs.SE

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

We propose a new synthesis algorithm that can efficiently search programs with local variables (e.g., those introduced by lambdas). Prior bottom-up synthesis algorithms are not able to evaluate programs with free local variables, and therefore cannot effectively reduce the search space of such programs (e.g., using standard observational equivalence reduction techniques), making synthesis slow. Our algorithm can reduce the space of programs with local variables. The key idea, dubbed lifted interpretation, is to lift up the program interpretation process, from evaluating one program at a time to simultaneously evaluating all programs from a grammar. Lifted interpretation provides a mechanism to systematically enumerate all binding contexts for local variables, thereby enabling us to evaluate and reduce the space of programs with local variables. Our ideas are instantiated in the domain of web automation. The resulting tool, Arborist, can automate a significantly broader range of challenging tasks more efficiently than state-of-the-art techniques including WebRobot and Helena.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{li2023efficient,
  title  = {Efficient Bottom-Up Synthesis for Programs with Local Variables},
  author = {Xiang Li and Xiangyu Zhou and Rui Dong and Yihong Zhang and Xinyu Wang},
  year   = {2023},
  eprint = {2311.03705},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2311.03705v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2311.03705.svg)](https://codeofpaper.com/paper/2311.03705)

Discussion