Igloo: soundly linking compositional refinement and separation logic for distributed system verification

Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on the abstract...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of ACM on programming languages Ročník 4; číslo OOPSLA; s. 1 - 31
Hlavní autori: Sprenger, Christoph, Klenze, Tobias, Eilers, Marco, Wolf, Felix A., Müller, Peter, Clochard, Martin, Basin, David
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: New York, NY, USA ACM 13.11.2020
Predmet:
ISSN:2475-1421, 2475-1421
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on the abstract system specifications due to their limited expressiveness or versatility, or on the executable code due to their use of suboptimal code extraction or inexpressive program logics. We propose a novel methodology that combines the compositional refinement of event-based models of distributed systems with the verification of full-fledged program code using expressive separation logics, which support features of realistic programming languages like heap data structures and concurrency. Our main technical contribution is a formal framework that soundly relates event-based system models to program specifications in separation logics. This enables protocol development tools to soundly interoperate with program verifiers to establish a refinement between the model and the code. We formalized our framework, Igloo, in Isabelle/HOL. We report on three case studies, a leader election protocol, a replication protocol, and a security protocol, for which we refine formal requirements into program specifications that we implement in Java and Python and prove correct using the VeriFast and Nagini tools.
AbstractList Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on the abstract system specifications due to their limited expressiveness or versatility, or on the executable code due to their use of suboptimal code extraction or inexpressive program logics. We propose a novel methodology that combines the compositional refinement of event-based models of distributed systems with the verification of full-fledged program code using expressive separation logics, which support features of realistic programming languages like heap data structures and concurrency. Our main technical contribution is a formal framework that soundly relates event-based system models to program specifications in separation logics. This enables protocol development tools to soundly interoperate with program verifiers to establish a refinement between the model and the code. We formalized our framework, Igloo, in Isabelle/HOL. We report on three case studies, a leader election protocol, a replication protocol, and a security protocol, for which we refine formal requirements into program specifications that we implement in Java and Python and prove correct using the VeriFast and Nagini tools.
ArticleNumber 152
Author Sprenger, Christoph
Eilers, Marco
Müller, Peter
Clochard, Martin
Klenze, Tobias
Wolf, Felix A.
Basin, David
Author_xml – sequence: 1
  givenname: Christoph
  surname: Sprenger
  fullname: Sprenger, Christoph
  email: christoph.sprenger@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 2
  givenname: Tobias
  surname: Klenze
  fullname: Klenze, Tobias
  email: tobias.klenze@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 3
  givenname: Marco
  surname: Eilers
  fullname: Eilers, Marco
  email: marco.eilers@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 4
  givenname: Felix A.
  surname: Wolf
  fullname: Wolf, Felix A.
  email: felix.wolf@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 5
  givenname: Peter
  surname: Müller
  fullname: Müller, Peter
  email: peter.mueller@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 6
  givenname: Martin
  surname: Clochard
  fullname: Clochard, Martin
  email: martin.clochard@inf.ethz.ch
  organization: ETH Zurich, Switzerland
– sequence: 7
  givenname: David
  surname: Basin
  fullname: Basin, David
  email: basin@inf.ethz.ch
  organization: ETH Zurich, Switzerland
BookMark eNpt0MtLAzEQBvAgFay1ePeUm6fVJJt9xJsUHwXBi56X2exsjWaTkqRC_3v7UkQ8zcD3Yxi-UzJy3iEh55xdcS6L61yKWgh2RMZCVkXGpeCjX_sJmcb4zhjjKpd1rsbkbb6w3t_Q6Feus2tqjfswbkG1H5Y-mmS8A0sD9sbhgC5RcB2NuIQA24xavzCa9j7QzsQUTLtKuAHrmHCgnxhMb_ROnpHjHmzE6WFOyOv93cvsMXt6fpjPbp8yEFWVMoWgOauqupBStbKFPtcdU8hAKqbLvq1ZrSoQRVlWWLBWACohe4HQ1ViXLJ-QbH9XBx_j5vFGm7T7IAUwtuGs2TbVHJra-Ms_fhnMAGH9j7zYS9DDD_oOvwCU63Pn
CitedBy_id crossref_primary_10_3233_JCS_220021
crossref_primary_10_1145_3485512
crossref_primary_10_14778_3718057_3718065
crossref_primary_10_1145_3571220
crossref_primary_10_1145_3494517
crossref_primary_10_1145_3632851
Cites_doi 10.1145/3158116
10.1007/978-3-662-54434-1_5
10.1145/1629575.1629596
10.1007/978-3-642-15260-3
10.1145/2854065.2854081
10.1017/CBO9781139195881
10.1007/978-3-642-20398-5_4
10.1007/978-3-642-36742-7_15
10.1007/978-3-642-28891-3_2
10.1145/3371119
10.1007/978-3-319-89884-1_22
10.1109/LICS.2002.1029817
10.1145/2837614.2837650
10.5281/zenodo.4039826
10.1007/3-540-45949-9
10.1145/2837614.2837622
10.1006/inco.1995.1134
10.1109/CSFW.1997.596782
10.1007/978-3-030-55754-6_2
10.1145/3110261
10.1007/978-3-319-67080-5
10.3233/JCS-16814
10.1007/978-3-642-00590-9_27
10.1145/2984043.2998388
10.1007/978-3-642-25271-6_7
10.1007/978-3-319-96145-3_33
10.1007/978-3-642-17511-4_20
10.1007/978-3-540-71999-1
10.1007/978-3-540-45213-3_4
10.1016/0304-3975(91)90224-P
10.1145/2737924.2737958
10.1007/978-3-540-78800-3_24
10.1145/1040305.1040326
10.1007/978-3-030-34968-4_22
10.1145/359104.359108
10.1145/3293880.3294106
10.1145/1111037.1111042
10.1145/177492.177726
10.1007/978-3-030-44914-8_16
10.1007/978-3-642-39799-8_54
10.1007/s10817-018-9457-5
10.1007/978-3-662-46669-8_7
10.1145/2815400.2815428
10.1109/TIT.1983.1056650
10.1007/978-3-662-49122-5_2
10.1007/978-3-642-11294-2_2
10.1145/2837614.2837655
ContentType Journal Article
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
DBID AAYXX
CITATION
DOI 10.1145/3428220
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 31
ExternalDocumentID 10_1145_3428220
3428220
GroupedDBID AAKMM
AAYFX
ACM
ADPZR
AIKLT
ALMA_UNASSIGNED_HOLDINGS
GUFHI
LHSKQ
M~E
OK1
ROL
AAYXX
AEFXT
AEJOY
AKRVB
CITATION
ID FETCH-LOGICAL-a277t-9eac107785449b4baf3cd09e0a490c6fb80897a25667e50b2ae924f2ead8e8603
ISICitedReferencesCount 17
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000685203900029&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2475-1421
IngestDate Tue Nov 18 21:01:40 EST 2025
Sat Nov 29 07:49:09 EST 2025
Fri Feb 21 01:11:52 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue OOPSLA
Keywords higher-order logic
security protocols
leader election
fault-tolerance
tool interoperability
separation logic
compositional refinement
distributed systems
end-to-end verification
Language English
License This work is licensed under a Creative Commons Attribution International 4.0 License.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a277t-9eac107785449b4baf3cd09e0a490c6fb80897a25667e50b2ae924f2ead8e8603
OpenAccessLink https://dl.acm.org/doi/10.1145/3428220
PageCount 31
ParticipantIDs crossref_citationtrail_10_1145_3428220
crossref_primary_10_1145_3428220
acm_primary_3428220
PublicationCentury 2000
PublicationDate 2020-11-13
PublicationDateYYYYMMDD 2020-11-13
PublicationDate_xml – month: 11
  year: 2020
  text: 2020-11-13
  day: 13
PublicationDecade 2020
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationTitle Proceedings of ACM on programming languages
PublicationTitleAbbrev ACM PACMPL
PublicationYear 2020
Publisher ACM
Publisher_xml – name: ACM
References Marco Eilers and Peter Müller. 2018. Nagini: A Static Verifier for Python. In Computer Aided Verification-30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 10981 ), Hana Chockler and Georg Weissenbacher (Eds.). Springer, 596-603. https://doi.org/10.1007/978-3-319-96145-3_33 10.1007/978-3-319-96145-3_33
Xavier Leroy. 2006. Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, January 11-13, 2006, J. Gregory Morrisett and Simon L. Peyton Jones (Eds.). ACM, 42-54. https://doi.org/10.1145/1111037.1111042 10.1145/1111037.1111042
Wytse Oortwijn and Marieke Huisman. 2019. Practical Abstractions for Automated Verification of Message Passing Concurrency. In Integrated Formal Methods-15th International Conference, IFM 2019, Bergen, Norway, December 2-6, 2019, Proceedings (Lecture Notes in Computer Science, Vol. 11918 ), Wolfgang Ahrendt and Silvia Lizeth Tapia Tarifa (Eds.). Springer, 399-417. https://doi.org/10.1007/978-3-030-34968-4_22 10.1007/978-3-030-34968-4_22
Jean-Raymond Abrial. 2010. Modeling in Event-B-System and Software Engineering. Cambridge University Press. https: //doi.org/10.1017/CBO9781139195881 10.1017/CBO9781139195881
Adrian Perrig, Pawel Szalachowski, Raphael M. Reischuk, and Laurent Chuat. 2017. SCION: A Secure Internet Architecture. Springer. https://doi.org/10.1007/978-3-319-67080-5 10.1007/978-3-319-67080-5
Ilya Sergey, James R. Wilcox, and Zachary Tatlock. 2018. Programming and proving with distributed protocols. PACMPL 2, POPL ( 2018 ), 28 : 1-28 : 30. https://doi.org/10.1145/3158116 10.1145/3158116
Vincent Rahli, Ivana Vukotic, Marcus Völp, and Paulo Jorge Esteves Veríssimo. 2018. Velisarios: Byzantine Fault-Tolerant Protocols Powered by Coq. In Programming Languages and Systems-27th European Symposium on Programming, ESOP 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings (Lecture Notes in Computer Science, Vol. 10801 ), Amal Ahmed (Ed.). Springer, 619-650. https://doi.org/10.1007/978-3-319-89884-1_22 10.1007/978-3-319-89884-1_22
Nicolas Koh, Yao Li, Yishuai Li, Li-yao Xia, Lennart Beringer, Wolf Honoré, William Mansky, Benjamin C. Pierce, and Steve Zdancewic. 2019. From C to interaction trees: specifying, verifying, and testing a networked server. In Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2019, Cascais, Portugal, January 14-15, 2019, Assia Mahboubi and Magnus O. Myreen (Eds.). ACM, 234-248. https://doi.org/10.1145/3293880.3294106 10.1145/3293880.3294106
Leslie Lamport. 1994. The Temporal Logic of Actions. ACM Trans. Program. Lang. Syst. 16, 3 ( 1994 ), 872-923. https: //doi.org/10.1145/177492.177726 10.1145/177492.177726
Bart Jacobs, Jan Smans, Pieter Philippaerts, Frédéric Vogels, Willem Penninckx, and Frank Piessens. 2011. VeriFast: A Powerful, Sound, Predictable, Fast Verifier for C and Java. In NASA Formal Methods-Third International Symposium, NFM 2011, Pasadena, CA, USA, April 18-20, 2011. Proceedings (Lecture Notes in Computer Science, Vol. 6617 ), Mihaela Gheorghiu Bobaru, Klaus Havelund, Gerard J. Holzmann, and Rajeev Joshi (Eds.). Springer, 41-55. https://doi.org/10.1007/978-3-642-20398-5_4 10.1007/978-3-642-20398-5_4
Christoph Sprenger, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller, Martin Clochard, and David Basin. 2020b. Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification (Artifact). https://doi.org/10.5281/zenodo.4039826 10.5281/zenodo.4039826
Leonardo Mendonça de Moura and Nikolaj Bjørner. 2008. Z3: An Eficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings (Lecture Notes in Computer Science, Vol. 4963 ), C. R. Ramakrishnan and Jakob Rehof (Eds.). Springer, 337-340. https: //doi.org/10.1007/978-3-540-78800-3_24 10.1007/978-3-540-78800-3_24
Christian Cachin, Rachid Guerraoui, and Luís E. T. Rodrigues. 2011. Introduction to Reliable and Secure Distributed Programming (2. ed.). Springer. https://doi.org/10.1007/978-3-642-15260-3 10.1007/978-3-642-15260-3
Qinxiang Cao, Lennart Beringer, Samuel Gruetter, Josiah Dodds, and Andrew W. Appel. 2018. VST-Floyd: A Separation Logic Tool to Verify Correctness of C Programs. J. Autom. Reasoning 61, 1-4 ( 2018 ), 367-422. https://doi.org/10.1007/s10817-018-9457-5 10.1007/s10817-018-9457-5
Christoph Sprenger and David A. Basin. 2018. Refining security protocols. Journal of Computer Security 26, 1 ( 2018 ), 71-120. https://doi.org/10.3233/JCS-16814 10.3233/JCS-16814
Robbert van Renesse and Rachid Guerraoui. 2010. Replication Techniques for Availability. In Replication: Theory and Practice (Lecture Notes in Computer Science, Vol. 5959 ), Bernadette Charron-Bost, Fernando Pedone, and André Schiper (Eds.). Springer, 19-40. https://doi.org/10.1007/978-3-642-11294-2_2 10.1007/978-3-642-11294-2_2
Jasmin Christian Blanchette, Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, and Dmitriy Traytel. 2017. Friends with Benefits-Implementing Corecursion in Foundational Proof Assistants. In Programming Languages and Systems-26th European Symposium on Programming, ESOP 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22-29, 2017, Proceedings (Lecture Notes in Computer Science, Vol. 10201 ), Hongseok Yang (Ed.). Springer, 111-140. https://doi.org/10.1007/978-3-662-54434-1_5 10.1007/978-3-662-54434-1_5
Danny Dolev and Andrew Chi-Chih Yao. 1983. On the security of public key protocols. IEEE Trans. Information Theory 29, 2 ( 1983 ), 198-207. https://doi.org/10.1109/TIT. 1983.1056650 10.1109/TIT.1983.1056650
Renato Silva and Michael J. Butler. 2010. Shared Event Composition/Decomposition in Event-B. In Formal Methods for Components and Objects-9th International Symposium, FMCO 2010, Graz, Austria, November 29-December 1, 2010. Revised Papers (Lecture Notes in Computer Science, Vol. 6957 ), Bernhard K. Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). Springer, 122-141. https://doi.org/10.1007/978-3-642-25271-6_7 10.1007/978-3-642-25271-6_7
Benjamin C. Pierce. 2016. The science of deep specification (keynote). In Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH 2016, Amsterdam, Netherlands, October 30-November 4, 2016, Eelco Visser (Ed.). ACM, 1. https://doi.org/10.1145/2984043. 2998388 10.1145/2984043.2998388
Chris Hawblitzel, Jon Howell, Jacob R. Lorch, Arjun Narayan, Bryan Parno, Danfeng Zhang, and Brian Zill. 2014. Ironclad Apps: End-to-End Security via Automated Full-System Verification. In Operating Systems Design and Implementation (OSDI), Jason Flinn and Hank Levy (Eds.). USENIX Association, 165-181.
William Mansky, Wolf Honoré, and Andrew W. Appel. 2020. Connecting Higher-Order Separation Logic to a FirstOrder Outside World. In Programming Languages and Systems-29th European Symposium on Programming, ESOP 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25-30, 2020, Proceedings (Lecture Notes in Computer Science, Vol. 12075 ), Peter Müller (Ed.). Springer, 428-455. https://doi.org/10.1007/978-3-030-44914-8_16 10.1007/978-3-030-44914-8_16
Andrew W. Appel. 2012. Verified Software Toolchain. In NASA Formal Methods-4th International Symposium, NFM 2012, Norfolk, VA, USA, April 3-5, 2012. Proceedings. 2. https://doi.org/10.1007/978-3-642-28891-3_2 10.1007/978-3-642-28891-3_2
Ernest J. H. Chang and Rosemary Roberts. 1979. An Improved Algorithm for Decentralized Extrema-Finding in Circular Configurations of Processes. Commun. ACM 22, 5 ( 1979 ), 281-283. https://doi.org/10.1145/359104.359108 10.1145/359104.359108
K. Rustan M. Leino and Peter Müller. 2009. A Basis for Verifying Multi-threaded Programs. In Programming Languages and Systems, 18th European Symposium on Programming, ESOP 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings (Lecture Notes in Computer Science, Vol. 5502 ), Giuseppe Castagna (Ed.). Springer, 378-393. https://doi.org/10.1007/978-3-642-00590-9_27 10.1007/978-3-642-00590-9_27
Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, and Steve Zdancewic. 2020. Interaction trees: representing recursive and impure programs in Coq. Proc. ACM Program. Lang. 4, POPL ( 2020 ), 51 : 1-51 : 32. https://doi.org/10.1145/3371119 10.1145/3371119
Nancy A. Lynch and Frits W. Vaandrager. 1995. Forward and Backward Simulations: I. Untimed Systems. Inf. Comput. 121, 2 ( 1995 ), 214-233. https://doi.org/10.1006/inco. 1995.1134 10.1006/inco.1995.1134
Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, and Thomas E. Anderson. 2016. Planning for change in a formal verification of the Raft consensus protocol. In Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, Saint Petersburg, FL, USA, January 20-22, 2016, Jeremy Avigad and Adam Chlipala (Eds.). ACM, 154-165. https://doi.org/10.1145/2854065.2854081 10.1145/2854065.2854081
Cezara Dragoi, Thomas A. Henzinger, and Damien Zuferey. 2016. PSync: a partially synchronous language for fault-tolerant distributed algorithms. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersbur
e_1_2_2_4_1
e_1_2_2_24_1
e_1_2_2_49_1
e_1_2_2_6_1
e_1_2_2_22_1
e_1_2_2_20_1
e_1_2_2_2_1
e_1_2_2_41_1
e_1_2_2_8_1
e_1_2_2_28_1
e_1_2_2_45_1
e_1_2_2_26_1
e_1_2_2_47_1
e_1_2_2_13_1
e_1_2_2_38_1
e_1_2_2_11_1
e_1_2_2_30_1
e_1_2_2_19_1
e_1_2_2_32_1
e_1_2_2_17_1
e_1_2_2_34_1
e_1_2_2_36_1
e_1_2_2_25_1
e_1_2_2_48_1
e_1_2_2_5_1
e_1_2_2_23_1
e_1_2_2_7_1
e_1_2_2_21_1
e_1_2_2_1_1
e_1_2_2_3_1
e_1_2_2_40_1
e_1_2_2_42_1
e_1_2_2_9_1
e_1_2_2_29_1
e_1_2_2_44_1
e_1_2_2_27_1
e_1_2_2_46_1
Hawblitzel Chris (e_1_2_2_15_1) 2014
e_1_2_2_14_1
e_1_2_2_37_1
e_1_2_2_12_1
e_1_2_2_39_1
e_1_2_2_10_1
e_1_2_2_31_1
e_1_2_2_18_1
e_1_2_2_33_1
Sprenger Christoph (e_1_2_2_43_1) 2020
e_1_2_2_16_1
e_1_2_2_35_1
References_xml – reference: Jonathan Protzenko, Jean Karim Zinzindohoué, Aseem Rastogi, Tahina Ramananandro, Peng Wang, Santiago Zanella Béguelin, Antoine Delignat-Lavaud, Catalin Hritcu, Karthikeyan Bhargavan, Cédric Fournet, and Nikhil Swamy. 2017. Verified low-level programming embedded in F. PACMPL 1, ICFP ( 2017 ), 17 : 1-17 : 29. https://doi.org/10.1145/3110261 10.1145/3110261
– reference: Gavin Lowe. 1997. A Hierarchy of Authentication Specification. In 10th Computer Security Foundations Workshop (CSFW '97), June 10-12, 1997, Rockport, Massachusetts, USA. IEEE Computer Society, 31-44. https://doi.org/10.1109/CSFW. 1997.596782 10.1109/CSFW.1997.596782
– reference: Vincent Rahli, Ivana Vukotic, Marcus Völp, and Paulo Jorge Esteves Veríssimo. 2018. Velisarios: Byzantine Fault-Tolerant Protocols Powered by Coq. In Programming Languages and Systems-27th European Symposium on Programming, ESOP 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings (Lecture Notes in Computer Science, Vol. 10801 ), Amal Ahmed (Ed.). Springer, 619-650. https://doi.org/10.1007/978-3-319-89884-1_22 10.1007/978-3-319-89884-1_22
– reference: Si Liu, Atul Sandur, José Meseguer, Peter Csaba Ölveczky, and Qi Wang. 2020. Generating Correct-by-Construction Distributed Implementations from Formal Maude Designs. In NASA Formal Methods-12th International Symposium, NFM 2020, Mofett Field, CA, USA, May 11-15, 2020, Proceedings (Lecture Notes in Computer Science, Vol. 12229 ), Ritchie Lee, Susmit Jha, and Anastasia Mavridou (Eds.). Springer, 22-40. https://doi.org/10.1007/978-3-030-55754-6_2 10.1007/978-3-030-55754-6_2
– reference: Nicolas Koh, Yao Li, Yishuai Li, Li-yao Xia, Lennart Beringer, Wolf Honoré, William Mansky, Benjamin C. Pierce, and Steve Zdancewic. 2019. From C to interaction trees: specifying, verifying, and testing a networked server. In Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2019, Cascais, Portugal, January 14-15, 2019, Assia Mahboubi and Magnus O. Myreen (Eds.). ACM, 234-248. https://doi.org/10.1145/3293880.3294106 10.1145/3293880.3294106
– reference: Marco Eilers and Peter Müller. 2018. Nagini: A Static Verifier for Python. In Computer Aided Verification-30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 10981 ), Hana Chockler and Georg Weissenbacher (Eds.). Springer, 596-603. https://doi.org/10.1007/978-3-319-96145-3_33 10.1007/978-3-319-96145-3_33
– reference: John C. Reynolds. 2002. Separation Logic: A Logic for Shared Mutable Data Structures. In 17th IEEE Symposium on Logic in Computer Science (LICS 2002 ), 22-25 July 2002, Copenhagen, Denmark, Proceedings. IEEE Computer Society, 55-74. https://doi.org/10.1109/LICS. 2002.1029817 10.1109/LICS.2002.1029817
– reference: Andrew W. Appel. 2012. Verified Software Toolchain. In NASA Formal Methods-4th International Symposium, NFM 2012, Norfolk, VA, USA, April 3-5, 2012. Proceedings. 2. https://doi.org/10.1007/978-3-642-28891-3_2 10.1007/978-3-642-28891-3_2
– reference: Cezara Dragoi, Thomas A. Henzinger, and Damien Zuferey. 2016. PSync: a partially synchronous language for fault-tolerant distributed algorithms. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20-22, 2016, Rastislav Bodík and Rupak Majumdar (Eds.). ACM, 400-415. https://doi.org/10.1145/2837614.2837650 10.1145/2837614.2837650
– reference: Tobias Nipkow, Lawrence C. Paulson, and Markus Wenzel. 2002. Isabelle/HOL-A Proof Assistant for Higher-Order Logic. Lecture Notes in Computer Science, Vol. 2283. Springer. https://doi.org/10.1007/3-540-45949-9 10.1007/3-540-45949-9
– reference: William Mansky, Wolf Honoré, and Andrew W. Appel. 2020. Connecting Higher-Order Separation Logic to a FirstOrder Outside World. In Programming Languages and Systems-29th European Symposium on Programming, ESOP 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25-30, 2020, Proceedings (Lecture Notes in Computer Science, Vol. 12075 ), Peter Müller (Ed.). Springer, 428-455. https://doi.org/10.1007/978-3-030-44914-8_16 10.1007/978-3-030-44914-8_16
– reference: Matthew J. Parkinson and Gavin M. Bierman. 2005. Separation logic and abstraction. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005, Jens Palsberg and Martín Abadi (Eds.). ACM, 247-258. https://doi.org/10.1145/1040305.1040326 10.1145/1040305.1040326
– reference: Mohsen Lesani, Christian J. Bell, and Adam Chlipala. 2016. Chapar: certified causally consistent distributed key-value stores. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20-22, 2016, Rastislav Bodík and Rupak Majumdar (Eds.). ACM, 357-370. https://doi.org/10.1145/2837614.2837622 10.1145/2837614.2837622
– reference: Manuel Clavel, Francisco Durán, Steven Eker, Patrick Lincoln, Narciso Martí-Oliet, José Meseguer, and Carolyn L. Talcott (Eds.). 2007. All About Maude-A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic. Lecture Notes in Computer Science, Vol. 4350. Springer. https://doi.org/10.1007/978-3-540-71999-1 10.1007/978-3-540-71999-1
– reference: Qinxiang Cao, Lennart Beringer, Samuel Gruetter, Josiah Dodds, and Andrew W. Appel. 2018. VST-Floyd: A Separation Logic Tool to Verify Correctness of C Programs. J. Autom. Reasoning 61, 1-4 ( 2018 ), 367-422. https://doi.org/10.1007/s10817-018-9457-5 10.1007/s10817-018-9457-5
– reference: Jean-Raymond Abrial. 2010. Modeling in Event-B-System and Software Engineering. Cambridge University Press. https: //doi.org/10.1017/CBO9781139195881 10.1017/CBO9781139195881
– reference: C. A. R. Hoare. 2003. The Verifying Compiler: A Grand Challange for Computing Research. In Modular Programming Languages, Joint Modular Languages Conference, JMLC 2003, Klagenfurt, Austria, August 25-27, 2003, Proceedings (Lecture Notes in Computer Science, Vol. 2789 ), László Böszörményi and Peter Schojer (Eds.). Springer, 25-35. https://doi.org/10. 1007/978-3-540-45213-3_4 10.1007/978-3-540-45213-3_4
– reference: Adrian Perrig, Pawel Szalachowski, Raphael M. Reischuk, and Laurent Chuat. 2017. SCION: A Secure Internet Architecture. Springer. https://doi.org/10.1007/978-3-319-67080-5 10.1007/978-3-319-67080-5
– reference: Danny Dolev and Andrew Chi-Chih Yao. 1983. On the security of public key protocols. IEEE Trans. Information Theory 29, 2 ( 1983 ), 198-207. https://doi.org/10.1109/TIT. 1983.1056650 10.1109/TIT.1983.1056650
– reference: Jasmin Christian Blanchette, Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, and Dmitriy Traytel. 2017. Friends with Benefits-Implementing Corecursion in Foundational Proof Assistants. In Programming Languages and Systems-26th European Symposium on Programming, ESOP 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22-29, 2017, Proceedings (Lecture Notes in Computer Science, Vol. 10201 ), Hongseok Yang (Ed.). Springer, 111-140. https://doi.org/10.1007/978-3-662-54434-1_5 10.1007/978-3-662-54434-1_5
– reference: Christian Cachin, Rachid Guerraoui, and Luís E. T. Rodrigues. 2011. Introduction to Reliable and Secure Distributed Programming (2. ed.). Springer. https://doi.org/10.1007/978-3-642-15260-3 10.1007/978-3-642-15260-3
– reference: Bart Jacobs, Jan Smans, Pieter Philippaerts, Frédéric Vogels, Willem Penninckx, and Frank Piessens. 2011. VeriFast: A Powerful, Sound, Predictable, Fast Verifier for C and Java. In NASA Formal Methods-Third International Symposium, NFM 2011, Pasadena, CA, USA, April 18-20, 2011. Proceedings (Lecture Notes in Computer Science, Vol. 6617 ), Mihaela Gheorghiu Bobaru, Klaus Havelund, Gerard J. Holzmann, and Rajeev Joshi (Eds.). Springer, 41-55. https://doi.org/10.1007/978-3-642-20398-5_4 10.1007/978-3-642-20398-5_4
– reference: Willem Penninckx, Bart Jacobs, and Frank Piessens. 2015. Sound, Modular and Compositional Verification of the Input/Output Behavior of Programs. In Programming Languages and Systems-24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings (Lecture Notes in Computer Science, Vol. 9032 ), Jan Vitek (Ed.). Springer, 158-182. https://doi.org/10.1007/978-3-662-46669-8_7 10.1007/978-3-662-46669-8_7
– reference: Martín Abadi and Leslie Lamport. 1991. The Existence of Refinement Mappings. Theor. Comput. Sci. 82, 2 ( 1991 ), 253-284. https://doi.org/10.1016/ 0304-3975 ( 91 ) 90224-P 10.1016/0304-3975(91)90224-P
– reference: Christoph Sprenger and David A. Basin. 2018. Refining security protocols. Journal of Computer Security 26, 1 ( 2018 ), 71-120. https://doi.org/10.3233/JCS-16814 10.3233/JCS-16814
– reference: Ernest J. H. Chang and Rosemary Roberts. 1979. An Improved Algorithm for Decentralized Extrema-Finding in Circular Configurations of Processes. Commun. ACM 22, 5 ( 1979 ), 281-283. https://doi.org/10.1145/359104.359108 10.1145/359104.359108
– reference: K. Rustan M. Leino. 2010. Dafny: An Automatic Program Verifier for Functional Correctness. In Logic for Programming, Artificial Intelligence, and Reasoning-16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1, 2010, Revised Selected Papers (Lecture Notes in Computer Science, Vol. 6355 ), Edmund M. Clarke and Andrei Voronkov (Eds.). Springer, 348-370. https://doi.org/10.1007/978-3-642-17511-4_20 10.1007/978-3-642-17511-4_20
– reference: Li-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, and Steve Zdancewic. 2020. Interaction trees: representing recursive and impure programs in Coq. Proc. ACM Program. Lang. 4, POPL ( 2020 ), 51 : 1-51 : 32. https://doi.org/10.1145/3371119 10.1145/3371119
– reference: Robbert van Renesse and Rachid Guerraoui. 2010. Replication Techniques for Availability. In Replication: Theory and Practice (Lecture Notes in Computer Science, Vol. 5959 ), Bernadette Charron-Bost, Fernando Pedone, and André Schiper (Eds.). Springer, 19-40. https://doi.org/10.1007/978-3-642-11294-2_2 10.1007/978-3-642-11294-2_2
– reference: Leonardo Mendonça de Moura and Nikolaj Bjørner. 2008. Z3: An Eficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings (Lecture Notes in Computer Science, Vol. 4963 ), C. R. Ramakrishnan and Jakob Rehof (Eds.). Springer, 337-340. https: //doi.org/10.1007/978-3-540-78800-3_24 10.1007/978-3-540-78800-3_24
– reference: Sjoerd Cranen, Jan Friso Groote, Jeroen J. A. Keiren, Frank P. M. Stappers, Erik P. de Vink, Wieger Wesselink, and Tim A. C. Willemse. 2013. An Overview of the mCRL2 Toolset and Its Recent Advances. In Tools and Algorithms for the Construction and Analysis of Systems-19th International Conference, TACAS 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 7795 ), Nir Piterman and Scott A. Smolka (Eds.). Springer, 199-213. https://doi.org/10.1007/978-3-642-36742-7_15 10.1007/978-3-642-36742-7_15
– reference: Chris Hawblitzel, Jon Howell, Jacob R. Lorch, Arjun Narayan, Bryan Parno, Danfeng Zhang, and Brian Zill. 2014. Ironclad Apps: End-to-End Security via Automated Full-System Verification. In Operating Systems Design and Implementation (OSDI), Jason Flinn and Hank Levy (Eds.). USENIX Association, 165-181.
– reference: James R. Wilcox, Doug Woos, Pavel Panchekha, Zachary Tatlock, Xi Wang, Michael D. Ernst, and Thomas E. Anderson. 2015. Verdi: a framework for implementing and formally verifying distributed systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, USA, June 15-17, 2015, David Grove and Steve Blackburn (Eds.). ACM, 357-368. https://doi.org/10.1145/2737924.2737958 10.1145/2737924.2737958
– reference: Renato Silva and Michael J. Butler. 2010. Shared Event Composition/Decomposition in Event-B. In Formal Methods for Components and Objects-9th International Symposium, FMCO 2010, Graz, Austria, November 29-December 1, 2010. Revised Papers (Lecture Notes in Computer Science, Vol. 6957 ), Bernhard K. Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). Springer, 122-141. https://doi.org/10.1007/978-3-642-25271-6_7 10.1007/978-3-642-25271-6_7
– reference: Leslie Lamport. 1994. The Temporal Logic of Actions. ACM Trans. Program. Lang. Syst. 16, 3 ( 1994 ), 872-923. https: //doi.org/10.1145/177492.177726 10.1145/177492.177726
– reference: Wytse Oortwijn and Marieke Huisman. 2019. Practical Abstractions for Automated Verification of Message Passing Concurrency. In Integrated Formal Methods-15th International Conference, IFM 2019, Bergen, Norway, December 2-6, 2019, Proceedings (Lecture Notes in Computer Science, Vol. 11918 ), Wolfgang Ahrendt and Silvia Lizeth Tapia Tarifa (Eds.). Springer, 399-417. https://doi.org/10.1007/978-3-030-34968-4_22 10.1007/978-3-030-34968-4_22
– reference: Ilya Sergey, James R. Wilcox, and Zachary Tatlock. 2018. Programming and proving with distributed protocols. PACMPL 2, POPL ( 2018 ), 28 : 1-28 : 30. https://doi.org/10.1145/3158116 10.1145/3158116
– reference: Doug Woos, James R. Wilcox, Steve Anton, Zachary Tatlock, Michael D. Ernst, and Thomas E. Anderson. 2016. Planning for change in a formal verification of the Raft consensus protocol. In Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, Saint Petersburg, FL, USA, January 20-22, 2016, Jeremy Avigad and Adam Chlipala (Eds.). ACM, 154-165. https://doi.org/10.1145/2854065.2854081 10.1145/2854065.2854081
– reference: Nancy A. Lynch and Frits W. Vaandrager. 1995. Forward and Backward Simulations: I. Untimed Systems. Inf. Comput. 121, 2 ( 1995 ), 214-233. https://doi.org/10.1006/inco. 1995.1134 10.1006/inco.1995.1134
– reference: Benjamin C. Pierce. 2016. The science of deep specification (keynote). In Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH 2016, Amsterdam, Netherlands, October 30-November 4, 2016, Eelco Visser (Ed.). ACM, 1. https://doi.org/10.1145/2984043. 2998388 10.1145/2984043.2998388
– reference: Peter Müller, Malte Schwerhof, and Alexander J. Summers. 2016. Viper: A Verification Infrastructure for Permission-Based Reasoning. In Verification, Model Checking, and Abstract Interpretation-17th International Conference, VMCAI 2016, St. Petersburg, FL, USA, January 17-19, 2016. Proceedings. 41-62. https://doi.org/10.1007/978-3-662-49122-5_2 10.1007/978-3-662-49122-5_2
– reference: Ruzica Piskac, Thomas Wies, and Damien Zuferey. 2013. Automating Separation Logic Using SMT. In Computer Aided Verification-25th International Conference, CAV 2013, Saint Petersburg, Russia, July 13-19, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 8044 ), Natasha Sharygina and Helmut Veith (Eds.). Springer, 773-789. https://doi.org/10.1007/978-3-642-39799-8_54 10.1007/978-3-642-39799-8_54
– reference: Christoph Sprenger, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller, Martin Clochard, and David Basin. 2020a. Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed Systems Verification. CoRR abs/ 2010.04749 ( October 2020 ). arXiv: 2010.04749 http://arxiv.org/abs/ 2010.04749
– reference: Christoph Sprenger, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller, Martin Clochard, and David Basin. 2020b. Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification (Artifact). https://doi.org/10.5281/zenodo.4039826 10.5281/zenodo.4039826
– reference: K. Rustan M. Leino and Peter Müller. 2009. A Basis for Verifying Multi-threaded Programs. In Programming Languages and Systems, 18th European Symposium on Programming, ESOP 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings (Lecture Notes in Computer Science, Vol. 5502 ), Giuseppe Castagna (Ed.). Springer, 378-393. https://doi.org/10.1007/978-3-642-00590-9_27 10.1007/978-3-642-00590-9_27
– reference: Chris Hawblitzel, Jon Howell, Manos Kapritsos, Jacob R. Lorch, Bryan Parno, Michael L. Roberts, Srinath T. V. Setty, and Brian Zill. 2015. IronFleet: proving practical distributed systems correct. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP 2015, Monterey, CA, USA, October 4-7, 2015, Ethan L. Miller and Steven Hand (Eds.). ACM, 1-17. https://doi.org/10.1145/2815400.2815428 10.1145/2815400.2815428
– reference: Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, and Simon Winwood. 2009. seL4: formal verification of an OS kernel. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles 2009, SOSP 2009, Big Sky, Montana, USA, October 11-14, 2009, Jeanna Neefe Matthews and Thomas E. Anderson (Eds.). ACM, 207-220. https://doi.org/10.1145/1629575.1629596 10.1145/1629575.1629596
– reference: Xavier Leroy. 2006. Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, January 11-13, 2006, J. Gregory Morrisett and Simon L. Peyton Jones (Eds.). ACM, 42-54. https://doi.org/10.1145/1111037.1111042 10.1145/1111037.1111042
– reference: Nikhil Swamy, Catalin Hritcu, Chantal Keller, Aseem Rastogi, Antoine Delignat-Lavaud, Simon Forest, Karthikeyan Bhargavan, Cédric Fournet, Pierre-Yves Strub, Markulf Kohlweiss, Jean Karim Zinzindohoue, and Santiago Zanella Béguelin. 2016. Dependent types and multi-monadic efects in F ∗. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20-22, 2016, Rastislav Bodík and Rupak Majumdar (Eds.). ACM, 256-270. https://doi.org/10.1145/2837614.2837655 10.1145/2837614.2837655
– ident: e_1_2_2_40_1
  doi: 10.1145/3158116
– ident: e_1_2_2_4_1
  doi: 10.1007/978-3-662-54434-1_5
– ident: e_1_2_2_18_1
  doi: 10.1145/1629575.1629596
– ident: e_1_2_2_5_1
  doi: 10.1007/978-3-642-15260-3
– ident: e_1_2_2_48_1
  doi: 10.1145/2854065.2854081
– volume-title: Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed Systems Verification. CoRR abs/
  year: 2020
  ident: e_1_2_2_43_1
– ident: e_1_2_2_2_1
  doi: 10.1017/CBO9781139195881
– ident: e_1_2_2_17_1
  doi: 10.1007/978-3-642-20398-5_4
– ident: e_1_2_2_9_1
  doi: 10.1007/978-3-642-36742-7_15
– ident: e_1_2_2_3_1
  doi: 10.1007/978-3-642-28891-3_2
– ident: e_1_2_2_49_1
  doi: 10.1145/3371119
– ident: e_1_2_2_38_1
  doi: 10.1007/978-3-319-89884-1_22
– ident: e_1_2_2_39_1
  doi: 10.1109/LICS.2002.1029817
– ident: e_1_2_2_12_1
  doi: 10.1145/2837614.2837650
– ident: e_1_2_2_44_1
  doi: 10.5281/zenodo.4039826
– ident: e_1_2_2_30_1
  doi: 10.1007/3-540-45949-9
– ident: e_1_2_2_24_1
  doi: 10.1145/2837614.2837622
– ident: e_1_2_2_27_1
  doi: 10.1006/inco.1995.1134
– ident: e_1_2_2_26_1
  doi: 10.1109/CSFW.1997.596782
– ident: e_1_2_2_25_1
  doi: 10.1007/978-3-030-55754-6_2
– ident: e_1_2_2_37_1
  doi: 10.1145/3110261
– ident: e_1_2_2_34_1
  doi: 10.1007/978-3-319-67080-5
– ident: e_1_2_2_42_1
  doi: 10.3233/JCS-16814
– ident: e_1_2_2_22_1
  doi: 10.1007/978-3-642-00590-9_27
– ident: e_1_2_2_35_1
  doi: 10.1145/2984043.2998388
– ident: e_1_2_2_41_1
  doi: 10.1007/978-3-642-25271-6_7
– volume-title: Ironclad Apps: End-to-End Security via Automated Full-System Verification. In Operating Systems Design and Implementation (OSDI)
  year: 2014
  ident: e_1_2_2_15_1
– ident: e_1_2_2_13_1
  doi: 10.1007/978-3-319-96145-3_33
– ident: e_1_2_2_21_1
  doi: 10.1007/978-3-642-17511-4_20
– ident: e_1_2_2_8_1
  doi: 10.1007/978-3-540-71999-1
– ident: e_1_2_2_16_1
  doi: 10.1007/978-3-540-45213-3_4
– ident: e_1_2_2_1_1
  doi: 10.1016/0304-3975(91)90224-P
– ident: e_1_2_2_47_1
  doi: 10.1145/2737924.2737958
– ident: e_1_2_2_10_1
  doi: 10.1007/978-3-540-78800-3_24
– ident: e_1_2_2_32_1
  doi: 10.1145/1040305.1040326
– ident: e_1_2_2_31_1
  doi: 10.1007/978-3-030-34968-4_22
– ident: e_1_2_2_7_1
  doi: 10.1145/359104.359108
– ident: e_1_2_2_19_1
  doi: 10.1145/3293880.3294106
– ident: e_1_2_2_23_1
  doi: 10.1145/1111037.1111042
– ident: e_1_2_2_20_1
  doi: 10.1145/177492.177726
– ident: e_1_2_2_28_1
  doi: 10.1007/978-3-030-44914-8_16
– ident: e_1_2_2_36_1
  doi: 10.1007/978-3-642-39799-8_54
– ident: e_1_2_2_6_1
  doi: 10.1007/s10817-018-9457-5
– ident: e_1_2_2_33_1
  doi: 10.1007/978-3-662-46669-8_7
– ident: e_1_2_2_14_1
  doi: 10.1145/2815400.2815428
– ident: e_1_2_2_11_1
  doi: 10.1109/TIT.1983.1056650
– ident: e_1_2_2_29_1
  doi: 10.1007/978-3-662-49122-5_2
– ident: e_1_2_2_46_1
  doi: 10.1007/978-3-642-11294-2_2
– ident: e_1_2_2_45_1
  doi: 10.1145/2837614.2837655
SSID ssj0001934839
Score 2.3115163
Snippet Lighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement...
SourceID crossref
acm
SourceType Enrichment Source
Index Database
Publisher
StartPage 1
SubjectTerms Computer systems organization
Computing methodologies
Dependable and fault-tolerant systems and networks
Distributed algorithms
Distributed computing methodologies
Formal methods and theory of security
Higher order logic
Logic
Logic and verification
Security and privacy
Separation logic
Theory of computation
SubjectTermsDisplay Computer systems organization -- Dependable and fault-tolerant systems and networks
Computing methodologies -- Distributed computing methodologies -- Distributed algorithms
Security and privacy -- Formal methods and theory of security -- Logic and verification
Theory of computation -- Logic -- Higher order logic
Theory of computation -- Logic -- Logic and verification
Theory of computation -- Logic -- Separation logic
Title Igloo: soundly linking compositional refinement and separation logic for distributed system verification
URI https://dl.acm.org/doi/10.1145/3428220
Volume 4
WOSCitedRecordID wos000685203900029&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELaWwoELjwJiy0M-IC6rFMdx4pjbqqICiW1XapF6W8WOU1ZKk6q7VFsO_Cx-H-NHnLAgAQcu0cqyvZHn03yfnfEMQq_ilGtaqizKJMg3VikeCVkClktFq4ylhaSu2AQ_OsrPzsR8NPre3YW5rnnT5JuNuPyvpoY2MLa5OvsP5g6TQgP8BqPDE8wOz78y_IfzujWTTFamYlJ9M_HlEWz0uA_Rstn8KxCYIcR8pV0ScACD9YY2_LA0WXVNQSxQpS7l8wSWwwQX9fb0wnYeiNDGhkwPZuYzhI_-ujB_352MBhF_YtJpnvuLiF2Og0AAwIZfXUbgVi6LXvmDF3NV3WZgtzZwSlvb7JKHul5uJtP94WEG7FxNQF3S-zzKeBrFzF2a3te_afNOmw2weXw8P_k4HXjheEDnjmN-JQpmcmokzETRkp4Lu-__WxQZAhfdNe504QfeQrcpT4UhhNm3wdmeSFhui9iFd3f3tc3YN36skUPqYiCHBrrm9AG65zckeOqA9BCNdLOL7nfFPrD3_Y_QZ4urt9ijCntU4Z9QhXtUYUAV7lGFLaowoAoPUIUdqvAQVY_Rp8N3pwfvI1-mIyoo5-tIAHfHhPM8ZUxIJosqUSURmhRMEJVVMie54AVo64zrlEhaaNj0VxR8WK7zjCRP0E7TNvopwmmseGV29VpyJmIqQa6mRVVUJKNK5HSMdmHNFpcuEUtnhTF63a3hQvnM9qbASr3YMtcY4dCxm2Ory96fuzxDd3voPkc766sv-gW6o67Xy9XVS4uEH-2Elfo
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Igloo%3A+soundly+linking+compositional+refinement+and+separation+logic+for+distributed+system+verification&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Sprenger%2C+Christoph&rft.au=Klenze%2C+Tobias&rft.au=Eilers%2C+Marco&rft.au=Wolf%2C+Felix+A.&rft.date=2020-11-13&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=4&rft.issue=OOPSLA&rft.spage=1&rft.epage=31&rft_id=info:doi/10.1145%2F3428220&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3428220
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon