{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T04:20:30Z","timestamp":1743049230833,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":23,"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_22","type":"book-chapter","created":{"date-parts":[[2009,7,30]],"date-time":"2009-07-30T10:30:01Z","timestamp":1248949801000},"page":"470-494","source":"Crossref","is-referenced-by-count":14,"title":["Failboxes: Provably Safe Exception Handling"],"prefix":"10.1007","author":[{"given":"Bart","family":"Jacobs","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Frank","family":"Piessens","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"22_CR1","unstructured":"Armstrong, J.: Making reliable distributed systems in the presence of software errors. PhD thesis, Royal Institute of Technology, Stockholm, Sweden (2003)"},{"key":"22_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"364","DOI":"10.1007\/11804192_17","volume-title":"Formal Methods for Components and Objects","author":"M. Barnett","year":"2006","unstructured":"Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: A modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol.\u00a04111, pp. 364\u2013387. Springer, Heidelberg (2006)"},{"issue":"10","key":"22_CR3","doi-asserted-by":"publisher","first-page":"111","DOI":"10.5381\/jot.2007.6.10.a4","volume":"6","author":"P.J. Brooke","year":"2007","unstructured":"Brooke, P.J., Paige, R.F.: Exceptions in Concurrent Eiffel. Journal of Object Technology\u00a06(10), 111\u2013126 (2007)","journal-title":"Journal of Object Technology"},{"key":"22_CR4","doi-asserted-by":"crossref","unstructured":"Dony, C.: Exception handling and object-oriented programming: a synthesis. In: Proc. OOPSLA (1990)","DOI":"10.1145\/97945.97984"},{"key":"22_CR5","unstructured":"Fetzer, C., H\u00f6gstedt, K., Felber, P.: Automatic detection and masking of non-atomic exception handling. In: Proc. Intl. Conf. Dependable Systems and Networks (DSN) (2003)"},{"key":"22_CR6","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: Proc. PLDI, pp. 234\u2013245 (2002)","DOI":"10.1145\/512529.512558"},{"key":"22_CR7","doi-asserted-by":"crossref","unstructured":"Flatt, M., Findler, R.B.: Kill-safe synchronization abstractions. In: Proc. PLDI (2004)","DOI":"10.1145\/996841.996849"},{"key":"22_CR8","doi-asserted-by":"crossref","unstructured":"Flatt, M., Findler, R.B., Krishnamurthi, S., Felleisen, M.: Programming languages as operating systems (or Revenge of the son of the Lisp machine). In: Proc. Intl. Conf. on Functional Programming (ICFP) (1999)","DOI":"10.1145\/317636.317793"},{"issue":"2","key":"22_CR9","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1016\/S0164-1212(01)00062-0","volume":"59","author":"A.F. Garcia","year":"2001","unstructured":"Garcia, A.F., Rubira, C.M.F., Romanovsky, A.B., Xu, J.: A comparative study of exception handling mechanisms for building dependable object-oriented software. Journal of Systems and Software\u00a059(2), 197\u2013222 (2001)","journal-title":"Journal of Systems and Software"},{"key":"22_CR10","volume-title":"The Java Language Specification","author":"J. Gosling","year":"2005","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Prentice Hall PTR, Englewood Cliffs (2005)","edition":"3"},{"key":"22_CR11","doi-asserted-by":"crossref","unstructured":"Hawblitzel, C., von Eicken, T.: Luna: a flexible Java protection system. In: Proc. OSDI (2002)","DOI":"10.1145\/1060289.1060325"},{"key":"22_CR12","unstructured":"Jacobs, B., Piessens, F.: Failboxes: Prototype implementations, prototype verifier, machine-checked metatheory (July 2008), http:\/\/www.cs.kuleuven.be\/~bartj\/failboxes"},{"key":"22_CR13","doi-asserted-by":"crossref","unstructured":"Jacobs, B., M\u00fcller, P., Piessens, F.: Sound reasoning about unchecked exceptions. In: Proc. ICFEM (2007)","DOI":"10.1109\/SEFM.2007.36"},{"key":"22_CR14","volume-title":"The Java Virtual Machine Specification","author":"T. Lindholm","year":"1999","unstructured":"Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999), http:\/\/java.sun.com\/docs\/books\/jvms\/","edition":"2"},{"issue":"6","key":"22_CR15","doi-asserted-by":"publisher","first-page":"546","DOI":"10.1109\/TSE.1979.230191","volume":"5","author":"B. Liskov","year":"1979","unstructured":"Liskov, B., Snyder, A.: Exception handling in CLU. IEEE Trans. Software Eng.\u00a05(6), 546\u2013558 (1979)","journal-title":"IEEE Trans. Software Eng."},{"key":"22_CR16","doi-asserted-by":"crossref","unstructured":"Marlow, S., Jones, S.P., Moran, A., Reppy, J.: Asynchronous exceptions in Haskell. In: Proc. PLDI (2001)","DOI":"10.1145\/378795.378858"},{"key":"22_CR17","volume-title":"Eiffel: The Language","author":"B. Meyer","year":"1992","unstructured":"Meyer, B.: Eiffel: The Language. Prentice-Hall, Englewood Cliffs (1992)"},{"key":"22_CR18","unstructured":"Rudys, A., Clements, J., Wallach, D.S.: Termination in language-based systems. In: Network and Distributed System Security Symposium (NDSS) (February 2001)"},{"key":"22_CR19","doi-asserted-by":"crossref","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. In: Proc. PODC, pp. 204\u2013213 (1995)","DOI":"10.1145\/224964.224987"},{"key":"22_CR20","doi-asserted-by":"crossref","unstructured":"Shore, J.: Fail fast. IEEE Software (September 2004)","DOI":"10.1109\/MS.2004.1331296"},{"key":"22_CR21","unstructured":"Toub, S.: Keep your code running with the reliability features of the.NET Framework. MSDN Magazine (October 2005)"},{"key":"22_CR22","doi-asserted-by":"crossref","unstructured":"Weimer, W., Necula, G.C.: Finding and preventing run-time error handling mistakes. In: Proc. OOPSLA, pp. 419\u2013431 (October 2004)","DOI":"10.1145\/1028976.1029011"},{"key":"22_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"518","DOI":"10.1007\/978-3-540-24851-4_24","volume-title":"ECOOP 2004 \u2013 Object-Oriented Programming","author":"A. Welc","year":"2004","unstructured":"Welc, A., Jagannathan, S., Hosking, A.L.: Transactional monitors for concurrent objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 518\u2013541. Springer, Heidelberg (2004)"}],"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_22","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,21]],"date-time":"2019-05-21T15:52:21Z","timestamp":1558453941000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03013-0_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030123","9783642030130"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03013-0_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}