Automated Analysis of Parametric Timing-Based Mutual Exclusion Algorithms

  • Roberto Bruttomesso
  • Alessandro Carioni
  • Silvio Ghilardi
  • Silvio Ranise
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7226)

Abstract

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.

Keywords

Model Checker Critical Section System Axiom Mutual Exclusion Safety Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abdulla, P.A., Delzanno, G., Ben Henda, N., Rezine, A.: Regular Model Checking Without Transducers (On Efficient Verification of Parameterized Systems). In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 721–736. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Abdulla, P.A., Delzanno, G., Rezine, A.: Parameterized Verification of Infinite-State Processes with Global Conditions. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 145–157. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Abdulla, P.A., Jonsson, B.: Model checking of systems with many identical timed processes. Theoretical Computer Science, pp. 241–264 (2003)Google Scholar
  4. 4.
    Alberti, F., Ghilardi, S., Pagani, E., Ranise, S., Rossi, G.P.: Universal Guards, Relativization of Quantifiers, and Failure Models in Model Checking Modulo Theories. JSAT 8, 29–61 (2012), http://jsat.ewi.tudelft.nl/content/volume8/JSAT8_2_Alberti.pdf Google Scholar
  5. 5.
    Brown, G.M., Pike, L.: Easy Parameterized Verification of Biphase Mark and 8N1 Protocols. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 58–72. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Carioni, A., Bruttomesso, R., Ghilardi, S., Ranise, S.: Automated Analysis of Parametric Timing-Based Mutual Exclusion Algorithms (Extended Version) (2012), http://www.oprover.org/mcmt_lynch_shavit.html
  7. 7.
    Carioni, A., Ghilardi, S., Ranise, S.: MCMT in the Land of Parametrized Timed Automata. In: Proc. of VERIFY 2010 (2010)Google Scholar
  8. 8.
    Dutertre, B., Sorea, M.: Timed systems in sal. Technical Report SRI-SDL-04-03, SRI International, Menlo Park, CA (2004)Google Scholar
  9. 9.
    Faber, J., Ihlemann, C., Jacobs, S., Sofronie-Stokkermans, V.: Automatic Verification of Parametric Specifications with Complex Topologies. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 152–167. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Fang, Y., Piterman, N., Pnueli, A., Zuck, L.D.: Liveness with invisible ranking. Software Tools for Technology 8(3), 261–279 (2006)CrossRefGoogle Scholar
  11. 11.
    Ghilardi, S., Ranise, S.: Backward reachability of array-based systems by SMT-solving: termination and invariant synthesis. LMCS 6(4) (2010), http://www.lmcs-online.org/ojs/viewarticle.php?id=694&layout=abstract
  12. 12.
    Ghilardi, S., Ranise, S.: MCMT: A Model Checker Modulo Theories. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 22–29. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Hune, T., Romijn, J., Stoelinga, M., Vaandrager, F.W.: Linear Parametric Model Checking of Timed Automata. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 189–203. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Krstic, S.: Parameterized system verification with guard strengthening and parameter abstraction. In: AVIS (2005)Google Scholar
  15. 15.
    Lahiri, S.K., Bryant, R.E.: Predicate abstraction with indexed predicates. ACM Transactions on Computational Logic (TOCL) 9(1) (2007)Google Scholar
  16. 16.
    Lynch, N.A., Shavit, N.: Timing-based mutual exclusion. In: Proc. of IEEE Real-Time Systems Symposium, pp. 2–11 (1992)Google Scholar
  17. 17.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann (1996)Google Scholar
  18. 18.
    Pnueli, A., Ruah, S., Zuck, L.D.: Automatic Deductive Verification with Invisible Invariants. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 82–97. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Ranise, S., Tinelli, C.: The SMT-LIB Standard: Version 1.2. Technical report (2006), http://www.SMT-LIB.org/papers
  20. 20.
    Steiner, W., Dutertre, B.: Automated Formal Verification of the TTEthernet Synchronization Quality. In: Proc. of the NASA Formal Methods Symposium (2011)Google Scholar
  21. 21.
    Talupur, M., Tuttle, M.: Going with the flow: Parameterized verification using message flows. In: Proc. of FMCAD 2008, pp. 1–8 (2008)Google Scholar
  22. 22.
  23. 23.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Roberto Bruttomesso
    • 1
  • Alessandro Carioni
    • 1
  • Silvio Ghilardi
    • 1
  • Silvio Ranise
    • 2
  1. 1.Università degli Studi di MilanoMilanItaly
  2. 2.FBK (Fondazione Bruno Kessler)TrentoItaly

Personalised recommendations