English
Related papers

Related papers: Semantics-Guided Synthesis

200 papers

We present a new framework and associated synthesis algorithms for program synthesis over noisy data, i.e., data that may contain incorrect/corrupted input-output examples. This framework is based on an extension of finite tree automata…

Programming Languages · Computer Science 2021-03-15 Shivam Handa , Martin Rinard

We consider the problem of automatically establishing that a given syntax-guided-synthesis (SyGuS) problem is unrealizable (i.e., has no solution). We formulate the problem of proving that a SyGuS problem is unrealizable over a finite set…

Programming Languages · Computer Science 2020-04-03 Qinheping Hu , John Cyphert , Loris D'Antoni , Thomas Reps

We propose a novel approach to understanding the decision making of complex machine learning models (e.g., deep neural networks) using a combination of probably approximately correct learning (PAC) and a logic inference methodology called…

Artificial Intelligence · Computer Science 2020-09-21 Daniel Neider , Bishwamittra Ghosh

Program synthesis is an umbrella term for generating programs and logical formulae from specifications. With the remarkable performance improvements that GPUs enable for deep learning, a natural question arose: can we also implement a…

Programming Languages · Computer Science 2025-04-29 Martin Berger , Nathanaël Fijalkow , Mojtaba Valizadeh

We give an overview of recent techniques for implementing syntax-guided synthesis (SyGuS) algorithms in the core of Satisfiability Modulo Theories (SMT) solvers. We define several classes of synthesis conjectures and corresponding…

Logic in Computer Science · Computer Science 2017-11-30 Andrew Reynolds , Cesare Tinelli

Program synthesis is the generation of a program from a specification. Correct synthesis is difficult, and methods that provide formal guarantees suffer from scalability issues. On the other hand, neural networks are able to generate…

Logic in Computer Science · Computer Science 2020-01-28 Elizabeth Polgreen , Ralph Abboud , Daniel Kroening

Program synthesis is the task of automatically generating code based on a specification. In Syntax-Guided Synthesis (SyGuS) this specification is a combination of a syntactic template and a logical formula, and the result is guaranteed to…

Artificial Intelligence · Computer Science 2024-01-08 Julian Parsert , Elizabeth Polgreen

Given a specification $\varphi(X,Y)$ over inputs $X$ and output $Y$, defined over a background theory $\mathbb{T}$, the problem of program synthesis is to design a program $f$ such that $Y=f(X)$ satisfies the specification $\varphi$. Over…

Artificial Intelligence · Computer Science 2021-05-20 Priyanka Golia , Subhajit Roy , Kuldeep S. Meel

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

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

Software synthesis - the process of generating complete, general-purpose programs from specifications - has become a hot research topic in the past few years. For decades the problem was thought to be insurmountable: the search space of…

Programming Languages · Computer Science 2015-10-29 Jonathan Frankle

This article presents resource-guided synthesis, a technique for synthesizing recursive programs that satisfy both a functional specification and a symbolic resource bound. The technique is type-directed and rests upon a novel type system…

Programming Languages · Computer Science 2019-04-19 Tristan Knoth , Di Wang , Nadia Polikarpova , Jan Hoffmann

Program synthesis is the task of constructing a program conforming to a given specification. We focus on deductive synthesis, and in particular on synthesis problems with specifications given as $\forall\exists$-formulas, expressing the…

Logic in Computer Science · Computer Science 2025-08-15 Márton Hajdu , Petra Hozzová , Laura Kovács , Andrei Voronkov , Eva Maria Wagner , Richard Steven Žilinčík

Program synthesis has seen many new applications in recent years, in large part thanks to the introduction of SyGuS. However, no existing SyGuS solvers have support for synthesizing recursive functions. We introduce an multi-phase algorithm…

Programming Languages · Computer Science 2021-08-20 Shmuel Berman , Mark Santolucito

The automatic generation of computer programs is one of the main applications with practical relevance in the field of evolutionary computation. With program synthesis techniques not only software developers could be supported in their…

Neural and Evolutionary Computing · Computer Science 2021-08-30 Dominik Sobania , Dirk Schweim , Franz Rothlauf

We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a…

Programming Languages · Computer Science 2020-07-24 Paul Krogmeier , Umang Mathur , Adithya Murali , P. Madhusudan , Mahesh Viswanathan

In top-down enumeration for program synthesis, abstraction-based pruning uses an abstract domain to approximate the set of possible values that a partial program, when completed, can output on a given input. If the set does not contain the…

Programming Languages · Computer Science 2024-08-29 Keith J. C. Johnson , Rahul Krishnan , Thomas Reps , Loris D'Antoni

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

Object-oriented programs tend to be written using many common coding idioms, such as those captured by design patterns. While design patterns are useful, implementing them is often tedious and repetitive, requiring boilerplate code that…

Programming Languages · Computer Science 2026-02-20 Jasper Geer , Fox Huston , Jeffrey S. Foster

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama