{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,9]],"date-time":"2026-06-09T08:41:14Z","timestamp":1780994474687,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":52,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642141065","type":"print"},{"value":"9783642141072","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-14107-2_17","type":"book-chapter","created":{"date-parts":[[2010,6,29]],"date-time":"2010-06-29T12:10:14Z","timestamp":1277813414000},"page":"354-378","source":"Crossref","is-referenced-by-count":32,"title":["Capabilities for Uniqueness and Borrowing"],"prefix":"10.1007","author":[{"given":"Philipp","family":"Haller","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Martin","family":"Odersky","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"17_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1007\/BFb0053373","volume-title":"ECOOP \u201997 - Object-Oriented Programming","author":"P.S. Almeida","year":"1997","unstructured":"Almeida, P.S.: Balloon types: Controlling sharing of state in data types. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol.\u00a01241, pp. 32\u201359. Springer, Heidelberg (1997)"},{"key":"17_CR2","doi-asserted-by":"publisher","first-page":"98","DOI":"10.1145\/1542476.1542488","volume-title":"PLDI","author":"Z.R. Anderson","year":"2009","unstructured":"Anderson, Z.R., Gay, D., Naik, M.: Lightweight annotations for controlling sharing in concurrent data structures. In: PLDI, pp. 98\u2013109. ACM, New York (2009)"},{"key":"17_CR3","volume-title":"Concurrent Programming in Erlang","author":"J. Armstrong","year":"1996","unstructured":"Armstrong, J., Virding, R., Wikstr\u00f6m, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)","edition":"2"},{"key":"17_CR4","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1375657.1375659","volume-title":"LCTES","author":"J.S. Auerbach","year":"2008","unstructured":"Auerbach, J.S., Bacon, D.F., Guerraoui, R., Spring, J.H., Vitek, J.: Flexible task graphs: a unified restricted thread programming model for java. In: LCTES, pp. 1\u201311. ACM, New York (2008)"},{"key":"17_CR5","doi-asserted-by":"crossref","first-page":"227","DOI":"10.1145\/1449764.1449783","volume-title":"OOPSLA","author":"N.E. Beckman","year":"2008","unstructured":"Beckman, N.E., Bierhoff, K., Aldrich, J.: Verifying correct usage of atomic blocks and typestate. In: Harris, G.E. (ed.) OOPSLA, pp. 227\u2013244. ACM, New York (2008)"},{"key":"17_CR6","doi-asserted-by":"crossref","first-page":"301","DOI":"10.1145\/1297027.1297050","volume-title":"OOPSLA","author":"K. Bierhoff","year":"2007","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: OOPSLA, pp. 301\u2013320. ACM, New York (2007)"},{"key":"17_CR7","first-page":"259","volume-title":"POPL","author":"R. Bornat","year":"2005","unstructured":"Bornat, R., Calcagno, C., O\u2019Hearn, P.W., Parkinson, M.J.: Permission accounting in separation logic. In: POPL, pp. 259\u2013270. ACM, New York (2005)"},{"key":"17_CR8","doi-asserted-by":"crossref","unstructured":"Boyapati, C., Lee, R., Rinard, M.C.: Ownership types for safe programming: preventing data races and deadlocks. In: OOPSLA, pp. 211\u2013230 (2002)","DOI":"10.1145\/582419.582440"},{"key":"17_CR9","first-page":"283","volume-title":"POPL","author":"J.T. Boyland","year":"2005","unstructured":"Boyland, J.T., Retert, W.: Connecting effects and uniqueness with adoption. In: POPL, pp. 283\u2013295. ACM, New York (2005)"},{"issue":"9","key":"17_CR10","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1145\/162685.162711","volume":"36","author":"D. Caromel","year":"1993","unstructured":"Caromel, D.: Towards a method of object-oriented concurrent programming. ACM Commun.\u00a036(9), 90\u2013102 (1993)","journal-title":"ACM Commun."},{"key":"17_CR11","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1145\/1411204.1411235","volume-title":"ICFP","author":"A. Chargu\u00e9raud","year":"2008","unstructured":"Chargu\u00e9raud, A., Pottier, F.: Functional translation of a calculus of capabilities. In: ICFP, pp. 213\u2013224. ACM, New York (2008)"},{"key":"17_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","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":"17_CR13","first-page":"139","volume-title":"APLAS","author":"D. Clarke","year":"2008","unstructured":"Clarke, D., Wrigstad, T., \u00d6stlund, J., Johnsen, E.B.: Minimal ownership for active objects. In: APLAS, pp. 139\u2013154. Springer, Heidelberg (2008)"},{"key":"17_CR14","doi-asserted-by":"crossref","unstructured":"Clarke, D.G., Potter, J., Noble, J.: Ownership types for flexible alias protection. In: OOPSLA, pp. 48\u201364 (1998)","DOI":"10.1145\/286936.286947"},{"key":"17_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"550","DOI":"10.1007\/978-3-540-73589-2_26","volume-title":"ECOOP 2007 \u2013 Object-Oriented Programming","author":"M. Degen","year":"2007","unstructured":"Degen, M., Thiemann, P., Wehr, S.: Tracking linear and affine resources with java(X). In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol.\u00a04609, pp. 550\u2013574. Springer, Heidelberg (2007)"},{"key":"17_CR16","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)"},{"issue":"8","key":"17_CR17","doi-asserted-by":"crossref","first-page":"5","DOI":"10.5381\/jot.2005.4.8.a1","volume":"4","author":"W. Dietl","year":"2005","unstructured":"Dietl, W., M\u00fcller, P.: Universes: Lightweight ownership for JML. Journal of Object Technology\u00a04(8), 5\u201332 (2005)","journal-title":"Journal of Object Technology"},{"key":"17_CR18","doi-asserted-by":"crossref","first-page":"213","DOI":"10.1145\/1449764.1449782","volume-title":"OOPSLA","author":"D. Distefano","year":"2008","unstructured":"Distefano, D., Parkinson, M.J.: jstar: towards practical verification for java. In: OOPSLA, pp. 213\u2013226. ACM, New York (2008)"},{"key":"17_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"204","DOI":"10.1007\/978-3-540-24725-8_15","volume-title":"Programming Languages and Systems","author":"R. Ennals","year":"2004","unstructured":"Ennals, R., Sharp, R., Mycroft, A.: Linear types for packet processing. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol.\u00a02986, pp. 204\u2013218. Springer, Heidelberg (2004)"},{"key":"17_CR20","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/1217935.1217953","volume-title":"EuroSys","author":"M. F\u00e4hndrich","year":"2006","unstructured":"F\u00e4hndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G.C., Larus, J.R., Levi, S.: Language support for fast and reliable message-based communication in singularity OS. In: EuroSys, pp. 177\u2013190. ACM, New York (2006)"},{"key":"17_CR21","doi-asserted-by":"crossref","unstructured":"F\u00e4hndrich, M., DeLine, R.: Adoption and focus: Practical linear types for imperative programming. In: PLDI, pp. 13\u201324 (2002)","DOI":"10.1145\/543552.512532"},{"key":"17_CR22","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Sabry, A., Duba, B.F., Felleisen, M.: The essence of compiling with continuations. In: PLDI, pp. 237\u2013247 (1993)","DOI":"10.1145\/155090.155113"},{"key":"17_CR23","volume-title":"Design Patterns","author":"E. Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)"},{"key":"17_CR24","unstructured":"Haller, P., Odersky, M.: Capabilities for uniqueness and borrowing. Technical Report LAMP-REPORT-2009-004 EPFL, Lausanne, Switzerland (December 2009), http:\/\/infoscience.epfl.ch\/record\/142817"},{"issue":"2-3","key":"17_CR25","doi-asserted-by":"publisher","first-page":"202","DOI":"10.1016\/j.tcs.2008.09.019","volume":"410","author":"P. Haller","year":"2009","unstructured":"Haller, P., Odersky, M.: Scala actors: Unifying thread-based and event-based programming. Theor. Comput. Sci.\u00a0410(2-3), 202\u2013220 (2009)","journal-title":"Theor. Comput. Sci."},{"issue":"5","key":"17_CR26","doi-asserted-by":"publisher","first-page":"424","DOI":"10.1109\/32.90445","volume":"17","author":"D.E. Harms","year":"1991","unstructured":"Harms, D.E., Weide, B.W.: Copying and swapping: Influences on the design of reusable software components. IEEE Trans. Software Eng.\u00a017(5), 424\u2013435 (1991)","journal-title":"IEEE Trans. Software Eng"},{"key":"17_CR27","doi-asserted-by":"crossref","unstructured":"Hicks, M.W., Morrisett, J.G., Grossman, D., Jim, T.: Experience with safe manual memory-management in cyclone. In: ISMM, pp. 73\u201384 (2004)","DOI":"10.1145\/1029873.1029883"},{"key":"17_CR28","doi-asserted-by":"crossref","unstructured":"Hogg, J.: Islands: Aliasing protection in object-oriented languages. In: OOPSLA (1991)","DOI":"10.1145\/117954.117975"},{"issue":"3","key":"17_CR29","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/503502.503505","volume":"23","author":"A. Igarashi","year":"2001","unstructured":"Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight java: a minimal core calculus for java and GJ. ACM Trans. Program. Lang. Syst.\u00a023(3), 396\u2013450 (2001)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"17_CR30","doi-asserted-by":"crossref","unstructured":"Kobayashi, N.: Quasi-linear types. In: POPL, pp. 29\u201342 (1999)","DOI":"10.1145\/292540.292546"},{"key":"17_CR31","volume-title":"The Java Virtual Machine Specification","author":"T. Lindholm","year":"1996","unstructured":"Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)"},{"key":"17_CR32","doi-asserted-by":"crossref","unstructured":"M\u00fcller, P., Rudich, A.: Ownership transfer in universe types. In: OOPSLA (2007)","DOI":"10.1145\/1297027.1297061"},{"key":"17_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"158","DOI":"10.1007\/BFb0054091","volume-title":"ECOOP \u201998 - Object-Oriented Programming","author":"J. Noble","year":"1998","unstructured":"Noble, J., Vitek, J., Potter, J.: Flexible alias protection. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol.\u00a01445, pp. 158\u2013185. Springer, Heidelberg (1998)"},{"key":"17_CR34","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"390","DOI":"10.1007\/3-540-55253-7_23","volume-title":"ESOP \u201992","author":"M. Odersky","year":"1992","unstructured":"Odersky, M.: Observers for linear types. In: Krieg-Br\u00fcckner, B. (ed.) ESOP 1992. LNCS, vol.\u00a0582, pp. 390\u2013407. Springer, Heidelberg (1992)"},{"key":"17_CR35","volume-title":"Programming in Scala","author":"M. Odersky","year":"2008","unstructured":"Odersky, M., Spoon, L., Venners, B.: Programming in Scala. Artima Press, Mountain View (2008)"},{"key":"17_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-44802-0_1","volume-title":"Computer Science Logic","author":"P.W. O\u2019Hearn","year":"2001","unstructured":"O\u2019Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol.\u00a02142, pp. 1\u201319. Springer, Heidelberg (2001)"},{"key":"17_CR37","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1145\/1328438.1328451","volume-title":"POPL","author":"M.J. Parkinson","year":"2008","unstructured":"Parkinson, M.J., Bierman, G.M.: Separation logic, abstraction and inheritance. In: POPL, pp. 75\u201386. ACM, New York (2008)"},{"key":"17_CR38","volume-title":"Types and Programming Languages","author":"B.C. Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)"},{"key":"17_CR39","doi-asserted-by":"crossref","unstructured":"Spring, J.H., Privat, J., Guerraoui, R., Vitek, J.: Streamflex: high-throughput stream programming in java. In: OOPSLA, pp. 211\u2013228 (2007)","DOI":"10.1145\/1297027.1297043"},{"key":"17_CR40","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"104","DOI":"10.1007\/978-3-540-70592-5_6","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"S. Srinivasan","year":"2008","unstructured":"Srinivasan, S., Mycroft, A.: Kilim: Isolation-typed actors for java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol.\u00a05142, pp. 104\u2013128. Springer, Heidelberg (2008)"},{"key":"17_CR41","doi-asserted-by":"crossref","unstructured":"Strnisa, R., Sewell, P., Parkinson, M.J.: The java module system: core design and semantic definition. In: OOPSLA, pp. 499\u2013514 (2007)","DOI":"10.1145\/1297027.1297064"},{"issue":"2","key":"17_CR42","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. Inf. Comput.\u00a0132(2), 109\u2013176 (1997)","journal-title":"Inf. Comput."},{"key":"17_CR43","unstructured":"Wadler, P.: Linear types can change the world! In: Programming Concepts and Methods, IFIP TC 2 Working Conference, Israel (1990)"},{"issue":"4","key":"17_CR44","doi-asserted-by":"publisher","first-page":"701","DOI":"10.1145\/363911.363923","volume":"22","author":"D. Walker","year":"2000","unstructured":"Walker, D., Crary, K., Morrisett, J.G.: Typed memory management via static capabilities. ACM Trans. Program. Lang. Syst.\u00a022(4), 701\u2013771 (2000)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"17_CR45","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1007\/3-540-45332-6_7","volume-title":"Types in Compilation","author":"D. Walker","year":"2001","unstructured":"Walker, D., Morrisett, J.G.: Alias types for recursive data structures. In: Harper, R. (ed.) TIC 2000. LNCS, vol.\u00a02071, pp. 177\u2013206. Springer, Heidelberg (2001)"},{"key":"17_CR46","unstructured":"Walker, D., Watkins, K.: On regions and linear types. In: ICFP (2001)"},{"issue":"1","key":"17_CR47","doi-asserted-by":"publisher","first-page":"38","DOI":"10.1006\/inco.1994.1093","volume":"115","author":"A.K. Wright","year":"1994","unstructured":"Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Inf. Comput.\u00a0115(1), 38\u201394 (1994)","journal-title":"Inf. Comput."},{"key":"17_CR48","unstructured":"Wrigstad, T.: Ownership-Based Alias Managemant. PhD thesis, KTH, Sweden (2006)"},{"key":"17_CR49","doi-asserted-by":"crossref","unstructured":"Wrigstad, T., Clarke, D.: Existential owners for ownership types. Journal of Object Technology\u00a06(4) (2007)","DOI":"10.5381\/jot.2007.6.4.a5"},{"key":"17_CR50","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"445","DOI":"10.1007\/978-3-642-03013-0_21","volume-title":"ECOOP 2009","author":"T. Wrigstad","year":"2009","unstructured":"Wrigstad, T., Pizlo, F., Meawad, F., Zhao, L., Vitek, J.: Loci: Simple thread-locality for java. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol.\u00a05653, pp. 445\u2013469. Springer, Heidelberg (2009)"},{"key":"17_CR51","doi-asserted-by":"crossref","unstructured":"Yonezawa, A., Briot, J.-P., Shibayama, E.: Object-oriented concurrent programming in ABCL\/1. In: OOPSLA, pp. 258\u2013268 (1986)","DOI":"10.1145\/960112.28722"},{"key":"17_CR52","first-page":"241","volume-title":"RTSS","author":"T. Zhao","year":"2004","unstructured":"Zhao, T., Noble, J., Vitek, J.: Scoped types for real-time java. In: RTSS, pp. 241\u2013251. IEEE Computer Society, Los Alamitos (2004)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2010 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-14107-2_17.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,27]],"date-time":"2024-03-27T21:23:54Z","timestamp":1711574634000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-14107-2_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642141065","9783642141072"],"references-count":52,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-14107-2_17","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010]]}}}