Oracle-Guided Component-Based Program Synthesis

Susmit Kumar Jha, Sumit Gulwani, Sanjit A. Seshia and Ashish Tiwari

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2010-15
February 12, 2010

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-15.pdf

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 by deobfuscating programs.


BibTeX citation:

@techreport{Jha:EECS-2010-15,
    Author = {Jha, Susmit Kumar and Gulwani, Sumit and Seshia, Sanjit A. and Tiwari, Ashish},
    Title = {Oracle-Guided Component-Based Program Synthesis},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2010},
    Month = {Feb},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-15.html},
    Number = {UCB/EECS-2010-15},
    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 by deobfuscating programs.}
}

EndNote citation:

%0 Report
%A Jha, Susmit Kumar
%A Gulwani, Sumit
%A Seshia, Sanjit A.
%A Tiwari, Ashish
%T Oracle-Guided Component-Based Program Synthesis
%I EECS Department, University of California, Berkeley
%D 2010
%8 February 12
%@ UCB/EECS-2010-15
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2010/EECS-2010-15.html
%F Jha:EECS-2010-15