arrow
Return

Software Synthesis Procedures

delete2012-02-01
delete23
delete
OA
AI
V
Viktor Kunčak *
M
Mikaël Mayer
R
Ružica Piskač
P
Philippe Suter
DOI:10.1145/2076450.2076472delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Automated synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming languages, software synthesis algorithms should behave in a predictable way: they should succeed for a well-defined class of specifications. We propose to systematically generalize decision procedures into synthesis procedures, and use them to compile implicitly specified computations embedded inside functional and imperative programs. Synthesis procedures are predictable, because they are guaranteed to find code that satisfies the specification whenever such code exists. To illustrate our method, we derive synthesis procedures by extending quantifier elimination algorithms for integer arithmetic and set data structures. We then show that an implementation of such synthesis procedures can extend a compiler to support implicit value definitions and advanced pattern matching.
Keywords:
PRACTICAL ALGORITHM
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Communications of the ACM cover
Communications of the ACM
IF:
12.2
Papers:
1.2W
Citations:
3.7W

Organization

S
swiss federal institutes of technology domain
Scholars:
9.0W
Papers: 8.0W
Citations: 163