Automated Analysis of Parametric Timing-Based Mutual Exclusion Algorithms

Deadlock-free algorithms that ensure mutual exclusion crucially depend on timing assumptions. In this paper, we describe our experience in automatically verifying mutual-exclusion and deadlock-freedom of the Fischer and Lynch-Shavit algorithms, using the model checker modulo theories mcmt. First, we explain how to specify timing-based algorithms in the mcmt input language as symbolic transition systems. Then, we show how the tool can verify all the safety properties used by Lynch and Shavit to establish mutual-exclusion, regardless of the number of processes in the system. Finally, we verify deadlock-freedom by following a reduction to "safety problems with lemmata synthesis" and using acceleration to avoid divergence. We also show how to automatically synthesize the bounds on the waiting time of a process to enter the critical section.

[1]  Sava Krstić Parametrized System Verification with Guard Strengthening and Parameter Abstraction , 2005 .

[2]  Parosh Aziz Abdulla,et al.  Regular Model Checking Without Transducers (On Efficient Verification of Parameterized Systems) , 2007, TACAS.

[3]  Lee Pike,et al.  Easy Parameterized Verification of Biphase Mark and 8N1 Protocols , 2006, TACAS.

[4]  Silvio Ghilardi,et al.  MCMT: A Model Checker Modulo Theories , 2010, IJCAR.

[5]  N. Lynch,et al.  Timing-based mutual exclusion , 1992, [1992] Proceedings Real-Time Systems Symposium.

[6]  Bruno Dutertre,et al.  Automated Formal Verification of the TTEthernet Synchronization Quality , 2011, NASA Formal Methods.

[7]  Parosh Aziz Abdulla,et al.  Regular Model Checking without Transducers , 2007 .

[8]  F. Vaandrager,et al.  Linear Parametric Model Checking of Timed Automata , 2001 .

[9]  Bruno Dutertre,et al.  Timed Systems in SAL , 2004 .

[10]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[11]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[12]  Parosh Aziz Abdulla,et al.  Model checking of systems with many identical timed processes , 2003, Theor. Comput. Sci..

[13]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[14]  Elena Pagani,et al.  Universal Guards, Relativization of Quantifiers, and Failure Models in Model Checking Modulo Theories , 2012, J. Satisf. Boolean Model. Comput..

[15]  Parosh Aziz Abdulla,et al.  Parameterized Verification of Infinite-State Processes with Global Conditions , 2007, CAV.

[16]  Silvio Ghilardi,et al.  Backward Reachability of Array-based Systems by SMT solving: Termination and Invariant Synthesis , 2010, Log. Methods Comput. Sci..

[17]  Shuvendu K. Lahiri,et al.  Predicate abstraction with indexed predicates , 2004, TOCL.

[18]  Amir Pnueli,et al.  Automatic Deductive Verification with Invisible Invariants , 2001, TACAS.

[19]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[20]  Johannes Faber,et al.  Automatic Verification of Parametric Specifications with Complex Topologies , 2010, IFM.

[21]  Mark R. Tuttle,et al.  Going with the Flow: Parameterized Verification Using Message Flows , 2008, 2008 Formal Methods in Computer-Aided Design.

[22]  Amir Pnueli,et al.  ON TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS , 2006 .

[23]  Silvio Ghilardi,et al.  MCMT in the Land of Parametrized Timed Automata , 2010, VERIFY@IJCAR.