{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,13]],"date-time":"2026-10-13T22:31:57Z","timestamp":1791930717978,"version":"4.3.4"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"8","license":[{"start":{"date-parts":[[2012,8,1]],"date-time":"2012-08-01T00:00:00Z","timestamp":1343779200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2012,8]]},"abstract":"<jats:p>\n            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\n            <jats:italic>programming by example<\/jats:italic>\n            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.\n          <\/jats:p>","DOI":"10.1145\/2240236.2240260","type":"journal-article","created":{"date-parts":[[2012,7,26]],"date-time":"2012-07-26T14:41:09Z","timestamp":1343313669000},"page":"97-105","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":209,"title":["Spreadsheet data manipulation using examples"],"prefix":"10.1145","volume":"55","author":[{"given":"Sumit","family":"Gulwani","sequence":"first","affiliation":[{"name":"Microsoft Research, Redmond, WA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"William R.","family":"Harris","sequence":"additional","affiliation":[{"name":"Univ. of Wisconsin, Madison, WI"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rishabh","family":"Singh","sequence":"additional","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2012,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Watch What I Do: Programming by Demonstration","author":"Cypher A.","year":"1993","unstructured":"Cypher , A. , ed. Watch What I Do: Programming by Demonstration , MIT Press , 1993 . Cypher, A., ed. Watch What I Do: Programming by Demonstration, MIT Press, 1993."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1804669.1804683"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1938551.1938556"},{"key":"e_1_2_1_4_1","volume-title":"Forrester Report for Application Development and Program Management Professionals (Apr.","author":"Gualtieri M.","year":"2009","unstructured":"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 ). 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)."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1836089.1836091"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926423"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993506"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993536"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869463"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806833"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1978942.1979444"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2004.47"},{"key":"e_1_2_1_13_1","volume-title":"CHI 2008 Workshop on Usable AI","author":"Lau T.","year":"2008","unstructured":"Lau , T. Why P B D systems fail : lessons learned for usable AI . In CHI 2008 Workshop on Usable AI ( 2008 ). Lau, T. Why P B D systems fail: lessons learned for usable AI. In CHI 2008 Workshop on Usable AI (2008)."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1025671410623"},{"key":"e_1_2_1_15_1","volume-title":"Morgan Kaufmann","author":"Lieberman H.","year":"2001","unstructured":"Lieberman , H. Your Wish is My Command: Programming by Example , Morgan Kaufmann , 2001 . Lieberman, H. Your Wish is My Command: Programming by Example, Morgan Kaufmann, 2001."},{"key":"e_1_2_1_16_1","volume-title":"USENIX Annual Technical Conference","author":"Miller R.C.","year":"2001","unstructured":"Miller , R.C. , Myers , B.A. , Interactive simultaneous editing of multiple text regions . In USENIX Annual Technical Conference ( 2001 ). Miller, R.C., Myers, B.A., Interactive simultaneous editing of multiple text regions. In USENIX Annual Technical Conference (2001)."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(82)90040-6"},{"key":"e_1_2_1_18_1","volume-title":"Learning semantic string transformations from examples. PVLDB 5","author":"Singh R.","year":"2012","unstructured":"Singh , R. , Gulwani , S. Learning semantic string transformations from examples. PVLDB 5 ( 2012 ), in press. Singh, R., Gulwani, S. Learning semantic string transformations from examples. PVLDB 5 (2012), in press."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993557"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706299.1706337"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-93900-9_25"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559902"},{"key":"e_1_2_1_23_1","volume":"2010","author":"Walkenbach","unstructured":"Walkenbach , J. Excel 2010 Formulas, John Wiley and Sons, 2010. Walkenbach, J. Excel 2010 Formulas, John Wiley and Sons, 2010.","journal-title":"J. Excel"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2240236.2240260","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2240236.2240260","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:20:52Z","timestamp":1750238452000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2240236.2240260"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,8]]},"references-count":23,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2012,8]]}},"alternative-id":["10.1145\/2240236.2240260"],"URL":"https:\/\/doi.org\/10.1145\/2240236.2240260","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,8]]},"assertion":[{"value":"2012-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}