[POPL'23] Top-Down Synthesis for Library Learning
[POPL'23] Top-Down Synthesis for Library Learning
Matt Bowers, Theo X. Olausson, Lionel Wong, Gabriel Grand, Joshua B. Tenenbaum, Kevin Ellis, Armando Solar-Lezama
This paper introduces \textit{corpus-guided top-down synthesis} as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern matching of intermediate abstractions to intelligently prune the search space and guide the algorithm towards abstractions that maximally capture shared structures in the corpus. We present an implementation of the approach in a tool called \textsc{Stitch} and evaluate it against the state-of-the-art deductive library learning algorithm from DreamCoder. Our evaluation shows that \textsc{Stitch} is 3-4 orders of magnitude faster and uses 2 orders of magnitude less memory while maintaining comparable or better library quality (as measured by compressivity). We also demonstrate \textsc{Stitch}'s scalability on corpora containing hundreds of complex programs that are intractable with prior deductive approaches and show empirically that it is robust to terminating the search procedure early—further allowing it to scale to challenging datasets by means of early stopping.
Видео [POPL'23] Top-Down Synthesis for Library Learning канала ACM SIGPLAN
Matt Bowers, Theo X. Olausson, Lionel Wong, Gabriel Grand, Joshua B. Tenenbaum, Kevin Ellis, Armando Solar-Lezama
This paper introduces \textit{corpus-guided top-down synthesis} as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern matching of intermediate abstractions to intelligently prune the search space and guide the algorithm towards abstractions that maximally capture shared structures in the corpus. We present an implementation of the approach in a tool called \textsc{Stitch} and evaluate it against the state-of-the-art deductive library learning algorithm from DreamCoder. Our evaluation shows that \textsc{Stitch} is 3-4 orders of magnitude faster and uses 2 orders of magnitude less memory while maintaining comparable or better library quality (as measured by compressivity). We also demonstrate \textsc{Stitch}'s scalability on corpora containing hundreds of complex programs that are intractable with prior deductive approaches and show empirically that it is robust to terminating the search procedure early—further allowing it to scale to challenging datasets by means of early stopping.
Видео [POPL'23] Top-Down Synthesis for Library Learning канала ACM SIGPLAN
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
TyDe 2021 - Interactive Haskell Type Inference Exploration (Extended Abstract)[OCaml'22] Efficient “out of heap” pointers for multicore OCaml[PriSC'22] Composing Secure CompilersWarping Cache Simulation of Polyhedral Programs[SLE] Property-Based Testing: Climbing the Stairway to Verification[ML'22] Efficient and Scalable Parallel Functional Programming Through Disentanglement[CPP'23] CompCert: a journey through the landscape of mechanized semantics for verified co...Low-Latency, High-Throughput Garbage CollectionDISTAL: The Distributed Tensor Algebra CompilerIRDL: An IR Definition Language for SSA CompilersEfficient Compilation of Algebraic Effect Handlers[ICFP'22] Safe Couplings: Coupled Refinement TypesWebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration[ICFP'22] Beyond Relooper: Recursive Translation of Unstructured Control Flow to Structu…Compass: Strong and Compositional Library Specifications in Relaxed Memory Separation LogicInterval Universal Approximation for Neural Networks (Teaser)[POPL'22] Layered and Object-Based Game Semantics[POPL'22] Verified Tensor-Program Optimization Via High-Level Scheduling Rewrites[VMCAI'22] Making PROGRESS in Property Directed ReachabilityPrinciples and Patterns of JastAdd-Style Reference Attribute GrammarsNatural Language-Guided Programming