English
Related papers

Related papers: Synthesis through Unification

200 papers

Even with impressive advances in automated formal methods, certain problems in system verification and synthesis remain challenging. Examples include the verification of quantitative properties of software involving constraints on timing…

Logic in Computer Science · Computer Science 2015-03-19 Sanjit A. Seshia

Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be…

Programming Languages · Computer Science 2024-09-10 Jiangyi Liu , Charlie Murphy , Anvay Grover , Keith J. C. Johnson , Thomas Reps , Loris D'Antoni

We present a novel decision tree-based synthesis algorithm of ranking functions for verifying program termination. Our algorithm is integrated into the workflow of CounterExample Guided Inductive Synthesis (CEGIS). CEGIS is an iterative…

Logic in Computer Science · Computer Science 2021-07-06 Satoshi Kura , Hiroshi Unno , Ichiro Hasuo

This paper proposes relational program synthesis, a new problem that concerns synthesizing one or more programs that collectively satisfy a relational specification. As a dual of relational program verification, relational program synthesis…

Programming Languages · Computer Science 2018-09-12 Yuepeng Wang , Xinyu Wang , Isil Dillig

Certified program synthesis (aka vericoding) is the process of automatically generating a program, its formal specification, and a machine-checkable proof of their alignment from a natural-language description. Two challenges make…

Software Engineering · Computer Science 2026-04-21 Yueyang Feng , Dipesh Kafle , Vladimir Gladshtein , Vitaly Kurin , George Pîrlea , Qiyuan Zhao , Peter Müller , Ilya Sergey

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis…

Artificial Intelligence · Computer Science 2018-06-08 Yewen Pu , Zachery Miranda , Armando Solar-Lezama , Leslie Pack Kaelbling

The unification algorithm has long been a target for program synthesis research, but a fully automatic derivation remains a research goal. In deductive program synthesis, computer programming is phrased as a task in theorem proving; a…

Logic in Computer Science · Computer Science 2025-09-16 Richard Waldinger

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

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

Program synthesis aims to {\it automatically} find programs from an underlying programming language that satisfy a given specification. While this has the potential to revolutionize computing, how to search over the vast space of programs…

Neural and Evolutionary Computing · Computer Science 2022-03-01 Yuan Yuan , Wolfgang Banzhaf

A deductive program synthesis tool takes a specification as input and derives a program that satisfies the specification. The drawback of this approach is that search spaces for such correct programs tend to be enormous, making it difficult…

Neural and Evolutionary Computing · Computer Science 2023-01-23 Yutaka Nagashima

In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving,…

Logic in Computer Science · Computer Science 2015-09-01 Cristina David , Daniel Kroening , Matt Lewis

Program Synthesis is the task of generating a program from a provided specification. Traditionally, this has been treated as a search problem by the programming languages (PL) community and more recently as a supervised learning problem by…

Artificial Intelligence · Computer Science 2018-06-11 Riley Simmons-Edler , Anders Miltner , Sebastian Seung

The goal of program synthesis from examples is to find a computer program that is consistent with a given set of input-output examples. Most learning-based approaches try to find a program that satisfies all examples at once. Our work, by…

Machine Learning · Computer Science 2023-06-21 Disha Shrivastava , Hugo Larochelle , Daniel Tarlow

We study the problem of synthesizing programs from nonlinear real arithmetic (NRA) specifications. Existing techniques, such as syntax-guided synthesis (SyGuS), fail to synthesize programs when the specification is unrealizable. We argue…

Programming Languages · Computer Science 2026-05-26 S. Akshay , Supratik Chakraborty , R. Govind , Aniruddha R. Joshi

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

Designing a static analysis is generally a substantial undertaking, requiring significant expertise in both program analysis and the domain of the program analysis, and significant development resources. As a result, most program analyses…

Programming Languages · Computer Science 2018-10-17 Colin S. Gordon

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

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 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