Spreadsheet data manipulation using examples
By Sumit Gulwani, William R. Harris, Rishabh Singh. 2012
351 citations recorded by the source corpus.
Subfields: Computer Networks and Communications, Management Science and Operations Research, 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 Computer Networks and Communications
- Rishabh Singh
- Sumit Gulwani
- Charles Sutton
- Pushmeet Kohli
- Dawn Song
- Mark Marron
- Chang Liu
- Armando Solar-Lezama
In Management Science and Operations Research
- Sumit Gulwani
- Rishabh Singh
- Armando Solar-Lezama
- Pushmeet Kohli
- Mark Marron
- Hosagrahar Visvesvaraya Jagadish
- Aditya G. Parameswaran
- Xinyun Chen
In Software
- Rishabh Singh
- Oleksandr Polozov
- Dawn Song
- Sumit Gulwani
- Pushmeet Kohli
- Xinyun Chen
- Armando Solar-Lezama
- Charles Sutton
In Code Generation & Program Synthesis
- Rishabh Singh
- Armando Solar-Lezama
- Charles Sutton
- Oleksandr Polozov
- Sumit Gulwani
- Josh Tenenbaum
- Pushmeet Kohli
- Dawn Song
Citations in the corpus
- Evaluating Large Language Models Trained on Code (2021, background): “Two early domain-specific datasets used to benchmark neural programming systems were FlashFill (Gulwani, 2011; Gulwani et al., 2012) and Hearthstone (Ling et al., 2016), though the community has trended towards broader and more difficult datasets.”
- RobustFill: Neural Program Learning under Noisy I/O (2017, methodology): “DSL-based synthesis: Non-statistical DSL-based synthesis approaches (Gulwani et al., 2012) exploit indepen-”
- Neuro-Symbolic Program Synthesis (2016, methodology): “The DSL corresponds to a large subset of FlashFill DSL (except conditionals), and allows for a richer class of substring operations than FlashFill.”
- TerpreT: A Probabilistic Programming Language for Program Induction (2016, methodology): “, 2013), version-space algebra based search algorithms (Gulwani et al., 2012; Gulwani, 2011), and stochastic search (Schkufza et al.”
- Syntax-guided synthesis (2013, methodology): “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”
- Neural Program Meta-Induction (2017, methodology): “However, we can also consider a scenario like FlashFill [9], where the goal is to learn a regular expression based string transformation program based on user-provided examples, such as “John Smith → Smith, J.” ).”
- A Survey on Semantic Parsing (2018, background): “The context can also be a small knowledge store — tables from Wikipedia [Pasupat and Liang, 2015], spreadsheets [Gulwani et al., 2012], images [Suhr et al.”
- Bias reformulation for one-shot function induction (2014, background): “Recent work by Gulwani et al [8] demonstrates that a carefully engineered Domain Specific Language (DSL) for string transformations allows their system to induce string transformations from a”
- Program Synthesis (2017, background): “FlashFill [43, 49] is perhaps one of the most visible Programming By Examples system that is shipping in Microsoft Excel.”
- Collaborative Data Analytics with DataHub (2015, methodology): “Some of the apps in the app ecosystem are inspired by related work: DataQ is similar to visual query builders such as Dataplay [2], but opts for a simpler, more direct specification of SQL commands; Distill is similar to wrangler and flash-fill [9, 8], but gets direct examples from users rather than”
- On the difficulty of benchmarking inductive program synthesis methods (2017, background): “As such, it is able to quickly create simple programs for one-o repetitive tasks in spreadsheet applications for non-programmers [4, 5, 20, 21].”
- Learning Semantic String Transformations from Examples (2012, methodology): “In this section, we introduce the common formalism and our user interaction model (as derived from recent work on inductive synthesis [8, 9]).”
- Component-based synthesis for complex APIs (2017, result): “Similar to many programming-byexample (PBE) approaches, SYPET requires users to provide partial specifications as input-output examples [2, 7, 11, 14, 18, 31, 39].”
- A Machine Learning Framework for Programming by Example (2013, methodology): “Finally, (Gulwani, 2012; Gulwani et al., 2012) describe several useful (and surprising) application domains for PBE, and it would be interesting to consider applying the techniques proposed in this paper to speed up the involved search processes and/or improve the ranking schemes.”
- Execution-Guided Neural Program Synthesis (2018, methodology): “Several work synthesize programs for FlashFill tasks, which are in the string transformation domain (Devlin et al., 2017b; Parisotto et al., 2017).”
- Why Build an Assistant in Minecraft? (2019, background): “Recently there have been many works applying ML to semantic parsing [9, 51, 23, 37, 32, 102] and program synthesis from input-output pairs [45, 69, 28, 65, 15, 27] (and non-ML success stories [29]).”
- Automatic programming: The open issue? (2019, background): “The majority of existing approaches to automatic programming systems also represent examples of narrow AI, with application to very constrained and small problem instances (e.g., list processing [2, 31], string manipulation [16], constraint generation [53]).”
- Foofah: Transforming Data By Example (2017, methodology): “Transforming tabular data into a relational table usually require two types of transformations: syntactic transformations and layout transformations [13].”
- Automated feedback generation for introductory programming assignments (2012, methodology): “Program synthesis has been used recently for many applications such as synthesis of efficient low-level code [29, 38], data structure manipulations [34], inference of efficient synchronization in concurrent programs [42], snippets of excel macros [18, 33], relational data representations [19, 20] an”
- Navigating the Data Lake with DATAMARAN: Automatically Extracting Structure from Log Datasets (2017, methodology): “Instead of operator specification, other work relies on user-provided input-output examples [9, 24, 26, 33, 36] to transform one semistructured dataset to another.”