{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,2]],"date-time":"2025-12-02T15:06:51Z","timestamp":1764688011449,"version":"3.40.5"},"publisher-location":"Cham","reference-count":33,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031171079"},{"type":"electronic","value":"9783031171086"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-17108-6_13","type":"book-chapter","created":{"date-parts":[[2022,9,21]],"date-time":"2022-09-21T13:04:15Z","timestamp":1663765455000},"page":"209-226","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Information Flow Control-by-Construction for\u00a0an\u00a0Object-Oriented Language"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9154-7743","authenticated-orcid":false,"given":"Tobias","family":"Runge","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8804-7051","authenticated-orcid":false,"given":"Alexander","family":"Kittelmann","sequence":"additional","affiliation":[]},{"given":"Marco","family":"Servetto","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4242-2725","authenticated-orcid":false,"given":"Alex","family":"Potanin","sequence":"additional","affiliation":[]},{"given":"Ina","family":"Schaefer","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,10,1]]},"reference":[{"key":"13_CR1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139195881","volume-title":"Modeling in Event-B - System and Software Engineering","author":"J Abrial","year":"2010","unstructured":"Abrial, J.: Modeling in Event-B - System and Software Engineering. Cambridge University Press, Cambridge (2010)"},{"issue":"6","key":"13_CR2","doi-asserted-by":"publisher","first-page":"447","DOI":"10.1007\/s10009-010-0145-y","volume":"12","author":"JR Abrial","year":"2010","unstructured":"Abrial, J.R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. Int. J. Softw. Tools Technol. Transfer 12(6), 447\u2013466 (2010)","journal-title":"Int. J. Softw. Tools Technol. Transfer"},{"key":"13_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1007\/978-3-540-27864-1_10","volume-title":"Static Analysis","author":"T Amtoft","year":"2004","unstructured":"Amtoft, T., Banerjee, A.: Information flow analysis in logical form. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 100\u2013115. Springer, Heidelberg (2004). https:\/\/doi.org\/10.1007\/978-3-540-27864-1_10"},{"key":"13_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"229","DOI":"10.1007\/978-3-540-68237-0_17","volume-title":"Formal Methods","author":"T Amtoft","year":"2008","unstructured":"Amtoft, T., Hatcliff, J., Rodr\u00edguez, E.: Specification and checking of software contracts for conditional information flow. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 229\u2013245. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-68237-0_17"},{"issue":"1","key":"13_CR5","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1145\/357084.357088","volume":"2","author":"GR Andrews","year":"1980","unstructured":"Andrews, G.R., Reitman, R.P.: An axiomatic approach to information flow in programs. ACM Trans. Program. Langu. Syst. (TOPLAS) 2(1), 56\u201376 (1980)","journal-title":"ACM Trans. Program. Langu. Syst. (TOPLAS)"},{"issue":"3","key":"13_CR6","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1007\/s00165-008-0070-y","volume":"21","author":"RJ Back","year":"2009","unstructured":"Back, R.J.: Invariant based programming: basic approach and teaching experiences. Formal Aspects Comput. 21(3), 227\u2013244 (2009)","journal-title":"Formal Aspects Comput."},{"key":"13_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1007\/978-3-540-73770-4_4","volume-title":"Tests and Proofs","author":"R-J Back","year":"2007","unstructured":"Back, R.-J., Eriksson, J., Myreen, M.: Testing and verifying invariant based programs in the SOCOS environment. In: Gurevich, Y., Meyer, B. (eds.) TAP 2007. LNCS, vol. 4454, pp. 61\u201378. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-73770-4_4"},{"key":"13_CR8","volume-title":"Refinement Calculus: A Systematic Introduction","author":"RJ Back","year":"2012","unstructured":"Back, R.J., Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (2012)"},{"key":"13_CR9","unstructured":"Banerjee, A., Naumann, D.A.: Secure information flow and pointer confinement in a Java-like language. In: Computer Security Foundations Workshop, vol. 2, p. 253 (2002)"},{"key":"13_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-540-71316-6_10","volume-title":"Programming Languages and Systems","author":"G Barthe","year":"2007","unstructured":"Barthe, G., Pichardie, D., Rezk, T.: A certified lightweight non-interference Java bytecode verifier. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 125\u2013140. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-71316-6_10"},{"key":"13_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1007\/10705424_4","volume-title":"Functional and Logic Programming","author":"G Barthe","year":"1999","unstructured":"Barthe, G., Serpette, B.P.: Partial evaluation and non-interference for object calculi. In: Middeldorp, A., Sato, T. (eds.) FLOPS 1999. LNCS, vol. 1722, pp. 53\u201367. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/10705424_4"},{"key":"13_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1007\/978-3-031-08166-8_5","volume-title":"The Logic of Software. A Tasting Menu of Formal Methods","author":"T Bordis","year":"2022","unstructured":"Bordis, T., Cleophas, L., Kittelmann, A., Runge, T., Schaefer, I., Watson, B.W.: Re-CorC-ing KeY: correct-by-construction software development based on KeY. In: Ahrendt, W., Beckert, B., Bubel, R., Johnsen, E.B. (eds.) The Logic of Software. A Tasting Menu of Formal Methods. LNCS, vol. 13360, pp. 80\u2013104. Springer, Cham (2022). https:\/\/doi.org\/10.1007\/978-3-031-08166-8_5"},{"key":"13_CR13","doi-asserted-by":"publisher","first-page":"145","DOI":"10.1016\/j.tcs.2018.09.001","volume":"764","author":"P Giannini","year":"2019","unstructured":"Giannini, P., Servetto, M., Zucca, E., Cone, J.: Flexible recovery of uniqueness and immutability. Theor. Comput. Sci. 764, 145\u2013172 (2019)","journal-title":"Theor. Comput. Sci."},{"key":"13_CR14","unstructured":"Goldberg, A., Robson, D.: Smalltalk-80: The Language and its Implementation. Addison-Wesley Longman Publishing Co., Inc. (1983)"},{"issue":"1","key":"13_CR15","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1109\/52.976937","volume":"19","author":"A Hall","year":"2002","unstructured":"Hall, A., Chapman, R.: Correctness by construction: developing a commercial secure system. IEEE Softw. 19(1), 18\u201325 (2002)","journal-title":"IEEE Softw."},{"issue":"1","key":"13_CR16","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1023\/B:AUSE.0000049208.84702.84","volume":"12","author":"RJ Hall","year":"2005","unstructured":"Hall, R.J.: Fundamental nonmodularity in electronic mail. Autom. Softw. Eng. 12(1), 41\u201379 (2005)","journal-title":"Autom. Softw. Eng."},{"issue":"3","key":"13_CR17","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. (TOPLAS) 23(3), 396\u2013450 (2001)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"13_CR18","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-27919-5","volume-title":"The Correctness-by-Construction Approach to Programming","author":"DG Kourie","year":"2012","unstructured":"Kourie, D.G., Watson, B.W.: The Correctness-by-Construction Approach to Programming. Springer, Heidelberg (2012)"},{"key":"13_CR19","volume-title":"Programming from Specifications","author":"C Morgan","year":"1994","unstructured":"Morgan, C.: Programming from Specifications, 2nd edn. Prentice Hall, Hoboken (1994)","edition":"2"},{"key":"13_CR20","doi-asserted-by":"crossref","unstructured":"Myers, A.C.: JFlow: practical mostly-static information flow control. In: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 228\u2013241. ACM (1999)","DOI":"10.1145\/292540.292561"},{"issue":"1","key":"13_CR21","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1007\/s00165-007-0052-5","volume":"21","author":"M Oliveira","year":"2009","unstructured":"Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for circus. Formal Aspects Comput. 21(1), 3\u201332 (2009)","journal-title":"Formal Aspects Comput."},{"issue":"1","key":"13_CR22","doi-asserted-by":"publisher","first-page":"28","DOI":"10.1007\/s00165-003-0003-8","volume":"15","author":"MVM Oliveira","year":"2003","unstructured":"Oliveira, M.V.M., Cavalcanti, A., Woodcock, J.: ArcAngel: a tactic language for refinement. Formal Aspects Comput. 15(1), 28\u201347 (2003)","journal-title":"Formal Aspects Comput."},{"key":"13_CR23","doi-asserted-by":"crossref","unstructured":"Oliveira, M.V.M., Gurgel, A.C., Castro, C.G.: CRefine: support for the circus refinement calculus. In: 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods, pp. 281\u2013290. IEEE (2008)","DOI":"10.1109\/SEFM.2008.9"},{"key":"13_CR24","doi-asserted-by":"crossref","unstructured":"Runge, T., Kittelmann, A., Servetto, M., Potanin, A., Schaefer, I.: Information flow control-by-construction for an object-oriented language using type modifiers (2022). https:\/\/arxiv.org\/abs\/2208.02672","DOI":"10.1007\/978-3-031-17108-6_13"},{"key":"13_CR25","doi-asserted-by":"crossref","unstructured":"Runge, T., Kn\u00fcppel, A., Th\u00fcm, T., Schaefer, I.: Lattice-based information flow control-by-construction for security-by-design. In: Proceedings of the 8th International Conference on Formal Methods in Software Engineering (2020)","DOI":"10.1145\/3372020.3391565"},{"key":"13_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"25","DOI":"10.1007\/978-3-030-16722-6_2","volume-title":"Fundamental Approaches to Software Engineering","author":"T Runge","year":"2019","unstructured":"Runge, T., Schaefer, I., Cleophas, L., Th\u00fcm, T., Kourie, D., Watson, B.W.: Tool support for correctness-by-construction. In: H\u00e4hnle, R., van der Aalst, W. (eds.) FASE 2019. LNCS, vol. 11424, pp. 25\u201342. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-16722-6_2"},{"key":"13_CR27","doi-asserted-by":"crossref","unstructured":"Runge, T., Servetto, M., Potanin, A., Schaefer, I.: Immutability and Encapsulation for Sound OO Information Flow Control (2022, under review)","DOI":"10.1145\/3573270"},{"issue":"1","key":"13_CR28","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1109\/JSAC.2002.806121","volume":"21","author":"A Sabelfeld","year":"2003","unstructured":"Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE J. Sel. Areas Commun. 21(1), 5\u201319 (2003)","journal-title":"IEEE J. Sel. Areas Commun."},{"key":"13_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"502","DOI":"10.1007\/978-3-030-03418-4_30","volume-title":"Leveraging Applications of Formal Methods, Verification and Validation. Modeling","author":"I Schaefer","year":"2018","unstructured":"Schaefer, I., Runge, T., Kn\u00fcppel, A., Cleophas, L., Kourie, D., Watson, B.W.: Towards confidentiality-by-construction. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 502\u2013515. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-030-03418-4_30"},{"key":"13_CR30","unstructured":"Strecker, M.: Formal analysis of an information flow type system for MicroJava. Technische Universit\u00e4t M\u00fcnchen, Technical report (2003)"},{"key":"13_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"84","DOI":"10.1007\/978-3-540-27864-1_9","volume-title":"Static Analysis","author":"Q Sun","year":"2004","unstructured":"Sun, Q., Banerjee, A., Naumann, D.A.: Modular and constraint-based information flow inference for an object-oriented language. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 84\u201399. Springer, Heidelberg (2004). https:\/\/doi.org\/10.1007\/978-3-540-27864-1_9"},{"key":"13_CR32","doi-asserted-by":"crossref","unstructured":"Th\u00fcm, T., Schaefer, I., Apel, S., Hentschel, M.: Family-based deductive verification of software product lines. In: Proceedings of the 11th International Conference on Generative Programming and Component Engineering, pp. 11\u201320 (2012)","DOI":"10.1145\/2371401.2371404"},{"key":"13_CR33","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1016\/j.entcs.2009.12.027","volume":"259","author":"F Zeyda","year":"2009","unstructured":"Zeyda, F., Oliveira, M., Cavalcanti, A.: Supporting ArcAngel in ProofPower. Electron. Notes Theor. Comput. Sci. 259, 225\u2013243 (2009)","journal-title":"Electron. Notes Theor. Comput. Sci."}],"container-title":["Lecture Notes in Computer Science","Software Engineering and Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-17108-6_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,19]],"date-time":"2024-03-19T17:04:07Z","timestamp":1710867847000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-17108-6_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031171079","9783031171086"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-17108-6_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"1 October 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SEFM","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Software Engineering and Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Berlin","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Germany","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 September 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 September 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sefm2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/sefm-conference.github.io\/2022\/","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":"39","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":"19","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":"9","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":"49% - 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":"2","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)"}}]}}