Spreadsheet Table Transformations from Examples William Harris Sumit Gulwani General Problem End-users have large-scale, repetitive tasks, and dont have the right tools to do them automatically. Transform strings POPL 11 Transform
"Spreadsheet Table Transformations from Examples" is the property of its rightful owner. Permission is granted to
download and print the materials on this website for personal, non-commercial use only, and to display it
on your personal computer provided you do not modify the materials and that you retain all copyright
notices contained in the materials. By downloading content from our website, you accept the terms of this
agreement.
Presentation Transcript
01
Spreadsheet Table Transformations from Examples William Harris Sumit Gulwani<br>
02
General Problem End-users have large-scale, repetitive tasks, and don’t have the right tools to do them automatically. Transform strings [POPL ‘11]
Transform layout of tables<br>
03
A Running Example: “Quals” 3 Example
input
table Example
output
table<br>
04
4<br>
05
Expressiveness Ease
of
Use Solution Space GUI tools programs from
examples traditional programming<br>
06
A Running Example: “Quals” 6 Input
table Output
table<br>
07
Demo on Quals 7<br>
08
Methodology Study a large corpus of practical transformations
Identify common patterns in transformations
Design a language:
expressive enough for most transformations
amenable to inference<br>
09
Outline Give a language of transformations
Give an inference algorithm for the language
Demonstrate inference algorithm
Usage and Experiments<br>
10
Layout Program = 10 (Filter Programs, Associative Programs)<br>
11
Transformation Step 1: Filtering Filter cells from input table to output column<br>
12
12 Filtering Cells to Quals Column 3 01.02.2003 09.12.2009 18.04.2003 05.07.2004 31.08.2001 06.04.2007 27.06.2008 not in row 1
not in column 1
not empty<br>
13
Filter Program: Quals Column 3 while (in_cell = get_next_row_major_cell()) {