Many problems in program analysis, verification, and synthesis require inferring specifications of unknown procedures. Motivated by a broad range of applications, we formulate the problem of maximal specification inference: Given a postcondition ϕ and a program P calling a set of unknown procedures F1,..., Fn, what are the most permissive specifications of procedures Fi that ensure correctness of P? In other words, we are looking for the smallest number of assumptions we need to make about the behaviours of Fi in order to prove that P satisfies its postcondition. To solve this problem, we present a novel approach that utilizes a counterexample-guided inductive synthesis loop and reduces the maximal specification inference problem to multi-a...
The classical formulation of the program-synthesis problem is to find a program that meets a correct...
This article concerns the maximal synthesis for Hennessy-Milner Logic on Kripke structures with labe...
Program synthesis is the mechanized construction of software. One of the main difficulties is the ef...
With science fiction of yore being reality recently with self-driving cars, wearable computers and a...
Traditionally, the focus of specification mechanism has been on improving its ability to cover a wid...
Precondition inference is an important problem with many applications in verification and testing. F...
Although the program verification community has developed several techniques for analyzing software ...
Synthesis of program fragments from specifications can make programs easier to write and easier to r...
Despite their proven benefits, useful, comprehensible, and efficiently checkable specifications are ...
We describe a formalization of the meta-mathematics of programming in a higher-order logical calculu...
A synthesis procedure acts as a compiler for declarative specifications. It accepts a formula descri...
Synthesis of program fragments from specifications can make programs easier to write and easier to r...
In chapter one we begin with a historical summary of the iterative programming paradigm. This leads ...
We develop a framework for stepwise synthesis of logic programs from incomplete specifications. Afte...
Abstract. We propose a novel method for inferring refinement types of higher-order functional progra...
The classical formulation of the program-synthesis problem is to find a program that meets a correct...
This article concerns the maximal synthesis for Hennessy-Milner Logic on Kripke structures with labe...
Program synthesis is the mechanized construction of software. One of the main difficulties is the ef...
With science fiction of yore being reality recently with self-driving cars, wearable computers and a...
Traditionally, the focus of specification mechanism has been on improving its ability to cover a wid...
Precondition inference is an important problem with many applications in verification and testing. F...
Although the program verification community has developed several techniques for analyzing software ...
Synthesis of program fragments from specifications can make programs easier to write and easier to r...
Despite their proven benefits, useful, comprehensible, and efficiently checkable specifications are ...
We describe a formalization of the meta-mathematics of programming in a higher-order logical calculu...
A synthesis procedure acts as a compiler for declarative specifications. It accepts a formula descri...
Synthesis of program fragments from specifications can make programs easier to write and easier to r...
In chapter one we begin with a historical summary of the iterative programming paradigm. This leads ...
We develop a framework for stepwise synthesis of logic programs from incomplete specifications. Afte...
Abstract. We propose a novel method for inferring refinement types of higher-order functional progra...
The classical formulation of the program-synthesis problem is to find a program that meets a correct...
This article concerns the maximal synthesis for Hennessy-Milner Logic on Kripke structures with labe...
Program synthesis is the mechanized construction of software. One of the main difficulties is the ef...