Title :
Oracle-guided component-based program synthesis
Author :
Jha, Susmit ; Gulwani, Sumit ; Seshia, Sanjit A. ; Tiwari, Ashish
Author_Institution :
UC Berkeley, Berkeley, CA, USA
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.
Keywords :
automatic programming; computability; formal verification; invasive software; object-oriented programming; reverse engineering; Oracle-guided component-based program synthesis; SMT; constraint-based synthesis; deobfuscating malware; loop-free programs; program understanding; satisfiability modulo theories; Electronic mail; Encoding; Impedance matching; Libraries; Malware; Programming; Semantics; SAT; SMT; oracle-based learning; program synthesis;
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
Print_ISBN :
978-1-60558-719-6
DOI :
10.1145/1806799.1806833