Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Journal articles
  4. Software Synthesis Procedures
 
research article

Software Synthesis Procedures

Kuncak, Viktor  orcid-logo
•
Mayer, Mikael  
•
Piskac, Ruzica  
Show more
2012
Communications of the ACM

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.

  • Details
  • Metrics
Type
research article
DOI
10.1145/2076450.2076472
Web of Science ID

WOS:000299734100030

Author(s)
Kuncak, Viktor  orcid-logo
Mayer, Mikael  
Piskac, Ruzica  
Suter, Philippe  
Date Issued

2012

Published in
Communications of the ACM
Volume

55

Start page

103

End page

111

Subjects

software synthesis

•

correctness by construction

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
Available on Infoscience
March 8, 2012
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/78535
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés