{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T16:29:43Z","timestamp":1743006583767,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":25,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642005893"},{"type":"electronic","value":"9783642005909"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-00590-9_8","type":"book-chapter","created":{"date-parts":[[2009,3,27]],"date-time":"2009-03-27T08:05:58Z","timestamp":1238141158000},"page":"95-111","source":"Crossref","is-referenced-by-count":14,"title":["Is Structural Subtyping Useful? An Empirical Study"],"prefix":"10.1007","author":[{"given":"Donna","family":"Malayeri","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jonathan","family":"Aldrich","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"8_CR1","doi-asserted-by":"crossref","unstructured":"Amadio, R., Cardelli, L.: Subtyping recursive types. ACM TOPLAS\u00a015(4) (1993)","DOI":"10.1145\/155183.155231"},{"key":"8_CR2","doi-asserted-by":"crossref","unstructured":"Baldi, P., Lopes, C., Linstead, E., Bajracharya, S.: A theory of aspects as latent topics. In: OOPSLA (2008)","DOI":"10.1145\/1449764.1449807"},{"key":"8_CR3","volume-title":"Effective Java","author":"J. Bloch","year":"2008","unstructured":"Bloch, J.: Effective Java, 2nd edn. Addison-Wesley, Reading (2008)","edition":"2"},{"key":"8_CR4","doi-asserted-by":"crossref","unstructured":"Boyland, J., Castagna, G.: Parasitic methods: an implementation of multi-methods for Java. In: OOPSLA 1997, pp. 66\u201376 (1997)","DOI":"10.1145\/263698.263721"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Bracha, G., Griswold, D.: Strongtalk: typechecking Smalltalk in a production environment. In: OOPSLA 1993, pp. 215\u2013230 (1993)","DOI":"10.1145\/165854.165893"},{"issue":"2","key":"8_CR6","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1145\/641888.641891","volume":"25","author":"K. Bruce","year":"2003","unstructured":"Bruce, K., Schuett, A., van Gent, R., Fiech, A.: PolyTOIL: A type-safe polymorphic object-oriented language. ACM Trans. Program. Lang. Syst.\u00a025(2), 225\u2013290 (2003)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"Cardelli, L.: Structural subtyping and the notion of power type. In: POPL 1988 (1988)","DOI":"10.1145\/73560.73566"},{"key":"8_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1007\/978-3-540-73589-2_12","volume-title":"ECOOP 2007 \u2013 Object-Oriented Programming","author":"P. Chalin","year":"2007","unstructured":"Chalin, P., James, P.: Non-null references by default in Java: Alleviating the nullity annotation burden. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol.\u00a04609, pp. 227\u2013247. Springer, Heidelberg (2007)"},{"key":"8_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1007\/BFb0053029","volume-title":"ECOOP \u201992 European Conference on Object-Oriented Programming","author":"C. Chambers","year":"1992","unstructured":"Chambers, C.: Object-oriented multi-methods in Cecil. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol.\u00a0615, pp. 33\u201356. Springer, Heidelberg (1992)"},{"issue":"3","key":"8_CR10","doi-asserted-by":"publisher","first-page":"517","DOI":"10.1145\/1133651.1133655","volume":"28","author":"C. Clifton","year":"2006","unstructured":"Clifton, C., Millstein, T., Leavens, G., Chambers, C.: MultiJava: Design rationale, compiler implementation, and applications. ACM TOPLAS\u00a028(3), 517\u2013575 (2006)","journal-title":"ACM TOPLAS"},{"key":"8_CR11","doi-asserted-by":"crossref","unstructured":"Fisher, K., Reppy, J.: The design of a class mechanism for Moby. In: PLDI (1999)","DOI":"10.1145\/301618.301638"},{"key":"8_CR12","doi-asserted-by":"crossref","unstructured":"Forster, F.: Cost and benefit of rigorous decoupling with context-specific interfaces. In: PPPJ 2006, pp. 23\u201330 (2006)","DOI":"10.1145\/1168054.1168059"},{"key":"8_CR13","doi-asserted-by":"crossref","unstructured":"Gil, J., Maman, I.: Micro patterns in Java code. In: OOPSLA 2005, pp. 97\u2013116 (2005)","DOI":"10.1145\/1094811.1094819"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Gil, J., Maman, I.: Whiteoak: Introducing structural typing into Java. In: OOPSLA (2008)","DOI":"10.1145\/1449764.1449771"},{"key":"8_CR15","unstructured":"Leroy, X., Doligez, D., Garrigue, J., R\u00e9my, D., Vouillon, J.: The Objective Caml system, release 3.10 (2007), http:\/\/caml.inria.fr\/pub\/docs\/manual-ocaml"},{"key":"8_CR16","unstructured":"Magnusson, B.: Code reuse considered harmful. Journal of Object-Oriented Programming\u00a04(3) (November 1991)"},{"key":"8_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"260","DOI":"10.1007\/978-3-540-70592-5_12","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"D. Malayeri","year":"2008","unstructured":"Malayeri, D., Aldrich, J.: Integrating nominal and structural subtyping. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol.\u00a05142, pp. 260\u2013284. Springer, Heidelberg (2008)"},{"key":"8_CR18","doi-asserted-by":"crossref","unstructured":"Malayeri, D., Aldrich, J.: Is structural subtyping useful? An empirical study. Technical Report CMU-CS-09-100, School of Computer Science, Carnegie Mellon University (January 2009)","DOI":"10.21236\/ADA512414"},{"key":"8_CR19","unstructured":"Sun Microsystems. Java collections API design FAQ (2003), http:\/\/java.sun.com\/j2se\/1.4.2\/docs\/guide\/collections\/designfaq.html"},{"issue":"1","key":"8_CR20","doi-asserted-by":"publisher","first-page":"76","DOI":"10.1006\/inco.2002.3103","volume":"175","author":"T. Millstein","year":"2002","unstructured":"Millstein, T., Chambers, C.: Modular statically typed multimethods. Inf. Comput.\u00a0175(1), 76\u2013118 (2002)","journal-title":"Inf. Comput."},{"key":"8_CR21","doi-asserted-by":"crossref","unstructured":"Muschevici, R., Potanin, A., Tempero, E., Noble, J.: Multiple dispatch in practice. In: OOPSLA 2008 (October 2008)","DOI":"10.1145\/1449764.1449808"},{"key":"8_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1007\/3-540-51084-2_2","volume-title":"ISAAC 1988","author":"D. Musser","year":"1989","unstructured":"Musser, D., Stepanov, A.: Generic programming. In: Gianni, P. (ed.) An Optimized Translation Process and Its Application to ALGOL 68. LNCS, vol.\u00a038, pp. 13\u201325. Springer, Heidelberg (1989)"},{"key":"8_CR23","volume-title":"Types and Programming Languages","author":"B. Pierce","year":"2002","unstructured":"Pierce, B.: Types and Programming Languages. MIT Press, Cambridge (2002)"},{"key":"8_CR24","doi-asserted-by":"crossref","unstructured":"Steimann, F.: The infer type refactoring and its use for interface-based programming. Journal of Object Technology\u00a06(2) (2007)","DOI":"10.5381\/jot.2007.6.2.a5"},{"key":"8_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"667","DOI":"10.1007\/978-3-540-70592-5_28","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"E.D. Tempero","year":"2008","unstructured":"Tempero, E.D., Noble, J., Melton, H.: How do Java programs use inheritance? An empirical study of inheritance in Java software. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol.\u00a05142, pp. 667\u2013691. Springer, Heidelberg (2008)"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-00590-9_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,19]],"date-time":"2019-05-19T00:23:46Z","timestamp":1558225426000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-00590-9_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642005893","9783642005909"],"references-count":25,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-00590-9_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}