English
Related papers

Related papers: Top-Down Synthesis for Library Learning

200 papers

Library learning is the process of building a library of common functionalities from a given set of programs. Typically, this process is applied in the context of aiding program synthesis: concise functions can help the synthesizer produce…

Programming Languages · Computer Science 2024-10-10 Abhiram Bellur , Razan Alghamdi , Kidus Workneh , Joseph Izraelevitz

LambdaBeam is a state-of-the-art, execution-guided algorithm for program synthesis that utilizes higher-order functions, lambda functions, and iterative loops within a Domain-Specific Language (DSL). LambdaBeam generates each program from…

Software Engineering · Computer Science 2024-09-13 Janis Zenkner , Lukas Dierkes , Tobias Sesterhenn , Chrisitan Bartelt

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

We introduce Stencil-Lifting, a novel system for automatically converting stencil kernels written in low-level languages in legacy code into semantically equivalent Domain-Specific Language (DSL) implementations. Targeting the efficiency…

Software Engineering · Computer Science 2025-09-16 Mingyi Li , Junmin Xiao , Siyan Chen , Hui Ma , Xi Chen , Peihua Bao , Liang Yuan , Guangming Tan

Domain-specific languages (DSLs) for machine learning are revolutionizing the speed and efficiency of machine learning workloads as they enable users easy access to high-performance compiler optimizations and accelerators. However, to take…

In the task of automatic program synthesis, one obtains pairs of matching inputs and outputs and generates a computer program, in a particular domain-specific language (DSL), which given each sample input returns the matching output. A key…

Machine Learning · Computer Science 2023-03-14 Aran Carmon , Lior Wolf

Interacting with computers is a ubiquitous activity for millions of people. Repetitive or specialized tasks often require creation of small, often one-off, programs. End-users struggle with learning and using the myriad of domain-specific…

Programming Languages · Computer Science 2015-09-02 Aditya Desai , Sumit Gulwani , Vineet Hingorani , Nidhi Jain , Amey Karkare , Mark Marron , Sailesh R , Subhajit Roy

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

Fast compilation is important when compilation occurs at runtime, such as query compilers in modern database systems and WebAssembly virtual machines in modern browsers. We present copy-and-patch, an extremely fast compilation technique…

Programming Languages · Computer Science 2021-09-16 Haoran Xu , Fredrik Kjolstad

While large language models (LLMs) now excel at code generation, a key aspect of software development is the art of refactoring: consolidating code into libraries of reusable and readable programs. In this paper, we introduce LILO, a…

Computation and Language · Computer Science 2024-03-18 Gabriel Grand , Lionel Wong , Maddy Bowers , Theo X. Olausson , Muxin Liu , Joshua B. Tenenbaum , Jacob Andreas

Due to its great importance in deep natural language understanding and various down-stream applications, text-level parsing of discourse rhetorical structure (DRS) has been drawing more and more attention in recent years. However, all the…

Computation and Language · Computer Science 2021-05-20 Longyin Zhang , Yuqing Xing , Fang Kong , Peifeng Li , Guodong Zhou

We propose a new method of program learning in a Domain Specific Language (DSL) which is based on gradient descent with no direct search. The first component of our method is a probabilistic representation of the DSL variables. At each…

Machine Learning · Computer Science 2020-12-08 Ali Davody , Mahmoud Safari , Răzvan V. Florian

Synthesizing user-intended programs from a small number of input-output examples is a challenging problem with several important applications like spreadsheet manipulation, data wrangling and code refactoring. Existing synthesis systems…

Artificial Intelligence · Computer Science 2018-09-17 Ashwin Kalyan , Abhishek Mohta , Oleksandr Polozov , Dhruv Batra , Prateek Jain , Sumit Gulwani

Sparse neural systems are gaining traction for efficient continual learning due to their modularity and low interference. Architectures such as Sparse Distributed Memory Multi-Layer Perceptrons (SDMLP) construct task-specific subnetworks…

Machine Learning · Computer Science 2025-12-18 Huiyan Xue , Xuming Ran , Yaxin Li , Qi Xu , Enhui Li , Yi Xu , Qiang Zhang

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

Many example-guided program synthesis techniques use abstractions to prune the search space. While abstraction-based synthesis has proven to be very powerful, a domain expert needs to provide a suitable abstract domain, together with the…

Programming Languages · Computer Science 2018-04-13 Xinyu Wang , Greg Anderson , Isil Dillig , K. L. McMillan

Inductive program synthesis, or inferring programs from examples of desired behavior, offers a general paradigm for building interpretable, robust, and generalizable machine learning systems. Effective program synthesis depends on two key…

Machine Learning · Computer Science 2022-05-05 Catherine Wong , Kevin Ellis , Joshua B. Tenenbaum , Jacob Andreas

Code completion is a prominent application of Large Language Models (LLMs) in software engineering. Due to the near real-time response requirements of this task, base models with small to medium-sized parameters are typically employed,…

Software Engineering · Computer Science 2025-09-18 Dongjun Yu , Xiao Yan , Zhenrui Li , Jipeng Xiao , Haochuan He , Yongda Yu , Hao Zhang , Guoping Rong , Xiaobo Huang

Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of course,…

Logic in Computer Science · Computer Science 2011-11-10 Yoad Lustig , Moshe Vardi

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto
‹ Prev 1 2 3 10 Next ›