English
Related papers

Related papers: Synthesizing Imperative Programs from Examples Gui…

200 papers

Software engineers mainly write code by editing existing programs. In contrast, language models (LMs) autoregressively synthesize programs in a single pass. One explanation for this is the scarcity of sequential edit data. While…

Machine Learning · Computer Science 2025-02-12 Ulyana Piterbarg , Lerrel Pinto , Rob Fergus

We study the incremental knapsack problem, where one wishes to sequentially pack items into a knapsack whose capacity expands over a finite planning horizon, with the objective of maximizing time-averaged profits. While various…

Data Structures and Algorithms · Computer Science 2020-10-16 Ali Aouad , Danny Segev

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

We describe an inductive logic programming (ILP) approach called learning from failures. In this approach, an ILP system (the learner) decomposes the learning problem into three separate stages: generate, test, and constrain. In the…

Artificial Intelligence · Computer Science 2020-11-26 Andrew Cropper , Rolf Morel

Encoder-decoder Large Language Models (LLMs), such as BERT and RoBERTa, require that all categories in an annotation task be sufficiently represented in the training data for optimal performance. However, it is often difficult to find…

Computation and Language · Computer Science 2025-04-22 Joan C. Timoneda

We introduce program splicing, a programming methodology that aims to automate the commonly used workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code,…

Programming Languages · Computer Science 2017-05-26 Yanxin Lu , Swarat Chaudhuri , Chris Jermaine , David Melski

In many sequence learning tasks, such as program synthesis and document summarization, a key problem is searching over a large space of possible output sequences. We propose to learn representations of the outputs that are specifically…

Machine Learning · Computer Science 2021-08-09 Joey Hong , David Dohan , Rishabh Singh , Charles Sutton , Manzil Zaheer

Inductive program synthesis, or programming by example, requires synthesizing functions from input-output examples that generalize to unseen inputs. While large language model agents have shown promise in programming tasks guided by natural…

Programming Languages · Computer Science 2025-08-11 Anjiang Wei , Tarun Suresh , Jiannan Cao , Naveen Kannan , Yuheng Wu , Kai Yan , Thiago S. F. X. Teixeira , Ke Wang , Alex Aiken

We consider the problem of generating automatic code given sample input-output pairs. We train a neural network to map from the current state and the outputs to the program's next statement. The neural network optimizes multiple tasks…

Machine Learning · Computer Science 2019-01-23 Amit Zohar , Lior Wolf

Instructors have limited time and resources to help struggling students, and these resources should be directed to the students who most need them. To address this, researchers have constructed models that can predict students' final course…

Machine Learning · Computer Science 2021-02-12 Ge Gao , Samiha Marwan , Thomas W. Price

Large language models (LLMs) excel at zero-shot inference but continue to struggle with complex, multi-step reasoning. Recent methods that augment LLMs with intermediate reasoning steps such as Chain of Thought (CoT) and Program of Thought…

Computation and Language · Computer Science 2025-10-28 Adam Stein , Neelay Velingker , Mayur Naik , Eric Wong

We present a framework in Isabelle for verifying asymptotic time complexity of imperative programs. We build upon an extension of Imperative HOL and its separation logic to include running time. In addition to the basic arguments, our…

Logic in Computer Science · Computer Science 2018-02-06 Bohua Zhan , Maximilian P. L. Haslbeck

This paper proposes a language for describing reactive synthesis problems that integrates imperative and declarative elements. The semantics is defined in terms of two-player turn-based infinite games with full information. Currently,…

Logic in Computer Science · Computer Science 2016-02-04 Ioannis Filippidis , Richard M. Murray , Gerard J. Holzmann

We consider a discrete optimization formulation for learning sparse classifiers, where the outcome depends upon a linear combination of a small subset of features. Recent work has shown that mixed integer programming (MIP) can be used to…

Machine Learning · Statistics 2021-06-08 Antoine Dedieu , Hussein Hazimeh , Rahul Mazumder

Large Language Models (LLMs) have become increasingly capable of handling diverse tasks with the aid of well-crafted prompts and integration of external tools, but as task complexity rises, the workflow involving LLMs can be complicated and…

Artificial Intelligence · Computer Science 2024-06-21 Honghua Dong , Qidong Su , Yubo Gao , Zhaoyu Li , Yangjun Ruan , Gennady Pekhimenko , Chris J. Maddison , Xujie Si

Program synthesis from input-output examples, also called programming by example (PBE), has had tremendous impact on automating end-user tasks. Large language models (LLMs) have the ability to solve PBE tasks by generating code in different…

Programming Languages · Computer Science 2025-03-21 Ruhma Khan , Sumit Gulwani , Vu Le , Arjun Radhakrishna , Ashish Tiwari , Gust Verbruggen

We present algorithms to synthesize component-based systems that are safe and deadlock-free using priorities, which define stateless-precedence between enabled actions. Our core method combines the concept of fault-localization (using…

Logic in Computer Science · Computer Science 2011-10-10 Chih-Hong Cheng , Saddek Bensalem , Yu-Fang Chen , Rongjie Yan , Barbara Jobstmann , Harald Ruess , Christian Buckl , Alois Knoll

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

Lexical Simplification (LS) methods use a three-step pipeline: complex word identification, substitute generation, and substitute ranking, each with separate evaluation datasets. We found large language models (LLMs) can simplify sentences…

Computation and Language · Computer Science 2025-01-28 Jipeng Qiang , Minjiang Huang , Yi Zhu , Yunhao Yuan , Chaowei Zhang , Xiaoye Ouyang

We present an algorithm for synthesizing a context-free grammar encoding the language of valid program inputs from a set of input examples and blackbox access to the program. Our algorithm addresses shortcomings of existing grammar…

Programming Languages · Computer Science 2017-06-19 Osbert Bastani , Rahul Sharma , Alex Aiken , Percy Liang