{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:17Z","timestamp":1772164037209,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":35,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,10,14]],"date-time":"2014-10-14T00:00:00Z","timestamp":1413244800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100002850","name":"Fondo Nacional de Desarrollo Cient\u00edfico y Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["11110463"],"award-info":[{"award-number":["11110463"]}],"id":[{"id":"10.13039\/501100002850","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002850","name":"Fondo Nacional de Desarrollo Cient\u00edfico y Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["1120094"],"award-info":[{"award-number":["1120094"]}],"id":[{"id":"10.13039\/501100002850","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002850","name":"Fondo Nacional de Desarrollo Cient\u00edfico y Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["1110051"],"award-info":[{"award-number":["1110051"]}],"id":[{"id":"10.13039\/501100002850","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002850","name":"Fondo Nacional de Desarrollo Cient\u00edfico y Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["1140068"],"award-info":[{"award-number":["1140068"]}],"id":[{"id":"10.13039\/501100002850","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2014,10,14]]},"DOI":"10.1145\/2661088.2661091","type":"proceedings-article","created":{"date-parts":[[2014,10,14]],"date-time":"2014-10-14T08:29:24Z","timestamp":1413275364000},"page":"135-146","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["On the use of type predicates in object-oriented software"],"prefix":"10.1145","author":[{"given":"Oscar","family":"Calla\u00fa","sequence":"first","affiliation":[{"name":"University of Chile, Santiago, Chile"}]},{"given":"Romain","family":"Robbes","sequence":"additional","affiliation":[{"name":"University of Chile, Santiago, Chile"}]},{"given":"\u00c9ric","family":"Tanter","sequence":"additional","affiliation":[{"name":"Unversity of Chile, Santiago, Chile"}]},{"given":"David","family":"R\u00f6thlisberger","sequence":"additional","affiliation":[{"name":"Universidad Diego Portales, Santiago, Chile"}]},{"given":"Alexandre","family":"Bergel","sequence":"additional","affiliation":[{"name":"University of Chile, Santiago, Chile"}]}],"member":"320","published-online":{"date-parts":[[2014,10,14]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1639950.1640073"},{"key":"e_1_3_2_1_2_1","first-page":"2","volume-title":"Mezini {17}","author":"Beckman N. E.","unstructured":"N. E. Beckman , D. Kim , and J. Aldrich . An empirical study of object protocols in the wild . In Mezini {17} , pages 2 -- 26 . N. E. Beckman, D. Kim, and J. Aldrich. An empirical study of object protocols in the wild. In Mezini {17}, pages 2--26."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297050"},{"key":"e_1_3_2_1_4_1","volume-title":"Effective Java","author":"Bloch J.","year":"2008","unstructured":"J. Bloch . Effective Java , 2 nd Edition. Addison-Wesley , 2008 . J. Bloch. Effective Java, 2nd Edition. Addison-Wesley, 2008.","edition":"2"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9203-2"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/2394758.2394776"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1639949.1640133"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24851-4_21"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/949343.949332"},{"key":"e_1_3_2_1_10_1","volume-title":"Refactoring: improving the design of existing code","author":"Fowler M.","year":"1999","unstructured":"M. Fowler . Refactoring: improving the design of existing code . Addison-Wesley Professional , 1999 . M. Fowler. Refactoring: improving the design of existing code. Addison-Wesley Professional, 1999."},{"key":"e_1_3_2_1_11_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1007\/978-3-642-19718-5_14","volume-title":"Proceedings of the 20th European Symposium on Programming (ESOP","author":"Guha A.","year":"2011","unstructured":"A. Guha , C. Saftoiu , and S. Krishnamurthi . Typing local control and state using flow analysis . In G. Barthe, editor, Proceedings of the 20th European Symposium on Programming (ESOP 2011 ), volume 6602 of Lecture Notes in Computer Science , pages 256 -- 275 . Springer-Verlag , 2011. A. Guha, C. Saftoiu, and S. Krishnamurthi. Typing local control and state using flow analysis. In G. Barthe, editor, Proceedings of the 20th European Symposium on Programming (ESOP 2011), volume 6602 of Lecture Notes in Computer Science, pages 256--275. Springer-Verlag, 2011."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/646155.679709"},{"key":"e_1_3_2_1_13_1","volume-title":"Whats new in Groovy 2.0? http:\/\/www.infoq.com\/articles\/new-groovy-20","author":"Laforge G.","year":"2012","unstructured":"G. Laforge . Whats new in Groovy 2.0? http:\/\/www.infoq.com\/articles\/new-groovy-20 , 2012 . G. Laforge. Whats new in Groovy 2.0? http:\/\/www.infoq.com\/articles\/new-groovy-20, 2012."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1858996.1859058"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00590-9_8"},{"key":"e_1_3_2_1_16_1","volume-title":"55 Specific Ways to Improve Your Programs and Designs","author":"Meyers S.","year":"2005","unstructured":"S. Meyers . Effective C++ : 55 Specific Ways to Improve Your Programs and Designs ( 3 rd Edition). Addison-Wesley , 2005 . S. Meyers. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition). Addison-Wesley, 2005.","edition":"3"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/2032497"},{"key":"e_1_3_2_1_18_1","volume-title":"Square Bracket Associates","author":"Nierstrasz O.","year":"2009","unstructured":"O. Nierstrasz , S. Ducasse , and S. Demeyer . Object-Oriented Reengineering Patterns . Square Bracket Associates , 2009 . O. Nierstrasz, S. Ducasse, and S. Demeyer. Object-Oriented Reengineering Patterns. Square Bracket Associates, 2009."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03013-0_13"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985441.1985446"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"crossref","unstructured":"D.\n      Pearce\n    .\n  Sound and complete flow typing with unions intersections and negations\n  . In R. Giacobazzi J. Berdine and I. Mastroeni editors Verification Model Checking and Abstract Interpretation volume \n  7737\n   of \n  Lecture Notes in Computer Science pages \n  335\n  --\n  354\n  . \n  Springer Berlin Heidelberg 2013\n  .  D. Pearce. Sound and complete flow typing with unions intersections and negations. In R. Giacobazzi J. Berdine and I. Mastroeni editors Verification Model Checking and Abstract Interpretation volume 7737 of Lecture Notes in Computer Science pages 335--354. Springer Berlin Heidelberg 2013.","DOI":"10.1007\/978-3-642-35873-9_21"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489804.2489810"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2011.11.005"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100074"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_3"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9942(1997)3:4%3C253::AID-TAPO3%3E3.3.CO;2-I"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1986.6312929"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2010.46"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336754"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863543.1863561"},{"key":"e_1_3_2_1_33_1","first-page":"123","volume-title":"In Proceedings of the 18th European Conference on Object-Oriented Programming","author":"Torgersen M.","year":"2004","unstructured":"M. Torgersen . The expression problem revisited four new solutions using generics . In In Proceedings of the 18th European Conference on Object-Oriented Programming , pages 123 -- 143 . Springer-Verlag , 2004 . M. Torgersen. The expression problem revisited four new solutions using generics. In In Proceedings of the 18th European Conference on Object-Oriented Programming, pages 123--143. Springer-Verlag, 2004."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2076674.2076680"},{"key":"e_1_3_2_1_35_1","first-page":"459","volume-title":"Mezini {17}","author":"Wolff R.","unstructured":"R. Wolff , R. Garcia , E. Tanter , and J. Aldrich . Gradual typestate . In Mezini {17} , pages 459 -- 483 . R. Wolff, R. Garcia, E. Tanter, and J. Aldrich. Gradual typestate. In Mezini {17}, pages 459--483."},{"key":"e_1_3_2_1_36_1","first-page":"12","article-title":"Independently extensible solutions to the expression problem","author":"Zenger M.","year":"2005","unstructured":"M. Zenger and M. Odersky . Independently extensible solutions to the expression problem . In In Proc. FOOL 12 , 2005 . M. Zenger and M. Odersky. Independently extensible solutions to the expression problem. In In Proc. FOOL 12, 2005.","journal-title":"In Proc. FOOL"}],"event":{"name":"SPLASH '14: Conference on Systems, Programming, and Applications: Software for Humanity","location":"Portland Oregon USA","acronym":"SPLASH '14","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGAda ACM Special Interest Group on Ada Programming Language"]},"container-title":["Proceedings of the 10th ACM Symposium on Dynamic languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2661088.2661091","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2661088.2661091","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:19:46Z","timestamp":1750216786000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2661088.2661091"}},"subtitle":["the case of smalltalk"],"short-title":[],"issued":{"date-parts":[[2014,10,14]]},"references-count":35,"alternative-id":["10.1145\/2661088.2661091","10.1145\/2661088"],"URL":"https:\/\/doi.org\/10.1145\/2661088.2661091","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2775052.2661091","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2014,10,14]]},"assertion":[{"value":"2014-10-14","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}