skip to main content
research-article
Free Access

Spreadsheet data manipulation using examples

Published:01 August 2012Publication History
Skip Abstract Section

Abstract

Millions of computer end users need to perform tasks over large spreadsheet data, yet lack the programming knowledge to do such tasks automatically. We present a programming by example methodology that allows end users to automate such repetitive tasks. Our methodology involves designing a domain-specific language and developing a synthesis algorithm that can learn programs in that language from user-provided examples. We present instantiations of this methodology for particular domains of tasks: (a) syntactic transformations of strings using restricted forms of regular expressions, conditionals, and loops, (b) semantic transformations of strings involving lookup in relational tables, and (c) layout transformations on spreadsheet tables. We have implemented this technology as an add-in for the Microsoft Excel Spreadsheet system and have evaluated it successfully over several benchmarks picked from various Excel help forums.

References

  1. Cypher, A., ed. Watch What I Do: Programming by Demonstration, MIT Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Das Sarma, A., Parameswaran, A., Garcia-Molina, H., Widom, J. Synthesizing view definitions from data. In ICDT (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Fisher, K., Walker, D. The PADS project: an overview. In ICDT (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gualtieri, M. Deputize end-user developers to deliver business agility and reduce costs. In Forrester Report for Application Development and Program Management Professionals (Apr. 2009).Google ScholarGoogle Scholar
  5. Gulwani, S. Dimensions in program synthesis. In PPDP (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Gulwani, S. Automating string processing in spreadsheets using input-output examples. In POPL (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gulwani, S., Jha, S., Tiwari, A., Venkatesan, R. Synthesis of loop-free programs. In PLDI (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Harris, W.R., Gulwani, S. Spreadsheet table transformations from examples. In PLDI (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Itzhaky, S., Gulwani, S., Immerman, N., Sagiv, M. A simple inductive synthesis methodology and its applications. In OOPSLA (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jha, S., Gulwani, S., Seshia, S., Tiwari, A. Oracle-guided component-based program synthesis. In ICSE (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kandel, S., Paepcke, A., Hellerstein, J., Heer, J. Wrangler: Interactive visual specification of data transformation scripts. In CHI (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ko, A.J., Myers, B.A., Aung, H.H. Six learning barriers in end-user programming systems. In VL/HCC (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lau, T. Why P B D systems fail: lessons learned for usable AI. In CHI 2008 Workshop on Usable AI (2008).Google ScholarGoogle Scholar
  14. Lau, T., Wolfman, S., Domingos, P., Weld, D. Programming by demonstration using version space algebra. Mach. Learn. 53(1--2) (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lieberman, H. Your Wish is My Command: Programming by Example, Morgan Kaufmann, 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Miller, R.C., Myers, B.A., Interactive simultaneous editing of multiple text regions. In USENIX Annual Technical Conference (2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mitchell, T.M. Generalization as search. Artif. Intell. 18, 2 (1982).Google ScholarGoogle ScholarCross RefCross Ref
  18. Singh, R., Gulwani, S. Learning semantic string transformations from examples. PVLDB 5 (2012), in press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Srivastava, S., Gulwani, S., Chaudhuri, S., Foster, J.S. Path-based inductive synthesis for program inversion. In PLDI (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Srivastava, S., Gulwani, S., Foster, J. From program verification to program synthesis. In POPL (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Taly, A., Gulwani, S., Tiwari, A. Synthesizing switching logic using constraint solving. In VMCAI (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Tran, Q.T., Chan, C.Y., Parthasarathy, S. Query by output. In SIGMOD (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Walkenbach, J. Excel 2010 Formulas, John Wiley and Sons, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image Communications of the ACM
    Communications of the ACM  Volume 55, Issue 8
    August 2012
    105 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/2240236
    Issue’s Table of Contents

    Copyright © 2012 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 August 2012

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Popular
    • Refereed

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format