Model Checking Distributed Protocols in Must

被引:0
|
作者
Enea, Constantin [1 ,2 ]
Giannakopoulou, Dimitra [3 ]
Kokologiannakis, Michalis [4 ]
Majumdar, Rupak [5 ,6 ]
机构
[1] AWS, Paris, France
[2] Ecole Polytech, Palaiseau, France
[3] AWS, Dallas, TX USA
[4] Swiss Fed Inst Technol, Zurich, Switzerland
[5] AWS, Frankfurt, Germany
[6] MPI SWS, Saarbrucken, Germany
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2024年 / 8卷 / OOPSLA2期
关键词
Distributed Systems; Model Checking;
D O I
10.1145/3689778
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We describe the design and implementation of Must, a framework for modeling and automatically verifying distributed systems. Must provides a concurrency API that supports multiple communication models, on top of a mainstream programming language, such as Rust. Given a program using this API, Must verifies it by means of a novel, optimal dynamic partial order reduction algorithm that maintains completeness and optimality for all communication models supported by the API. We use Must to design and verify models of distributed systems in an industrial context. We demonstrate the usability of Must's API by modeling high-level system idioms (e.g., timeouts, leader election, versioning) as abstractions over the core API, and demonstrate Must's scalability by verifying systems employed in production (e.g., replicated logs, distributed transaction management protocols), the verification of which lies beyond the capacity of previous model checkers.
引用
收藏
页数:28
相关论文
共 50 条
  • [1] Model checking distributed temporal logic
    Dionisio, Francisco
    Ramos, Jaime
    Subtil, Fernando
    Vigano, Luca
    LOGIC JOURNAL OF THE IGPL, 2024,
  • [2] Bounded model checking distributed temporal logic
    Peres, Augusto
    Ramos, Jaime
    Dionisio, Francisco
    JOURNAL OF LOGIC AND COMPUTATION, 2023, 33 (05) : 1022 - 1059
  • [3] Dara: Hybrid Model Checking of Distributed Systems
    Anand, Vaastav
    ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2018, : 977 - 979
  • [4] On Expressiveness of TCTLhΔ for Model Checking Distributed Systems
    Jbeli, Naima
    Sbai, Zohra
    Ben Ayed, Rahma
    COMPUTATIONAL COLLECTIVE INTELLIGENCE, ICCCI 2016, PT I, 2016, 9875 : 323 - 332
  • [5] Analyzing interoperability of protocols using model checking
    Wu, P
    CHINESE JOURNAL OF ELECTRONICS, 2005, 14 (03): : 453 - 457
  • [6] Teaching Rigorous Distributed Systems With Efficient Model Checking
    Michael, Ellis
    Woos, Doug
    Anderson, Thomas
    Ernst, Michael D.
    Tatlock, Zachary
    PROCEEDINGS OF THE FOURTEENTH EUROSYS CONFERENCE 2019 (EUROSYS '19), 2019,
  • [7] Parallel Bounded Model Checking of Security Protocols
    Kurkowski, Miroslaw
    Siedlecka-Lamch, Olga
    Szymoniak, Sabina
    Piech, Henryk
    PARALLEL PROCESSING AND APPLIED MATHEMATICS (PPAM 2013), PT I, 2014, 8384 : 224 - 234
  • [8] Model checking the iKP electronic payment protocols
    Ogata, Kazuhiro
    JOURNAL OF INFORMATION SECURITY AND APPLICATIONS, 2017, 36 : 101 - 111
  • [9] Symbolic model checking of public announcement protocols
    Charrier, Tristan
    Pinchinat, Sophie
    Schwarzentruber, Francois
    JOURNAL OF LOGIC AND COMPUTATION, 2019, 29 (08) : 1211 - 1249
  • [10] Model Checking Quantum Key Distribution Protocols
    Huang, Baichuan
    Huang, Yan
    Kong, Jiaming
    Huang, Xin
    2016 8TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY IN MEDICINE AND EDUCATION (ITME), 2016, : 611 - 615