Oracle-guided component-based program synthesis
By Susmit Jha, Sumit Gulwani, Sanjit A. Seshia, Ashish Tiwari. 2010
591 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software, Code Generation & Program Synthesis
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Percy Liang
- Swarat Chaudhuri
- Rishabh Singh
- Charles Sutton
- Sumit Gulwani
- Oleksandr Polozov
- Armando Solar-Lezama
- Koushik Sen
In Information Systems
- Rishabh Singh
- Swarat Chaudhuri
- Koushik Sen
- Charles Sutton
- Miltiadis Allamanis
- Sumit Gulwani
- Michael Pradel
- Armando Solar-Lezama
In Software
- Rishabh Singh
- Sumit Gulwani
- Koushik Sen
- Swarat Chaudhuri
- Armando Solar-Lezama
- Oleksandr Polozov
- Michael Pradel
- Charles Sutton
In Code Generation & Program Synthesis
- Swarat Chaudhuri
- Rishabh Singh
- Sumit Gulwani
- Koushik Sen
- Armando Solar-Lezama
- Charles Sutton
- Oleksandr Polozov
- Miltiadis Allamanis
Citations in the corpus
- SPoC: Search-based Pseudocode to Code (2019, background): “Some works combine aspects of multiple approaches (e.g., [18]).”
- Syntax-guided synthesis (2013, neutral): “Besides program sketching, a number of recent efforts such as synthesis of loop-free programs [5], synthesis of Excel macros from examples [6], program de-obfuscation [7], synthesis of protocols from the skeleton and example behaviors [8], synthesis of loop-bodies from pre/post conditions [9], integ”
- A Survey on Large Language Models for Code Generation (2024, unknown): “The accessibility, effectiveness, and efficiency of using LLMs in daily tasks show the huge potential of applying LLMs in automatic code generation.”
- Component-based synthesis for complex APIs (2017, methodology): “These statistics reinforce our earlier claim that SYPET combines the practicality of API completion tools with the power of synthesis tools: While programs synthesized by SYPET are moderately sized, straight-line code fragments, SYPET can handle two orders of magnitude more components than previous ”
- Foofah: Transforming Data By Example (2017, methodology): “proposed a constraint-based program synthesis technique to synthesize loop-free bit-manipulation programs [15, 21] using logic solvers, like the SMT solver.”
- Program sketching (2012, unknown): “Their approach was actually inspired by the work of Jha et al. [9] and Srivastava et al. [20], both of whom were influ-enced by our earlier work.”
- Spreadsheet table transformations from examples (2011, methodology): “Thus to build associative programs from a component program CompProg, ProgFromEx enumerates over all pairs of relative functions (line [12]).”
- On Improving the Security of Logic Locking (2016, methodology): “The attack makes use of advancements in modern SAT solvers [37] and oracle-guided program synthesis [38].”
- Predicting a Correct Program in Programming by Example (2015, methodology): “Currently, we require PBE system designers to manually provide the examples for the training tasks, but this process can also be partially automated using the idea of distinguishing inputs [14].”
- Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis (2016, methodology): “To synthesize a patch, we use component-based repair synthesis algorithm (CBRS) [24] which is a generalization of component-based program synthesis [17] to program repair.”
- Accelerating search-based program synthesis using learned probabilistic models (2018, methodology): “This size difference shows that our approach helps avoid overfitting in PBE settings by virtue of guiding synthesis toward more likely programs.”
- Neurosymbolic Programming (2021, background): “Solver-driven search (Solar-Lezama et al., 2006; Jha et al., 2010; Torlak and Bodik, 2013) translates the space of programs L and the spec φ into a joint formal constraint for a SAT or SMT solver such as Z3 (Moura and Bjørner, 2008).”
- DirectFix: Looking for Simple Program Repairs (2015, methodology): “The structure constraint is obtained via the inverse function of Lval2Prog (Lval2Prog is a bijective function [13]).”
- Evaluating the security of logic encryption algorithms (2015, methodology): “[12], and the partial synthesis algorithm from Fujita et al.”
- Synthesis of loop-free programs (2011, methodology): “We have recently extended the ideas described in this paper to provide an alternative to writing formal specifications for synthesis [19], wherein logical specification of the desired program is replaced by an input-output oracle.”