Oracle-Guided Component-Based Program Synthesis
Susmit Jha, Sumit Gulwani, Sanjit A. Seshia, and Ashish Tiwari.
Oracle-Guided Component-Based Program Synthesis. In Proceedings of the 32nd ACM/IEEE International Conference
on Software Engineering (ICSE), pp. 215–224, May 2010.
Extended tech report version available in
PDF
Download
Abstract
We present a novel approach to automatic synthesis of loop-free programs. The approach is based on a combination of oracle-guided learning from examples, and constraint-based synthesis from components using satisfiability modulo theories (SMT) solvers. Our approach is suitable for many applications, including as an aid to program understanding tasks such as deobfuscating malware. We demonstrate the efficiency and effectiveness of our approach by synthesizing bit-manipulating programs and deobfuscating programs.
BibTeX
@inproceedings{jha-icse10,
author = {Susmit Jha and
Sumit Gulwani and
Sanjit A. Seshia and
Ashish Tiwari},
title = {Oracle-Guided Component-Based Program Synthesis},
booktitle = {Proceedings of the 32nd ACM/IEEE International Conference
on Software Engineering (ICSE)},
year = {2010},
month = {May},
pages = {215-224},
abstract = {
We present a novel approach to automatic synthesis of loop-free programs. The approach is based on a combination of oracle-guided learning from examples, and constraint-based synthesis from components using satisfiability modulo theories (SMT) solvers. Our approach is suitable for many applications, including as an aid to program understanding tasks such as deobfuscating malware. We demonstrate the efficiency and effectiveness of our approach by synthesizing bit-manipulating programs and deobfuscating programs.},
wwwnote = {Extended tech report version available in <a href="http://www.eecs.berkeley.edu/~sseshia/pubdir/icse10-TR.pdf">PDF</a>}
}