{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,9]],"date-time":"2026-06-09T08:45:42Z","timestamp":1780994742132,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":18,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540221593","type":"print"},{"value":"9783540248514","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-24851-4_21","type":"book-chapter","created":{"date-parts":[[2010,8,8]],"date-time":"2010-08-08T20:36:03Z","timestamp":1281299763000},"page":"465-490","source":"Crossref","is-referenced-by-count":128,"title":["Typestates for Objects"],"prefix":"10.1007","author":[{"given":"Robert","family":"DeLine","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Manuel","family":"F\u00e4hndrich","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"21_CR1","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: [18]","DOI":"10.1145\/512529.512558"},{"key":"21_CR2","first-page":"157","volume":"12","author":"R.E. Strom","year":"1986","unstructured":"Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE TSE\u00a012, 157\u2013171 (1986)","journal-title":"IEEE TSE"},{"key":"21_CR3","doi-asserted-by":"crossref","unstructured":"DeLine, R., F\u00e4hndrich, M.: Enforcing high-level protocols in low-level software. In: Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 59\u201369 (2001)","DOI":"10.1145\/378795.378811"},{"key":"21_CR4","doi-asserted-by":"crossref","unstructured":"F\u00e4hndrich, M., DeLine, R.: Adoption and focus: Practical linear types for imperative programming. In: [18] 13\u201324","DOI":"10.1145\/543552.512532"},{"key":"21_CR5","series-title":"Texts and Monographs in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4612-2704-5","volume-title":"Larch: Languages and Tools for Formal Specification","author":"J.V. Guttag","year":"1993","unstructured":"Guttag, J.V., Horning, J.J.: Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer, Heidelberg (1993)"},{"key":"21_CR6","unstructured":"DeLine, R., F\u00e4hndrich, M.: The Fugue protocol checker: Is your software Baroque? Technical Report MSR-TR-2004-07, Microsoft Research (2004), http:\/\/research.microsoft.com\/~maf\/fugue"},{"key":"21_CR7","doi-asserted-by":"crossref","unstructured":"Smith, F., Walker, D., Morrisett, J.G.: Alias types. In: European Symposium on Programming, pp. 366\u2013381 (2000)","DOI":"10.1007\/3-540-46425-5_24"},{"key":"21_CR8","doi-asserted-by":"crossref","unstructured":"Walker, D., Morrisett, G.: Alias types for recursive data structures. In: Proceedings of the 4th Workshop on Types in Compilation (2000)","DOI":"10.1007\/3-540-45332-6_7"},{"key":"21_CR9","doi-asserted-by":"crossref","unstructured":"Tofte, M., Talpin, J.P.: Implementation of the typed call-by-value \u03bb-calculus using a stack of regions. In: Conference Record of the 21st Annual ACM Symposium on Principles of Programming Languages, pp. 188\u2013201 (1994)","DOI":"10.1145\/174675.177855"},{"key":"21_CR10","volume-title":"Conference Record of the 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"K. Crary","year":"1999","unstructured":"Crary, K., Walker, D., Morrisett, G.: Typed memory management in a calculus of capabilities. In: Conference Record of the 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, New York (1999)"},{"key":"21_CR11","unstructured":"Wadler, P.: Linear types can change the world! In: Broy, M., Jones, C. (eds.) Programming Concepts and Methods, IFIP TC 2 Working Conference (1990)"},{"key":"21_CR12","doi-asserted-by":"publisher","first-page":"533","DOI":"10.1002\/spe.370","volume":"31","author":"J. Boyland","year":"2001","unstructured":"Boyland, J.: Alias burying: Unique variables without destructive reads. Software\u2014 Practice and Experience\u00a031, 533\u2013553 (2001)","journal-title":"Software\u2014 Practice and Experience"},{"key":"21_CR13","doi-asserted-by":"crossref","unstructured":"Kuncak, V., Lam, P., Rinard, M.: Role analysis. In: Conference Record of the 29th Annual ACM Symposium on Principles of Programming Languages (2002)","DOI":"10.1145\/503272.503276"},{"key":"21_CR14","unstructured":"Detlefs, D.L., Leino, K.R.M., Nelson, G., Saxe, J.B.: Extended static checking. Research Report 159, Compaq Systems Research Center (1998)"},{"key":"21_CR15","unstructured":"Leino, K.R.M., Stata, R.: Checking object invariants. Technical Report #1997-007, DEC SRC, Palo Alto, USA (1997)"},{"key":"21_CR16","doi-asserted-by":"publisher","first-page":"1811","DOI":"10.1145\/197320.197383","volume":"16","author":"B.H. Liskov","year":"1994","unstructured":"Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems\u00a016, 1811\u20131841 (1994)","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"21_CR17","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1002\/(SICI)1096-9942(1998)4:1<27::AID-TAPO3>3.0.CO;2-4","volume":"4","author":"D. R\u00e9my","year":"1998","unstructured":"R\u00e9my, D., Vouillon, J.: Objective ML: an effective object-oriented extension to ML. Theory and Practice of Object Systems\u00a04, 27\u201350 (1998)","journal-title":"Theory and Practice of Object Systems"},{"key":"21_CR18","unstructured":"Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (2002)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2004 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-24851-4_21.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,19]],"date-time":"2020-11-19T04:57:48Z","timestamp":1605761868000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-24851-4_21"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540221593","9783540248514"],"references-count":18,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-24851-4_21","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004]]}}}