{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:38:11Z","timestamp":1742913491974,"version":"3.40.3"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030852474"},{"type":"electronic","value":"9783030852481"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-85248-1_5","type":"book-chapter","created":{"date-parts":[[2021,8,18]],"date-time":"2021-08-18T23:04:46Z","timestamp":1629327886000},"page":"67-84","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Modular Transformation of Java Exceptions Modulo Errors"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5638-5945","authenticated-orcid":false,"given":"Robert","family":"Rubbens","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7544-447X","authenticated-orcid":false,"given":"Sophie","family":"Lathouwers","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4467-072X","authenticated-orcid":false,"given":"Marieke","family":"Huisman","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,8,19]]},"reference":[{"doi-asserted-by":"publisher","unstructured":"Ahrendt, W., Beckert, B., Bubel, R., H\u00e4hnle, R., Schmitt, P.H., Ulbrich, M.: Deductive Software Verification - The KeY Book. LNCS, vol. 10001. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-49812-6","key":"5_CR1","DOI":"10.1007\/978-3-319-49812-6"},{"doi-asserted-by":"publisher","unstructured":"Amighi, A., Blom, S., Huisman, M., Zaharieva-Stojanovski, M.: The VerCors project: setting up basecamp. In: Proceedings of the Sixth PLPV Workshop. ACM (2012). https:\/\/doi.org\/10.1145\/2103776.2103785","key":"5_CR2","DOI":"10.1145\/2103776.2103785"},{"unstructured":"Bicalho de P\u00e1dua, G.: Studying and Assisting the Practice of Java and C# Exception Handling. Masters, Concordia University, February 2018","key":"5_CR3"},{"unstructured":"Black Duck Open Hub: The Apache Hadoop Open Source Project on Open Hub: Languages Page (2018). https:\/\/www.openhub.net\/p\/Hadoop\/analyses\/latest\/languages_summary","key":"5_CR4"},{"unstructured":"Black Duck Open Hub: The Apache Tomcat Open Source Project on Open Hub: Languages Page (2018). https:\/\/www.openhub.net\/p\/tomcat\/analyses\/latest\/languages_summary","key":"5_CR5"},{"doi-asserted-by":"publisher","unstructured":"Blom, S., Darabi, S., Huisman, M., Oortwijn, W.: The VerCors tool set: verification of parallel and concurrent software. In: iFM, vol. 10510, pp. 102\u2013110 (2017). https:\/\/doi.org\/10.1007\/978-3-319-66845-1_7","key":"5_CR6","DOI":"10.1007\/978-3-319-66845-1_7"},{"doi-asserted-by":"publisher","unstructured":"Cok, D.R.: OpenJML: software verification for Java 7 using JML, OpenJDK, and Eclipse. EPTCS (2014). https:\/\/doi.org\/10.4204\/EPTCS.149.8","key":"5_CR7","DOI":"10.4204\/EPTCS.149.8"},{"doi-asserted-by":"publisher","unstructured":"Distefano, D., Parkinson, M.J.: jStar: towards practical verification for Java. In: Proceedings of the 23rd ACM SIGPLAN OOPSLA Conference. ACM (2008). https:\/\/doi.org\/10.1145\/1449764.1449782","key":"5_CR8","DOI":"10.1145\/1449764.1449782"},{"doi-asserted-by":"publisher","unstructured":"Dyer, R., Nguyen, H.A., Rajan, H., Nguyen, T.N.: Boa: a language and infrastructure for analyzing ultra-large-scale software repositories. In: 2013 35th ICSE. IEEE (2013). https:\/\/doi.org\/10.1109\/icse.2013.6606588","key":"5_CR9","DOI":"10.1109\/icse.2013.6606588"},{"unstructured":"Eilers, M.: Shortened github link to code-level documentation of get\\_finally\\_var method (2021). https:\/\/edu.nl\/8a9qe","key":"5_CR10"},{"doi-asserted-by":"publisher","unstructured":"Fragoso Santos, J., Maksimovi\u0107, P., Naud\u017ei\u00fcnien\u0117, D., Wood, T., Gardner, P.: JaVerT: JavaScript verification toolchain. In: Proceedings of the ACM Programming Language 2(POPL) (2017). https:\/\/doi.org\/10.1145\/3158138","key":"5_CR11","DOI":"10.1145\/3158138"},{"unstructured":"Freund, S.N.: The costs and benefits of Java bytecode subroutines. In: Formal Underpinnings of Java Workshop at OOPSLA 98 (1998)","key":"5_CR12"},{"unstructured":"Gillian Team: Gillian - a multi-language platform for compositional symbolic analysis (2020). https:\/\/gillianplatform.github.io\/","key":"5_CR13"},{"unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java language specification, Java SE 7th edn. (2000)","key":"5_CR14"},{"unstructured":"Gosling, J., et al.: The Java language specification, Java SE 16th edn. (2021)","key":"5_CR15"},{"key":"5_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"345","DOI":"10.1007\/978-3-319-91908-9_18","volume-title":"Computing and Software Science","author":"R H\u00e4hnle","year":"2019","unstructured":"H\u00e4hnle, R., Huisman, M.: Deductive Software Verification: From Pen-and-Paper Proofs to Industrial Tools. Springer (2019)"},{"key":"5_CR17","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2009.24","author":"J Hamilton","year":"2009","unstructured":"Hamilton, J., Danicic, S.: An evaluation of current java bytecode decompilers. In: Ninth IEEE SCAM (2009). DOI: 10.1109\/SCAM.2009.24","journal-title":"Ninth IEEE SCAM"},{"unstructured":"Jacobs, B.: Verifast & Java\u2019s \u201cfinally\u201d clause (2020). https:\/\/groups.google.com\/forum\/#!topic\/verifast\/56uhVmdERwA","key":"5_CR18"},{"key":"5_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"304","DOI":"10.1007\/978-3-642-17164-2_21","volume-title":"Programming Languages and Systems","author":"B Jacobs","year":"2010","unstructured":"Jacobs, B., Smans, J., Piessens, F.: A Quick Tour of the VeriFast Program Verifier. In: Programming Languages and Systems, vol. 6461. Springer (2010). https:\/\/doi.org\/10.1007\/978-3-642-17164-2_21"},{"doi-asserted-by":"publisher","unstructured":"Kery, M.B., Le Goues, C., Myers, B.A.: Examining programmer practices for locally handling exceptions. In: Proceedings of the 13th MSR Conference. ACM (2016). https:\/\/doi.org\/10.1145\/2901739.2903497","key":"5_CR20","DOI":"10.1145\/2901739.2903497"},{"unstructured":"Leavens, G.T., et al.: JML reference manual (2008). https:\/\/www.cs.ucf.edu\/~leavens\/JML\/jmlrefman\/jmlrefman_toc.html","key":"5_CR21"},{"doi-asserted-by":"publisher","unstructured":"March\u00e9, C., Paulin-Mohring, C., Urbain, X.: The Krakatoa tool for certification of Java\/JavaCard programs annotated in JML. Journal of Logic and Algebraic Programming 58, 89-106 (2004). https:\/\/doi.org\/10.1016\/j.jlap.2003.07.006","key":"5_CR22","DOI":"10.1016\/j.jlap.2003.07.006"},{"key":"5_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1007\/978-3-540-78800-3_24","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"L de Moura","year":"2008","unstructured":"de Moura, L., Bj\u00f8rner, N.: Z3: an efficient smt solver. In: TACAS. Springer (2008)"},{"key":"5_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-662-49122-5_2","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"P M\u00fcller","year":"2016","unstructured":"M\u00fcller, P., Schwerhoff, M., Summers, A.J.: Viper: A verification infrastructure for permission-based reasoning. In: VMCAI. Springer (2016)"},{"doi-asserted-by":"publisher","unstructured":"Nakshatri, S., Hegde, M., Thandra, S.: Analysis of exception handling patterns in java projects: an empirical study. In: Proceedings of the 13th MSR Conference (2016). https:\/\/doi.org\/10.1145\/2901739.2903499","key":"5_CR25","DOI":"10.1145\/2901739.2903499"},{"doi-asserted-by":"publisher","unstructured":"O\u2019Hearn, P.: Separation logic. Commun. ACM 62 (2019). https:\/\/doi.org\/10.1145\/3211968","key":"5_CR26","DOI":"10.1145\/3211968"},{"doi-asserted-by":"publisher","unstructured":"Osman, H., Chi\u015f, A., Schaerer, J., Ghafari, M., Nierstrasz, O.: On the evolution of exception usage in Java projects. In: 2017 IEEE 24th SANER Conference (2017). https:\/\/doi.org\/10.1109\/SANER.2017.7884646","key":"5_CR27","DOI":"10.1109\/SANER.2017.7884646"},{"key":"5_CR28","first-page":"2130","volume":"13","author":"P Purohit","year":"2018","unstructured":"Purohit, P., Tokekar, V.: An investigation of exception handling practices in.NET and Java environments. Int. J. Appl. Eng. Res. 13, 2130\u20132140 (2018)","journal-title":"Int. J. Appl. Eng. Res."},{"unstructured":"Rubbens, R.: Improving support for Java exceptions and inheritance in VerCors. Master\u2019s thesis, University of Twente (2020). https:\/\/essay.utwente.nl\/81338\/","key":"5_CR29"},{"doi-asserted-by":"publisher","unstructured":"Rubbens, R.: Modular Transformation of Java Exceptions Modulo Errors: accompanying package (2021). https:\/\/doi.org\/10.4121\/14905251","key":"5_CR30","DOI":"10.4121\/14905251"},{"doi-asserted-by":"publisher","unstructured":"Sena, D., Coelho, R., Kulesza, U., Bonif\u00e1cio, R.: Understanding the exception handling strategies of Java libraries: an empirical study. In: Proceedings of the 13th MSR Conference. ACM (2016). https:\/\/doi.org\/10.1145\/2901739.2901757","key":"5_CR31","DOI":"10.1145\/2901739.2901757"},{"key":"5_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"279","DOI":"10.1007\/978-3-319-66845-1_18","volume-title":"Integrated Formal Methods","author":"D Steinh\u00f6fel","year":"2017","unstructured":"Steinh\u00f6fel, D., Wasser, N.: A New Invariant Rule for the Analysis of Loops with Non-standard Control Flows. In: IFM, vol. 10510. Springer (2017). https:\/\/doi.org\/10.1007\/978-3-319-66845-1_18"},{"doi-asserted-by":"publisher","unstructured":"Vall\u00e9e-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V.: Soot: a java bytecode optimization framework. CASCON First Decade High Impact Papers (2010). https:\/\/doi.org\/10.1145\/1925805.1925818","key":"5_CR33","DOI":"10.1145\/1925805.1925818"},{"unstructured":"VerCors Team: VerCors homepage (2020). https:\/\/vercors.ewi.utwente.nl\/","key":"5_CR34"}],"container-title":["Lecture Notes in Computer Science","Formal Methods for Industrial Critical Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-85248-1_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,8,18]],"date-time":"2021-08-18T23:15:13Z","timestamp":1629328513000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-85248-1_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030852474","9783030852481"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-85248-1_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"19 August 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FMICS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Formal Methods for Industrial Critical Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Paris","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 August 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 August 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fmics2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/qonfest2021.lacl.fr\/index.php","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"31","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"32% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Conference was held online due to COVID-19 pandemic","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}