English
Related papers

Related papers: Program Synthesis from Partial Traces

200 papers

We propose a novel method for automatic program synthesis. P-Tree Programming represents the program search space through a single probabilistic prototype tree. From this prototype tree we form program instances which we evaluate on a given…

Artificial Intelligence · Computer Science 2017-07-13 Christian Oesch

We present a technique for automatically generating features for data-driven program analyses. Recently data-driven approaches for building a program analysis have been proposed, which mine existing codebases and automatically learn…

Programming Languages · Computer Science 2017-01-02 Kwonsoo Chae , Hakjoo Oh , Kihong Heo , Hongseok Yang

Background: Ad hoc parsers are pieces of code that use common string functions like split, trim, or slice to effectively perform parsing. Whether it is handling command-line arguments, reading configuration files, parsing custom file…

Software Engineering · Computer Science 2023-04-20 Michael Schröder , Marc Goritschnig , Jürgen Cito

Proof by coupling is a classical technique for proving properties about pairs of randomized algorithms by carefully relating (or coupling) two probabilistic executions. In this paper, we show how to automatically construct such proofs for…

Programming Languages · Computer Science 2018-04-12 Aws Albarghouthi , Justin Hsu

Constructing good test cases is difficult and time-consuming, especially if the system under test is still under development and its exact behavior is not yet fixed. We propose a new approach to compute test strategies for reactive systems…

Software Engineering · Computer Science 2018-09-11 Roderick Bloem , Goerschwin Fey , Fabian Greif , Robert Koenighofer , Ingo Pill , Heinz Riener , Franz Roeck

Data scientists often need to write programs to process predictions of machine learning models, such as object detections and trajectories in video data. However, writing such queries can be challenging due to the fuzzy nature of real-world…

Programming Languages · Computer Science 2026-02-18 Stephen Mell , Favyen Bastani , Steve Zdancewic , Osbert Bastani

The well-known trace reconstruction problem is the problem of inferring an unknown source string $x \in \{0,1\}^n$ from independent "traces", i.e. copies of $x$ that have been corrupted by a $\delta$-deletion channel which independently…

Data Structures and Algorithms · Computer Science 2022-11-08 Xi Chen , Anindya De , Chin Ho Lee , Rocco A. Servedio , Sandip Sinha

The problem of spurious programs is a longstanding challenge when training a semantic parser from weak supervision. To eliminate such programs that have wrong semantics but correct denotation, existing methods focus on exploiting…

Computation and Language · Computer Science 2023-11-03 Kang-il Lee , Segwang Kim , Kyomin Jung

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

Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise…

Programming Languages · Computer Science 2025-10-21 Moida Praneeth Jain , Venkatesh Choppella

Program synthesis is the task of automatically deriving a program that has been specified by a user in advance. Combining automated theorem proving with program synthesis enables the automated construction of proven-to-be-correct programs,…

Logic in Computer Science · Computer Science 2026-05-20 Márton Hajdu , Petra Hozzová , Laura Kovács , Eva Maria Wagner

Probabilistic programs are key to deal with uncertainty in e.g. controller synthesis. They are typically small but intricate. Their development is complex and error prone requiring quantitative reasoning over a myriad of alternative…

Software Engineering · Computer Science 2019-04-30 Milan Češka , Christian Hensel , Sebastian Junges , Joost-Pieter Katoen

Reactive synthesis is a paradigm for automatically building correct-by-construction systems that interact with an unknown or adversarial environment. We study how to do reactive synthesis when part of the specification of the system is that…

Logic in Computer Science · Computer Science 2018-04-23 Daniel J. Fremont , Sanjit A. Seshia

In the usual trace reconstruction problem, the goal is to exactly reconstruct an unknown string of length $n$ after it passes through a deletion channel many times independently, producing a set of traces (i.e., random subsequences of the…

Data Structures and Algorithms · Computer Science 2020-12-17 Sami Davies , Miklos Z. Racz , Cyrus Rashtchian , Benjamin G. Schiffer

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

Scripts - standardized event sequences describing typical everyday activities - have been shown to help understand narratives by providing expectations, resolving ambiguity, and filling in unstated information. However, to date they have…

Computation and Language · Computer Science 2021-04-19 Keisuke Sakaguchi , Chandra Bhagavatula , Ronan Le Bras , Niket Tandon , Peter Clark , Yejin Choi

In the synthesis problem, we are given a specification, and we automatically generate a system that satisfies the specification in all environments. We introduce and study {\em synthesis with guided environments} (SGE, for short), where the…

Logic in Computer Science · Computer Science 2025-07-29 Orna Kupferman , Ofer Leshkowitz

We present a system called Smyth for program sketching in a typed functional language whereby the concrete evaluation of ordinary assertions gives rise to input-output examples, which are then used to guide the search to complete the holes.…

Programming Languages · Computer Science 2020-07-14 Justin Lubin , Nick Collins , Cyrus Omar , Ravi Chugh

Programs that respond to asynchronous events are challenging to write; they are difficult to reason about and tricky to test and debug. Because these programs can have a huge space of possible input timings and interleaving, the programmer…

Programming Languages · Computer Science 2019-09-26 Julie L Newcomb , Rastislav Bodik

This paper addresses the problem of creating simplifiers for logic formulas based on conditional term rewriting. In particular, the paper focuses on a program synthesis application where formula simplifications have been shown to have a…

Programming Languages · Computer Science 2016-02-24 Rohit Singh , Armando Solar-Lezama