English
Related papers

Related papers: Program Synthesis from Axiomatic Proof of Correctn…

200 papers

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

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia

Program synthesis is the process of generating a computer program following a set of specifications, which can be a high-level description of the problem and/or a set of input-output examples. The synthesis can be modeled as a search…

Neural and Evolutionary Computing · Computer Science 2023-04-07 Matheus Campos Fernandes , Fabrício Olivetti de França , Emilio Francesquini

Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that…

Artificial Intelligence · Computer Science 2022-04-07 Saujas Vaduguru , Kevin Ellis , Yewen Pu

Automatic software generation based on some specification is known as program synthesis. Most existing approaches formulate program synthesis as a search problem with discrete parameters. In this paper, we present a novel formulation of…

Artificial Intelligence · Computer Science 2023-04-04 Shantanu Mandal , Todd A. Anderson , Javier Turek , Justin Gottschlich , Abdullah Muzahid

Formal verification provides a rigorous and systematic approach to ensure the correctness and reliability of software systems. Yet, constructing specifications for the full proof relies on domain expertise and non-trivial manpower. In view…

Software Engineering · Computer Science 2024-04-03 Cheng Wen , Jialun Cao , Jie Su , Zhiwu Xu , Shengchao Qin , Mengda He , Haokun Li , Shing-Chi Cheung , Cong Tian

A re-construction of the fundamentals of programming as a small mathematical theory (PRISM) based on elementary set theory. Highlights: $\bullet$ Zero axioms. No properties are assumed, all are proved (from standard set theory). $\bullet$ A…

Software Engineering · Computer Science 2025-02-28 Bertrand Meyer , Reto Weber

We develop an approach to estimate the probability that a program sampled from a large language model is correct. Given a natural language description of a programming problem, our method samples both candidate programs as well as candidate…

Software Engineering · Computer Science 2023-10-11 Darren Key , Wen-Ding Li , Kevin Ellis

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

We prove that certain formulations of program synthesis and reachability are equivalent. Specifically, our constructive proof shows the reductions between the template-based synthesis problem, which generates a program in a pre-specified…

Programming Languages · Computer Science 2019-03-29 ThanhVu Nguyen , Westley Weimer , Deepak Kapur , Stephanie Forrest

In formal synthesis of reactive systems an implementation of a system is automatically constructed from its formal specification. The great advantage of synthesis is that the resulting implementation is correct by construction; therefore…

Logic in Computer Science · Computer Science 2019-01-04 Hadas Kress-Gazit , Hazem Torfah

Proving equivalence between functional programs is a fundamental problem in program verification, which often amounts to reasoning about algebraic data types (ADTs) and compositions of structural recursions. Modern theorem provers address…

Programming Languages · Computer Science 2024-05-21 Yican Sun , Ruyi Ji , Jian Fang , Xuanlin Jiang , Mingshuai Chen , Yingfei Xiong

Our research concerns generating imperative programs from Answer Set Programming Specifications. ASP is highly declarative and is ideal for writing specifications. Further with negation-as-failure it is easy to succinctly represent…

Symbolic Computation · Computer Science 2019-09-20 Sarat Chandra Varanasi

The goal of inductive program synthesis is for a machine to automatically generate a program from user-supplied examples. A key underlying assumption is that humans can provide sufficient examples to teach a concept to a machine. To…

Human-Computer Interaction · Computer Science 2025-02-18 Céline Hocquette , Johannes Langer , Andrew Cropper , Ute Schmid

Essential tasks for the verification of probabilistic programs include bounding expected outcomes and proving termination in finite expected runtime. We contribute a simple yet effective inductive synthesis approach for proving such…

Logic in Computer Science · Computer Science 2023-02-09 Kevin Batz , Mingshuai Chen , Sebastian Junges , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Christoph Matheja

Synthesizing a program that realizes a logical specification is a classical problem in computer science. We examine a particular type of program synthesis, where the objective is to synthesize a strategy that reacts to a potentially…

Artificial Intelligence · Computer Science 2020-01-01 Alberto Camacho , Sheila A. McIlraith

Accurate programming is a practical approach to producing high quality programs. It combines ideas from test-automation, test-driven development, agile programming, and other state of the art software development methods. In addition to…

Programming Languages · Computer Science 2011-09-06 Walid Taha , Veronica Gaspes , Rex Page

We present an automated reasoning framework for synthesizing recursion-free programs using saturation-based theorem proving. Given a functional specification encoded as a first-order logical formula, we use a first-order theorem prover to…

Logic in Computer Science · Computer Science 2024-03-01 Petra Hozzová , Laura Kovács , Chase Norman , Andrei Voronkov

Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example),…

Human-Computer Interaction · Computer Science 2019-09-27 Will Crichton

Epistemic protocol specifications allow programs, for settings in which multiple agents act with incomplete information, to be described in terms of how actions are related to what the agents know. They are a variant of the knowledge-based…

Logic in Computer Science · Computer Science 2016-02-04 Xiaowei Huang , Ron van der Meyden