{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:12:30Z","timestamp":1763467950926,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":34,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642030123"},{"type":"electronic","value":"9783642030130"}],"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-03013-0_24","type":"book-chapter","created":{"date-parts":[[2009,7,30]],"date-time":"2009-07-30T14:30:01Z","timestamp":1248964201000},"page":"520-545","source":"Crossref","is-referenced-by-count":26,"title":["Type-Based Object Immutability with Flexible Initialization"],"prefix":"10.1007","author":[{"given":"Christian","family":"Haack","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Erik","family":"Poll","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"issue":"6","key":"24_CR1","doi-asserted-by":"publisher","first-page":"27","DOI":"10.5381\/jot.2004.3.6.a2","volume":"3","author":"M. Barnett","year":"2004","unstructured":"Barnett, M., DeLine, R., F\u00e4hndrich, M., Leino, K.R.M., Schulte, W.: Verification of object-oriented programs with invariants. Journal of Object Technology\u00a03(6), 27\u201356 (2004)","journal-title":"Journal of Object Technology"},{"key":"24_CR2","doi-asserted-by":"crossref","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate verification of aliased objects. In: OOPSLA, pp. 301\u2013320 (2007)","DOI":"10.21236\/ADA465507"},{"key":"24_CR3","volume-title":"Effective Java","author":"J. Bloch","year":"2001","unstructured":"Bloch, J.: Effective Java. Addison-Wesley, Reading (2001)"},{"key":"24_CR4","unstructured":"Boyapati, C.: SafeJava: A Unified Type System for Safe Programming. Ph.D thesis, MIT (2004)"},{"key":"24_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/3-540-44898-5_4","volume-title":"Static Analysis Symposium","author":"J. Boyland","year":"2003","unstructured":"Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol.\u00a02694, pp. 55\u201372. Springer, Heidelberg (2003)"},{"key":"24_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/3-540-45337-7_2","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"J. Boyland","year":"2001","unstructured":"Boyland, J., Noble, J., Retert, W.: Capabilities for sharing: A generalisation of uniqueness and read-only. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 2\u201327. Springer, Heidelberg (2001)"},{"key":"24_CR7","doi-asserted-by":"crossref","unstructured":"Boyland, J., Retert, W.: Connecting effects and uniqueness with adoption. In: POPL, pp. 283\u2013295 (2005)","DOI":"10.1145\/1040305.1040329"},{"key":"24_CR8","doi-asserted-by":"crossref","unstructured":"Clarke, D., Potter, J., Noble, J.: Ownership types for flexible alias protection. In: OOPSLA, pp. 48\u201364 (1998)","DOI":"10.1145\/286936.286947"},{"key":"24_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"176","DOI":"10.1007\/978-3-540-45070-2_9","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"D. Clarke","year":"2003","unstructured":"Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 176\u2013200. Springer, Heidelberg (2003)"},{"key":"24_CR10","doi-asserted-by":"crossref","unstructured":"Crary, K., Walker, D., Morrisett, G.: Typed memory management in a calculus of capabilities. In: POPL, pp. 262\u2013275 (1999)","DOI":"10.1145\/292540.292564"},{"key":"24_CR11","doi-asserted-by":"crossref","unstructured":"DeLine, R., F\u00e4hndrich, M.: Enforcing high-level protocols in low-level software. In: PLDI, pp. 59\u201369 (2001)","DOI":"10.1145\/381694.378811"},{"key":"24_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"28","DOI":"10.1007\/978-3-540-73589-2_3","volume-title":"ECOOP 2007 \u2013 Object-Oriented Programming","author":"W. Dietl","year":"2007","unstructured":"Dietl, W., Drossopoulou, S., M\u00fcller, P.: Generic universe types. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol.\u00a04609, pp. 28\u201353. Springer, Heidelberg (2007)"},{"key":"24_CR13","first-page":"302","volume-title":"OOPSLA","author":"M. F\u00e4hndrich","year":"2003","unstructured":"F\u00e4hndrich, M., Leino, K.R.M.: Declaring and checking non-null types in an object-oriented language. In: OOPSLA, pp. 302\u2013312. ACM Press, New York (2003)"},{"key":"24_CR14","doi-asserted-by":"crossref","first-page":"337","DOI":"10.1145\/1297027.1297052","volume-title":"OOPSLA","author":"M. F\u00e4hndrich","year":"2007","unstructured":"F\u00e4hndrich, M., Xia, S.: Establishing object invariants with delayed types. In: OOPSLA, pp. 337\u2013350. ACM, New York (2007)"},{"key":"24_CR15","volume-title":"A Little Java, A Few Patterns","author":"M. Felleisen","year":"1997","unstructured":"Felleisen, M., Friedman, D.: A Little Java, A Few Patterns. MIT Press, Cambridge (1997)"},{"key":"24_CR16","doi-asserted-by":"crossref","unstructured":"Grossman, D., Morrisett, G., Jim, T., Hicks, M., Wang, Y., Cheney, J.: Region-based memory management in Cyclone. In: PLDI, pp. 282\u2013293 (2002)","DOI":"10.1145\/512529.512563"},{"key":"24_CR17","doi-asserted-by":"crossref","unstructured":"Haack, C., Poll, E.: Type-based object immutability with flexible initialization. Technical Report ICIS-R09001, Radboud University, Nijmegen (January 2009)","DOI":"10.1007\/978-3-642-03013-0_24"},{"key":"24_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"347","DOI":"10.1007\/978-3-540-71316-6_24","volume-title":"Programming Languages and Systems","author":"C. Haack","year":"2007","unstructured":"Haack, C., Poll, E., Sch\u00e4fer, J., Schubert, A.: Immutable objects for a Java-like language. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol.\u00a04421, pp. 347\u2013362. Springer, Heidelberg (2007)"},{"key":"24_CR19","unstructured":"JSR\u00a0308 Expert Group. Annotations on Java types. Java specification request, Java Community Process (December 2007)"},{"key":"24_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"192","DOI":"10.1007\/978-3-540-87873-5_17","volume-title":"Verified Software: Theories, Tools, Experiments","author":"K.R.M. Leino","year":"2008","unstructured":"Leino, K.R.M., M\u00fcller, P., Wallenburg, A.: Flexible immutability with frozen objects. In: Shankar, N., Woodcock, J. (eds.) VSTTE 2008. LNCS, vol.\u00a05295, pp. 192\u2013208. Springer, Heidelberg (2008)"},{"key":"24_CR21","unstructured":"M\u00fcller, P., Poetzsch-Heffter, A.: Universes: A type system for alias and dependency control. Technical Report 279, Fernuniversit\u00e4t Hagen (2001)"},{"key":"24_CR22","doi-asserted-by":"crossref","unstructured":"\u00d6stlund, J., Wrigstad, T., Clarke, D., \u00c5kerblom, B.: Ownership, uniqueness, and immutability. In: TOOLS Europe, pp. 178\u2013197 (2008)","DOI":"10.1007\/978-3-540-69824-1_11"},{"key":"24_CR23","doi-asserted-by":"crossref","unstructured":"Papi, M., Ali, M., Correa, T., Perkins, J., Ernst, M.: Practical pluggable types for Java. In: International Symposium on Software Testing and Analysis, pp. 201\u2013212 (2008)","DOI":"10.1145\/1390630.1390656"},{"key":"24_CR24","doi-asserted-by":"publisher","first-page":"639","DOI":"10.1002\/cpe.853","volume":"17","author":"I. Pechtchanski","year":"2005","unstructured":"Pechtchanski, I., Sarkar, V.: Immutability specification and applications. Concurrency and Computation: Practice and Experience\u00a017, 639\u2013662 (2005)","journal-title":"Concurrency and Computation: Practice and Experience"},{"key":"24_CR25","unstructured":"Porat, S., Biberstein, M., Koved, L., Mendelson, B.: Automatic detection of immutable fields in Java. In: CASCON 2002. IBM Press (2000)"},{"issue":"6","key":"24_CR26","doi-asserted-by":"publisher","first-page":"793","DOI":"10.1017\/S0956796806006125","volume":"16","author":"A. Potanin","year":"2006","unstructured":"Potanin, A., Noble, J., Clarke, D., Biddle, R.: Featherweight generic confinement. J. Funct. Program.\u00a016(6), 793\u2013811 (2006)","journal-title":"J. Funct. Program."},{"key":"24_CR27","doi-asserted-by":"crossref","unstructured":"Potanin, A., Noble, J., Clarke, D., Biddle, R.: Generic ownership for generic Java. In: OOPSLA, pp. 311\u2013324 (2006)","DOI":"10.1145\/1167473.1167500"},{"key":"24_CR28","volume-title":"POPL","author":"X. Qi","year":"2009","unstructured":"Qi, X., Myers, A.: Masked types for sound object initialization. In: POPL. ACM, New York (2009)"},{"key":"24_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1007\/3-540-46425-5_24","volume-title":"Programming Languages and Systems","author":"F. Smith","year":"2000","unstructured":"Smith, F., Walker, D., Morrisett, G.: Alias types. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol.\u00a01782, pp. 366\u2013381. Springer, Heidelberg (2000)"},{"issue":"2","key":"24_CR30","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1006\/inco.1996.2613","volume":"132","author":"M. Tofte","year":"1997","unstructured":"Tofte, M., Talpin, J.-P.: Region-based memory management. Information and Computation\u00a0132(2), 109\u2013176 (1997)","journal-title":"Information and Computation"},{"key":"24_CR31","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1145\/1328438.1328463","volume-title":"POPL","author":"C. Unkel","year":"2008","unstructured":"Unkel, C., Lam, M.: Automatic inference of stationary fields: a generalization of Java\u2019s final fields. In: POPL, pp. 183\u2013195. ACM, New York (2008)"},{"issue":"6","key":"24_CR32","doi-asserted-by":"publisher","first-page":"507","DOI":"10.1002\/spe.369","volume":"31","author":"J. Vitek","year":"2001","unstructured":"Vitek, J., Bokowski, B.: Confined types in Java. Softw. Pract. Exper.\u00a031(6), 507\u2013532 (2001)","journal-title":"Softw. Pract. Exper."},{"key":"24_CR33","unstructured":"Wrigstad, T.: Ownership-Based Alias Management. Ph.D thesis, KTH Stockholm (2006)"},{"key":"24_CR34","first-page":"75","volume-title":"ESEC\/FSE 2007","author":"Y. Zibin","year":"2007","unstructured":"Zibin, Y., Potanin, A., Ali, M., Artzi, S., Kie\u017cun, A., Ernst, M.: Object and reference immutability using Java generics. In: ESEC\/FSE 2007, pp. 75\u201384. ACM, New York (2007)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2009 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-03013-0_24","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,26]],"date-time":"2023-05-26T05:42:44Z","timestamp":1685079764000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03013-0_24"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030123","9783642030130"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03013-0_24","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}