@inproceedings{ad70022cf2704cb0931edbdaa95af9f3,
title = "Program Synthesis Using Dual Interpretation",
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.",
author = "Ashish Tiwari and Adri{\`a} Gasc{\'o}n and Bruno Dutertre",
year = "2015",
doi = "10.1007/978-3-319-21401-6\_33",
language = "English",
isbn = "978-3-319-21400-9",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "482--497",
editor = "Felty, \{P. Amy\} and Aart Middeldorp",
booktitle = "25th International Conference on Automated Deduction, Berlin, Germany, August 1-7, 2015, Proceedings",
address = "United Kingdom",
}