{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:05Z","timestamp":1772164025652,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":44,"publisher":"ACM","license":[{"start":{"date-parts":[[2012,9,26]],"date-time":"2012-09-26T00:00:00Z","timestamp":1348617600000},"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":[[2012,9,26]]},"DOI":"10.1145\/2371401.2371407","type":"proceedings-article","created":{"date-parts":[[2012,10,2]],"date-time":"2012-10-02T09:50:06Z","timestamp":1349171406000},"page":"31-40","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Synthesizing iterators from abstraction functions"],"prefix":"10.1145","author":[{"given":"Derek","family":"Rayside","sequence":"first","affiliation":[{"name":"University of Waterloo"}]},{"given":"Vajihollah","family":"Montaghami","sequence":"additional","affiliation":[{"name":"University of Waterloo"}]},{"given":"Francesca","family":"Leung","sequence":"additional","affiliation":[{"name":"University of Waterloo"}]},{"given":"Albert","family":"Yuen","sequence":"additional","affiliation":[{"name":"University of Waterloo"}]},{"given":"Kevin","family":"Xu","sequence":"additional","affiliation":[{"name":"University of Waterloo"}]},{"given":"Daniel","family":"Jackson","sequence":"additional","affiliation":[{"name":"MIT CSAIL"}]}],"member":"320","published-online":{"date-parts":[[2012,9,26]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Mass","author":"Bloch J.","year":"2001","unstructured":"J. Bloch . Effective Java . Addison-Wesley, Reading , Mass ., 2001 . J. Bloch. Effective Java. Addison-Wesley, Reading, Mass., 2001."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-004-0167-4"},{"key":"e_1_3_2_1_4_1","volume-title":"Introduction to Algorithms","author":"Cormen T. H.","year":"2001","unstructured":"T. H. Cormen , C. E. Leiserson , R. L. Rivest , and C. Stein . Introduction to Algorithms . The MIT Press and McGraw-Hill , 2 nd edition, 2001 . T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The MIT Press and McGraw-Hill, 2nd edition, 2001.","edition":"2"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1049\/ic:20040301"},{"key":"e_1_3_2_1_7_1","unstructured":"A. Gesar H. Hussmann and A. Muck. A compiler for a class of conditional term rewriting systems. In Kaplan and Jouannaud {19}.  A. Gesar H. Hussmann and A. Muck. A compiler for a class of conditional term rewriting systems. In Kaplan and Jouannaud {19}."},{"key":"e_1_3_2_1_8_1","unstructured":"ECOOP volume \n  1628\n   of \n  LNCS 1999\n  . \n  Springer-Verlag\n  . ECOOP volume 1628 of LNCS 1999. Springer-Verlag."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993504"},{"key":"e_1_3_2_1_10_1","first-page":"3","article-title":"Discovering algebraic specifications from Java classes","author":"Henkel J.","year":"2003","unstructured":"J. Henkel and A. Diwan . Discovering algebraic specifications from Java classes . In ECOOP. July 2003 . ISBN 3 - 540 -40531-3. J. Henkel and A. Diwan. Discovering algebraic specifications from Java classes. In ECOOP. July 2003. ISBN 3-540-40531-3.","journal-title":"ECOOP."},{"key":"e_1_3_2_1_11_1","unstructured":"T. Heuillard. Compiling conditional rewriting systems. In Kaplan and Jouannaud {19}.  T. Heuillard. Compiling conditional rewriting systems. In Kaplan and Jouannaud {19}."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00289507"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1416563.1416566"},{"key":"e_1_3_2_1_14_1","volume-title":"Logic, Language, and Analysis","author":"Jackson D.","year":"2012","unstructured":"D. Jackson . Software Abstractions : Logic, Language, and Analysis . The MIT Press , revised edition, Jan. 2012 . D. Jackson. Software Abstractions: Logic, Language, and Analysis. The MIT Press, revised edition, Jan. 2012."},{"key":"e_1_3_2_1_15_1","volume-title":"Formal Techniques for Java-like Programs (FTfJP)","author":"Jacobs B.","year":"2005","unstructured":"B. Jacobs , E. Meijer , F. Piessens , and W. Schulte . Iterators revisited: proof rules and implementation . In Formal Techniques for Java-like Programs (FTfJP) , 2005 . B. Jacobs, E. Meijer, F. Piessens, and W. Schulte. Iterators revisited: proof rules and implementation. In Formal Techniques for Java-like Programs (FTfJP), 2005."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/74587.74595"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380171106"},{"key":"e_1_3_2_1_18_1","volume-title":"Workshop on Larch.","author":"Jones K. D.","year":"1992","unstructured":"K. D. Jones . A Semantics for a Larch\/Modula-3 Interface Language . In Workshop on Larch. July 1992 . K. D. Jones. A Semantics for a Larch\/Modula-3 Interface Language. In Workshop on Larch. July 1992."},{"key":"e_1_3_2_1_19_1","volume-title":"1st International Workshop on Term Rewriting Systems","volume":"308","author":"Proceedings","year":"1988","unstructured":"Proceedings of the 1st International Workshop on Term Rewriting Systems , volume 308 of LNCS, 1988 . Springer-Verlag. Proceedings of the 1st International Workshop on Term Rewriting Systems, volume 308 of LNCS, 1988. Springer-Verlag."},{"key":"e_1_3_2_1_20_1","unstructured":"T. K\u00fchne. Internal iteration externalized. In Guerraoui {8}.  T. K\u00fchne. Internal iteration externalized. In Guerraoui {8}."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286953"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/263698.263752"},{"key":"e_1_3_2_1_27_1","first-page":"135","volume-title":"Guerraoui {8}","author":"Lencevicius R.","unstructured":"R. Lencevicius , U. H\u00f6lzle , and A. K. Singh . Dynamic query-based debugging . In Guerraoui {8} , pages 135 -- 160 . R. Lencevicius, U. H\u00f6lzle, and A. K. Singh. Dynamic query-based debugging. In Guerraoui {8}, pages 135--160."},{"key":"e_1_3_2_1_28_1","volume-title":"PWS","author":"Lieberherr K. J.","year":"1996","unstructured":"K. J. Lieberherr . Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns . PWS , 1996 . K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS, 1996."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/645773.668088"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111063"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985863"},{"key":"e_1_3_2_1_32_1","volume-title":"Programming from Specifications","author":"Morgan C.","year":"1998","unstructured":"C. Morgan . Programming from Specifications . Prentice-Hall, Inc. , 2nd edition, 1998 . First edition 1990. C. Morgan. Programming from Specifications. Prentice-Hall, Inc., 2nd edition, 1998. First edition 1990."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/225540.225541"},{"key":"e_1_3_2_1_34_1","volume-title":"Artima","author":"Odersky M.","year":"2008","unstructured":"M. Odersky , L. Spoon , and B. Venners . Programming in Scala . Artima , Nov. 2008 . M. Odersky, L. Spoon, and B. Venners. Programming in Scala. Artima, Nov. 2008."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.37"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.v16:7"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596655.1596663"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070534"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1639950.1640070"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869482"},{"key":"e_1_3_2_1_41_1","volume-title":"ECOOP.","author":"Samimi H.","year":"2010","unstructured":"H. Samimi , E. D. Aung , and T. Millstein . Falling back on executable specifications . In ECOOP. June 2010 . H. Samimi, E. D. Aung, and T. Millstein. Falling back on executable specifications. In ECOOP. June 2010."},{"key":"e_1_3_2_1_42_1","volume-title":"DSL","author":"Smaragdakis Y.","year":"1997","unstructured":"Y. Smaragdakis and D. Batory . DiSTiL: a Transformation Library for Data Structures . In DSL , 1997 . Y. Smaragdakis and D. Batory. DiSTiL: a Transformation Library for Data Structures. In DSL, 1997."},{"key":"e_1_3_2_1_44_1","volume-title":"TACAS.","author":"Torlak E.","year":"2007","unstructured":"E. Torlak and D. Jackson . Kodkod: A relational model finder . In TACAS. Mar. 2007 . E. Torlak and D. Jackson. Kodkod: A relational model finder. In TACAS. Mar. 2007."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/193173.195300"},{"key":"e_1_3_2_1_46_1","volume-title":"ECOOP.","author":"Vaziri M.","year":"2007","unstructured":"M. Vaziri , F. Tip , S. Fink , and J. Dolby . Declarative object identity using relation types . In ECOOP. July 2007 . M. Vaziri, F. Tip, S. Fink, and J. Dolby. Declarative object identity using relation types. In ECOOP. July 2007."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(90)90147-A"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/11785477_3"},{"key":"e_1_3_2_1_49_1","volume-title":"MIT","author":"Yessenov K.","year":"2009","unstructured":"K. Yessenov . A light-weight specification language for bounded program verification. Master's thesis , MIT , May 2009 . K. Yessenov. A light-weight specification language for bounded program verification. Master's thesis, MIT, May 2009."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375624"}],"event":{"name":"GPCE'12: Generative Programming and Component Engineering","location":"Dresden Germany","acronym":"GPCE'12","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 11th International Conference on Generative Programming and Component Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2371401.2371407","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2371401.2371407","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:34:12Z","timestamp":1750224852000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2371401.2371407"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,9,26]]},"references-count":44,"alternative-id":["10.1145\/2371401.2371407","10.1145\/2371401"],"URL":"https:\/\/doi.org\/10.1145\/2371401.2371407","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2480361.2371407","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2012,9,26]]},"assertion":[{"value":"2012-09-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}