Efficient Bottom-Up Synthesis for Programs with Local Variables
- 1. University of Michigan
- 2. University of Washington
Description
We propose a novel synthesis algorithm that can efficiently search programs with context-dependent semantics (i.e., open programs with free variables that require a binding context to be evaluated), in the context of web automation. Notably, our algorithm can search programs using non-input variables (which are local variables introduced by the program) more efficiently than prior work.
Our contributions are twofold. First, we generalize the standard (context-unaware) observational equivalence (OE) from the program synthesis literature to context-aware OE, by taking into account non-input variables. Second (and more importantly), we describe an algorithm that can use context-aware OE to reduce a significantly broader class of programs.
These ideas are instantiated in the domain of web automation. The resulting tool, Arborist, can automate a broader range of challenging tasks more efficiently than the state-of-the-art.