Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 2010
DOI: 10.1145/1806799.1806833
|View full text |Cite
|
Sign up to set email alerts
|

Oracle-guided component-based program synthesis

Abstract: We present a novel approach to automatic synthesis of loopfree 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 bitmanipulating programs and by deobfuscating program… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

4
389
0

Year Published

2012
2012
2022
2022

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 414 publications
(393 citation statements)
references
References 22 publications
(19 reference statements)
4
389
0
Order By: Relevance
“…We briefly introduce the recent advance in component-based program synthesis [11]. Given a set of input-output pairs, component-based program synthesis generates a program that satisfies all the given input-output pairs.…”
Section: B Component-based Program Synthesismentioning
confidence: 99%
See 2 more Smart Citations
“…We briefly introduce the recent advance in component-based program synthesis [11]. Given a set of input-output pairs, component-based program synthesis generates a program that satisfies all the given input-output pairs.…”
Section: B Component-based Program Synthesismentioning
confidence: 99%
“…To solve the repair constraint C, we leverage the recent advance in component based program synthesis [11].…”
Section: B Generating a Fixmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, in [30,36], non-trivial bit-manipulating program snippets are synthesized from specifications by using SMT solvers to search through all possible combinations of bit-level operations (instructions). Similar to the counterexample generation described above, the goal is often to synthesize the shortest programs, or ones with the smallest cost.…”
Section: Applications Of Optimizationmentioning
confidence: 99%
“…By combining the strengths of machine learning and formal verification, it is feasible to algorithmically synthesize programs from various flavors of formal and informal specifications, including logics, inputoutput examples, and a library of program templates. Conceptually, the synthesis technique [2] leverages inductive learning techniques as a student generalizing from sets of behaviors to candidate programs while deductive formal methods serve as a teacher rectifying generalizations to slowly guide the automated synthesis technique towards provably correct programs.…”
mentioning
confidence: 99%