Program Synthesis Using Dual Interpretation

Ashish Tiwari, Adrià Gascón, Bruno Dutertre

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present an approach for component-based program synthesis that uses two distinct interpretations for the symbols in the program. The first interpretation defines the semantics of the program. It is used to specify functional requirements. The second interpretation is used to capture nonfunctional requirements that may vary by application. We present a language for program synthesis from components that uses dual interpretation. We reduce the synthesis problem to an exists-forall problem, which is solved using the exists-forall extension of the SMT-solver Yices. We use our approach to synthesize bitvector manipulation programs, padding-based encryption schemes, and block cipher modes of operations.
Original languageEnglish
Title of host publication25th International Conference on Automated Deduction, Berlin, Germany, August 1-7, 2015, Proceedings
EditorsP. Amy Felty, Aart Middeldorp
PublisherSpringer
Pages482-497
Number of pages16
ISBN (Electronic)978-3-319-21401-6
ISBN (Print)978-3-319-21400-9
DOIs
Publication statusPublished - 2015

Publication series

NameLecture Notes in Computer Science
PublisherSpringer International Publishing
Volume9195
ISSN (Print)0302-9743

Fingerprint

Dive into the research topics of 'Program Synthesis Using Dual Interpretation'. Together they form a unique fingerprint.

Cite this