Absynthe: Abstract Interpretation-Guided Synthesis
Sankha Narayan Guria, Jeffrey S. Foster, David Van Horn
摘要
Synthesis tools have seen significant success in recent times. However, past approaches often require a complete and accurate embedding of the source language in the logic of the underlying solver, an approach difficult for industrial-grade languages. Other approaches couple the semantics of the source language with purpose-built synthesizers, necessarily tying the synthesis engine to a particular language model. In this paper, we propose Absynthe, an alternative approach based on user-defined abstract semantics that aims to be both lightweight and language agnostic, yet effective in guiding the search for programs. A synthesis goal in Absynthe is specified as an abstract specification in a lightweight user-defined abstract domain and concrete test cases. The synthesis engine is parameterized by the abstract semantics and independent of the source language. Absynthe validates candidate programs against test cases using the actual concrete language implementation to ensure correctness. We formalize the synthesis rules for Absynthe and describe how the key ideas are scaled-up in our implementation in Ruby. We evaluated Absynthe on SyGuS strings benchmark and found it competitive with other enumerative search solvers. Moreover, Absynthe's ability to combine abstract domains allows the user to move along a cost spectrum, i.e., expressive domains prune more programs but require more time. Finally, to verify Absynthe can act as a general purpose synthesis tool, we use Absynthe to synthesize Pandas data frame manipulating programs in Python using simple abstractions like types and column labels of a data frame. Absynthe reaches parity with AutoPandas, a deep learning based tool for the same benchmark suite. In summary, our results demonstrate Absynthe is a promising step forward towards a general-purpose approach to synthesis that may broaden the applicability of synthesis to more full-featured languages.
CCS Concepts: • Software and its engineering → Automatic programming.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper7
- API-Guided Dataset Synthesis to Finetune Large Code ModelsZongjie Li, Daoyuan Wu, Shuai Wang, Zhendong SuOOPSLA 2025 · 被引用 6 次
- Optimal Program Synthesis via Abstract InterpretationStephen Mell, Steve Zdancewic, Osbert BastaniPOPL 2024 · 被引用 6 次
- Active Learning for Neurosymbolic Program SynthesisCeleste Barnaby, Qiaochu Chen, Ramya Ramalingam, Osbert Bastani 等OOPSLA 2025 · 被引用 2 次
- Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic SemanticsKeith J. C. Johnson, Rahul Krishnan, Thomas W. Reps, Loris D'AntoniOOPSLA 2024 · 被引用 2 次
- Oriented Metrics for Bottom-Up Enumerative SynthesisRoland Meyer, Jakob TepePOPL 2026
它引用的顶会 Paper6
- Neurosymbolic Reinforcement Learning with Formally Verified ExplorationGreg Anderson, Abhinav Verma, Isil Dillig, Swarat ChaudhuriNeurIPS 2020 · 被引用 91 次
- Reconciling enumerative and deductive program synthesisKangjing Huang, Xiaokang Qiu, Peiyuan Shen, Yanjun WangPLDI 2020 · 被引用 46 次
- Just-in-time learning for bottom-up enumerative synthesisShraddha Barke, Hila Peleg, Nadia PolikarpovaOOPSLA 2020 · 被引用 33 次
- Semantics-guided synthesisJinwoo Kim, Qinheping Hu, Loris D'Antoni, Thomas W. RepsPOPL 2021 · 被引用 31 次
- RbSyn: type- and effect-guided program synthesisSankha Narayan Guria, Jeffrey S. Foster, David Van HornPLDI 2021 · 被引用 8 次
相关 Paper
- Combining the top-down propagation and bottom-up enumeration for inductive program synthesisWoosuk LeePOPL 2021 · 被引用 34 次
- Presynthesis: Towards Scaling Up Program Synthesis with Finer-Grained Abstract SemanticsRui Dong, Qingyue Wu, Danny Ding, Zheng Guo 等PLDI 2026
- ABSynthe: Automatic Blackbox Side-channel Synthesis on Commodity MicroarchitecturesBen Gras, Cristiano Giuffrida, Michael Kurth, Herbert Bos 等NDSS 2020
- Assuage: Assembly Synthesis Using A Guided ExplorationJingmei Hu, Priyan Vaithilingam, Stephen Chong, Margo I. Seltzer 等UIST 2021 · 被引用 10 次
- Leveraging Rust Types for Program SynthesisJonás Fiala, Shachar Itzhaky, Peter Müller, Nadia Polikarpova 等PLDI 2023 · 被引用 17 次
