English
Related papers

Related papers: Structuring the Synthesis of Heap-Manipulating Pro…

200 papers

Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying properties of heap-manipulating programs: all terminating behaviour is characterised, but established results and errors need not be reachable. OX…

Logic in Computer Science · Computer Science 2023-08-31 Petar Maksimović , Caroline Cronjäger , Andreas Lööw , Julian Sutherland , Philippa Gardner

We present a novel algorithm that synthesizes imperative programs for introductory programming courses. Given a set of input-output examples and a partial program, our algorithm generates a complete program that is consistent with every…

Programming Languages · Computer Science 2017-06-14 Sunbeom So , Hakjoo Oh

Automatic synthesis of hardware components from declarative specifications is an ambitious endeavor in computer aided design. Existing synthesis algorithms are often implemented with Binary Decision Diagrams (BDDs), inheriting their…

Logic in Computer Science · Computer Science 2013-11-15 Roderick Bloem , Robert Koenighofer , Martina Seidl

Answer Set Programming (ASP) is an important logic programming paradigm within the field of Knowledge Representation and Reasoning. As a concise, human-readable, declarative language, ASP is an excellent tool for developing trustworthy…

Logic in Computer Science · Computer Science 2025-02-14 Zachary Hansen

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

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

We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counter-example guided…

Programming Languages · Computer Science 2018-01-15 Daniel Neider , Pranav Garg , P. Madhusudan , Shambwaditya Saha , Daejun Park

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

Effective program synthesis requires a way to minimise the number of candidate programs being searched. A type signature, for example, places some small restrictions on the structure of potential candidates. We introduce and motivate a…

Programming Languages · Computer Science 2019-07-15 Bruce Collie , Michael O'Boyle

A modern approach to engineering correct-by-construction systems is to synthesize them automatically from formal specifications. Oftentimes, a system can only satisfy its guarantees if certain environment assumptions hold, which motivates…

Logic in Computer Science · Computer Science 2015-07-10 Roderick Bloem , Ruediger Ehlers , Robert Koenighofer

Logic locking "hides" the functionality of a digital circuit to protect it from counterfeiting, piracy, and malicious design modifications. The original design is transformed into a "locked" design such that the circuit reveals its correct…

Cryptography and Security · Computer Science 2022-01-26 Gourav Takhar , Ramesh Karri , Christian Pilato , Subhajit Roy

This paper presents an approach to lemma synthesis to support advanced inductive entailment procedures based on separation logic. We first propose a mechanism where lemmas are automatically proven and systematically applied. The lemmas may…

Programming Languages · Computer Science 2018-05-15 Quang Loc Le

Probabilistic programming offers a powerful framework for modeling uncertainty, yet statistical model discovery in this domain entails navigating an immense search space under strict domain-specific constraints. When small language models…

Machine Learning · Computer Science 2026-04-21 Madhav Kanda , Shubham Ugare , Sasa Misailovic

We describe techniques for synthesis and verification of recursive functional programs over unbounded domains. Our techniques build on top of an algorithm for satisfiability modulo recursive functions, a framework for deductive synthesis,…

Programming Languages · Computer Science 2013-04-23 Etienne Kneuss , Viktor Kuncak , Ivan Kuraj , Philippe Suter

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

Symbolic execution is a well established method for test input generation. Despite of having achieved tremendous success over numerical domains, existing symbolic execution techniques for heap-based programs are limited due to the lack of a…

Software Engineering · Computer Science 2019-09-17 Long H. Pham , Quang Loc Le , Quoc-Sang Phan , Jun Sun , Shengchao Qin

Probabilistic programming has become a standard practice to model stochastic events and learn about the behavior of nature in different scientific contexts, ranging from Genetics and Ecology to Linguistics and Psychology. However, domain…

Programming Languages · Computer Science 2025-07-10 Guilherme Espada , Alcides Fonseca

Safety verification in Computer Numerical Control (CNC) machining has traditionally relied on simulation-based methods that require repetitive tests when requirements change. This paper introduces a formal verification framework that…

Logic in Computer Science · Computer Science 2026-05-21 Yeonseok Lee

We present a method for the synthesis of polynomial lasso programs. These programs consist of a program stem, a set of transitions, and an exit condition, all in the form of algebraic assertions (conjunctions of polynomial equalities).…

Logic in Computer Science · Computer Science 2013-11-19 Jan Leike , Ashish Tiwari