Oracle-Guided Component-Based Program Synthesis
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.