A Machine Learning Framework for Programming by Example
By Aditya Krishna Menon, Omer Tamuz, Sumit Gulwani, Butler W. Lampson, Adam Tauman Kalai. 2013
165 citations recorded by the source corpus.
Subfields: Natural Language Processing, Reinforcement Learning
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Natural Language Processing
- Charles Sutton
- Rishabh Singh
- Swarat Chaudhuri
- Miltiadis Allamanis
- Marc Brockschmidt
- Josh Tenenbaum
- Dawn Song
- Oleksandr Polozov
In Reinforcement Learning
- Swarat Chaudhuri
- Josh Tenenbaum
- Charles Sutton
- Sergey Levine
- Rishabh Singh
- Augustus Odena
- Pushmeet Kohli
- Maxwell Nye
Citations in the corpus
- A Survey of Machine Learning for Big Code and Naturalness (2017, methodology): “[129] PD (c |m) Syntax PCFG + annotations Code Synthesis”
- Large Language Models Are Human-Level Prompt Engineers (2022, methodology): “Using inference models is a standard practice to speed up the search by restricting the search space to a limited space of possible expressions (Menon et al., 2013; Lee et al., 2018; Devlin et al., 2017; Ellis et al., 2021).”
- RobustFill: Neural Program Learning under Noisy I/O (2017, background): “There is also some work on using learnt clues to guide the search in DSL expansions (Menon et al., 2013), but this requires handcoded textual features of examples.”
- DeepCoder: Learning to Write Programs (2016, methodology): “Indeed, Menon et al. (2013) use a log-linear model and rely on hand-constructed features.”
- Neuro-Symbolic Program Synthesis (2016, background): “There is some work on guiding the program search using learnt clues that suggest likely DSL expansions, but the clues are learnt over hand-coded textual features of examples (Menon et al., 2013).”
- Abstract Syntax Networks for Code Generation and Semantic Parsing (2017, background): “Meanwhile, a separate line of work has focused on the problem of program induction from input-output pairs (Balog et al., 2016; Liang et al., 2010; Menon et al., 2013).”
- Bias reformulation for one-shot function induction (2014, background): “At least one attempt [12] has been made to extend this approach by learning feature weights to guide the search but it does not learn new features of program fragments.”
- Accelerating search-based program synthesis using learned probabilistic models (2018, methodology): “Let us begin by introducing necessary notations.”
- Gorilla: Large Language Model Connected with Massive APIs (2023, unknown): “Inductive program synthesis, where a program is synthesized to satisfy test cases, has found success in several avenues [3, 23].”
- Predicting a Correct Program in Programming by Example (2015, background): “[18] uses machine learning to bias the search for finding a composition of a given set of typed operators based on clues obtained from the examples.”
- Jigsaw: Large Language Models meet Program Synthesis (2021, methodology): “The literature on using machine learning for program synthesis is vast [8, 17, 18, 21, 22, 25, 28, 35, 41] and we restrict to works which are closest to Jigsaw (synthesizing code for large APIs using large models and multi-modal specifications).”
- Program Synthesis (2017, background): “The likelihood probabilities can be function of certain cues found in the input-ouput examples provided by the user or the additionally available inputs [89].”
- Learning programs from noisy data (2016, methodology): “[22] proposes to speed-up the synthesis process by using machine learning features that guide the search over candidate programs.”
- DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning (2021, background): “All such systems predict a distribution over programs conditioned on a specification, ranging from unigram distributions [34], to bigram-like ones [29, 30], to neural autoregressive models [12].”
- BUSTLE: Bottom-up program-Synthesis Through Learning-guided Exploration (2020, methodology): “In a Programming-by-Example (PBE) task (Winston, 1970; Menon et al., 2013; Gulwani, 2011), we are given a set of input/output pairs and the goal is to find a program such that for each pair, the synthesized program when executed on the input generates the corresponding output.”
- Mining idioms from source code (2014, unknown): “ code autocompletion performance, learn coding conventions [3] and nd syntax errors [7]. Models of the tree structure of the code have also been studied with the aim of generating programs by example [34] and modeling source code [33]. However, none of this work has tried to extract non-sequential p”
- FrAngel: component-based synthesis with control structures (2018, background): “While FrAngel can afford to process unnatural candidate programs due to its high throughput, the quality of the candidate programs could be greatly improved.”
- Synthesizing data structure transformations from input-output examples (2015, background): “Example-guided synthesis has a long history in the artificial intelligence community [16, 22, 24].”
- Learning Execution through Neural Code Fusion (2019, background): “2 Using Program State to Guide Program Synthesis There are several works that learn from program state to aid program synthesis [3, 32, 12, 47, 7, 42, 30].”