{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,13]],"date-time":"2026-04-13T21:52:55Z","timestamp":1776117175937,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":44,"publisher":"ACM","license":[{"start":{"date-parts":[[2016,10,19]],"date-time":"2016-10-19T00:00:00Z","timestamp":1476835200000},"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":[],"published-print":{"date-parts":[[2016,10,19]]},"DOI":"10.1145\/2983990.2984020","type":"proceedings-article","created":{"date-parts":[[2016,10,20]],"date-time":"2016-10-20T11:58:54Z","timestamp":1476964734000},"page":"748-764","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":36,"title":["Ringer: web automation by demonstration"],"prefix":"10.1145","author":[{"given":"Shaon","family":"Barman","sequence":"first","affiliation":[{"name":"University of California at Berkeley, USA"}]},{"given":"Sarah","family":"Chasins","sequence":"additional","affiliation":[{"name":"University of California at Berkeley, USA"}]},{"given":"Rastislav","family":"Bodik","sequence":"additional","affiliation":[{"name":"University of Washington, USA"}]},{"given":"Sumit","family":"Gulwani","sequence":"additional","affiliation":[{"name":"Microsoft Research, USA"}]}],"member":"320","published-online":{"date-parts":[[2016,10,19]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"IFTTT - make your work flow.  IFTTT - make your work flow."},{"key":"e_1_3_2_1_2_1","unstructured":"The propublica nerd blog - propublica.  The propublica nerd blog - propublica."},{"key":"e_1_3_2_1_3_1","unstructured":"A free web &amp; mobile app for reading comfortably - readability.  A free web &amp; mobile app for reading comfortably - readability."},{"key":"e_1_3_2_1_4_1","unstructured":"Alexa top 500 global sites July 2013.  Alexa top 500 global sites July 2013."},{"key":"e_1_3_2_1_5_1","unstructured":"Beautiful soup: We called him tortoise because he taught us. http:\/\/www.crummy.com\/software\/BeautifulSoup\/ July 2013.  Beautiful soup: We called him tortoise because he taught us. http:\/\/www.crummy.com\/software\/BeautifulSoup\/ July 2013."},{"key":"e_1_3_2_1_6_1","unstructured":"Browser scripting data extraction and web testing by imacros. http:\/\/www.iopus.com\/imacros\/ July 2013.  Browser scripting data extraction and web testing by imacros. http:\/\/www.iopus.com\/imacros\/ July 2013."},{"key":"e_1_3_2_1_7_1","volume-title":"July","year":"2013","unstructured":"Scrapy. http:\/\/scrapy.org\/ , July 2013 . Scrapy. http:\/\/scrapy.org\/, July 2013."},{"key":"e_1_3_2_1_8_1","volume-title":"July","year":"2013","unstructured":"Selenium-web browser automation. http:\/\/seleniumhq. org\/ , July 2013 . Selenium-web browser automation. http:\/\/seleniumhq. org\/, July 2013."},{"key":"e_1_3_2_1_9_1","unstructured":"Amazon price tracker Dec. 2015.  Amazon price tracker Dec. 2015."},{"key":"e_1_3_2_1_10_1","volume-title":"Nov.","year":"2015","unstructured":"Greasemonkey :: Add-ons for firefox , Nov. 2015 . Greasemonkey :: Add-ons for firefox, Nov. 2015."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095034.1095062"},{"key":"e_1_3_2_1_13_1","unstructured":"1095062.  1095062."},{"key":"e_1_3_2_1_14_1","unstructured":"1095062.  1095062."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501988.2502050"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2740908.2742849"},{"key":"e_1_3_2_1_17_1","volume-title":"World Wide Web Conferences Steering Committee. ISBN 978-1-4503-3473-0. doi: 10","unstructured":"International World Wide Web Conferences Steering Committee. ISBN 978-1-4503-3473-0. doi: 10 .1145\/2740908. 10.1145\/2740908 International World Wide Web Conferences Steering Committee. ISBN 978-1-4503-3473-0. doi: 10.1145\/2740908."},{"key":"e_1_3_2_1_18_1","unstructured":"2742849.  2742849."},{"key":"e_1_3_2_1_19_1","unstructured":"2742849.  2742849."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559882"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1361348.1361355"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2010.203"},{"key":"e_1_3_2_1_23_1","volume-title":"Reconstructing partial orders from linear extensions","author":"Fernandez P. L.","year":"2006","unstructured":"P. L. Fernandez , L. S. Heath , N. Ramakrishnan , and J. P. C. Vergara . Reconstructing partial orders from linear extensions , 2006 . P. L. Fernandez, L. S. Heath, N. Ramakrishnan, and J. P. C. Vergara. Reconstructing partial orders from linear extensions, 2006."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-012-0286-6"},{"key":"e_1_3_2_1_25_1","unstructured":"doi: 10. 1007\/s00778-012-0286-6.  doi: 10. 1007\/s00778-012-0286-6."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2487788.2487796"},{"key":"e_1_3_2_1_27_1","volume-title":"December","author":"Hutton R.","year":"2013","unstructured":"R. Hutton . Amazon discount tracker camelcamelcamel tips users to deals , December 2013 . R. Hutton. Amazon discount tracker camelcamelcamel tips users to deals, December 2013."},{"key":"e_1_3_2_1_28_1","unstructured":"Import.io. Import.io | web data platform &amp; free web scraping tool Mar. 2016.  Import.io. Import.io | web data platform &amp; free web scraping tool Mar. 2016."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1453101.1453119"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2187980.2188051"},{"key":"e_1_3_2_1_31_1","volume-title":"Mar.","author":"Labs K.","year":"2016","unstructured":"K. Labs . Kimono: Turn websites into structured APIs from your browser in seconds , Mar. 2016 . K. Labs. Kimono: Turn websites into structured APIs from your browser in seconds, Mar. 2016."},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSREW.2014.17"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"crossref","unstructured":"doi: 10.1109\/ISSREW.2014.17.    10.1109\/ISSREW.2014.17\ndoi: 10.1109\/ISSREW.2014.17.","DOI":"10.1055\/s-0034-1379191"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1357054.1357323"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753326.1753432"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1502650.1502667"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"doi: 10.1145\/1502650.1502667.    10.1145\/1502650.1502667\ndoi: 10.1145\/1502650.1502667.","DOI":"10.1145\/1502650.1502667"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/347090.347122"},{"key":"e_1_3_2_1_39_1","first-page":"11","volume-title":"Proceedings of the 7th USENIX conference on Networked systems design and implementation, NSDI\u201910","author":"Mickens J.","year":"2010","unstructured":"J. Mickens , J. Elson , and J. Howell . Mugshot: deterministic capture and replay for javascript applications . In Proceedings of the 7th USENIX conference on Networked systems design and implementation, NSDI\u201910 , pages 11\u2013 11 , Berkeley, CA, USA , 2010 . USENIX Association. J. Mickens, J. Elson, and J. Howell. Mugshot: deterministic capture and replay for javascript applications. In Proceedings of the 7th USENIX conference on Networked systems design and implementation, NSDI\u201910, pages 11\u201311, Berkeley, CA, USA, 2010. USENIX Association."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254095"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491447"},{"key":"e_1_3_2_1_42_1","volume-title":"Posts containing \u2019scraping","year":"2016","unstructured":"stackoverflow.com. Posts containing \u2019scraping \u2019 - stack overflow, July 2016 . stackoverflow.com. Posts containing \u2019scraping\u2019 - stack overflow, July 2016."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1240624.1240842"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2610390"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1622176.1622213"}],"event":{"name":"SPLASH '16: Conference on Systems, Programming, Languages, and Applications: Software for Humanity","location":"Amsterdam Netherlands","acronym":"SPLASH '16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGAda ACM Special Interest Group on Ada Programming Language"]},"container-title":["Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2983990.2984020","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2983990.2984020","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:39:53Z","timestamp":1750203593000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2983990.2984020"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,10,19]]},"references-count":44,"alternative-id":["10.1145\/2983990.2984020","10.1145\/2983990"],"URL":"https:\/\/doi.org\/10.1145\/2983990.2984020","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3022671.2984020","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,10,19]]},"assertion":[{"value":"2016-10-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}