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 条
  • [21] Distributed LTL Model Checking with Hash Compaction
    Barnat, J.
    Havlicek, J.
    Rockai, P.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2013, 296 : 79 - 93
  • [22] Stepwise Development and Model Checking of a Distributed Interlocking System - Using RAISE
    Geisler, Signe
    Haxthausen, Anne E.
    FORMAL METHODS, 2018, 10951 : 277 - 293
  • [23] Using Parallel and Distributed Reachability in Model Checking
    Allal, Lamia
    Belalem, Ghalem
    Dhaussy, Philippe
    Teodorov, Ciprian
    AMBIENT COMMUNICATIONS AND COMPUTER SYSTEMS, RACCCS 2017, 2018, 696 : 143 - 154
  • [24] Achieving distributed control through model checking
    Susanne Graf
    Doron Peled
    Sophie Quinton
    Formal Methods in System Design, 2012, 40 : 263 - 281
  • [25] Stepwise development and model checking of a distributed interlocking system using RAISE
    Geisler, S.
    Haxthausen, A. E.
    FORMAL ASPECTS OF COMPUTING, 2021, 33 (01) : 87 - 125
  • [26] Model Checking Guided Testing for Distributed Systems
    Wang, Dong
    Dou, Wensheng
    Gao, Yu
    Wu, Chenao
    Wei, Jun
    Huang, Tao
    PROCEEDINGS OF THE EIGHTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS, EUROSYS 2023, 2023, : 127 - 143
  • [27] A new model checking approach for verifying agent communication protocols
    Bentahar, Jamal
    Moulin, Bernard
    Meyer, John-Jules Ch.
    2006 CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING, VOLS 1-5, 2006, : 1877 - +
  • [28] Timed Automata Based Model Checking of Timed Security Protocols
    Kurkowski, Miroslaw
    Penczek, Wojciech
    FUNDAMENTA INFORMATICAE, 2009, 93 (1-3) : 245 - 259
  • [29] Improvement of SAT-based Model Checking of Security Protocols
    Yang, Yuanyuan
    Ma, Wenping
    2009 INTERNATIONAL CONFERENCE ON E-BUSINESS AND INFORMATION SYSTEM SECURITY, VOLS 1 AND 2, 2009, : 223 - 227
  • [30] Model-checking web services business activity protocols
    Marques Jr. A.P.
    Ravn A.P.
    Srba J.
    Vighio S.
    International Journal on Software Tools for Technology Transfer, 2013, 15 (02) : 125 - 147