Advertisement

Unfolding-Based Dynamic Partial Order Reduction of Asynchronous Distributed Programs

  • The Anh Pham
  • Thierry JéronEmail author
  • Martin Quinson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11535)

Abstract

Unfolding-based Dynamic Partial Order Reduction (UDPOR) is a recent technique mixing Dynamic Partial Order Reduction (DPOR) with concepts of concurrency such as unfoldings to efficiently mitigate state space explosion in model-checking of concurrent programs. It is optimal in the sense that each Mazurkiewicz trace, i.e. a class of interleavings equivalent by commuting independent actions, is explored exactly once. This paper shows that UDPOR can be extended to verify asynchronous distributed applications, where processes both communicate by messages and synchronize on shared resources. To do so, a general model of asynchronous distributed programs is formalized in TLA+. This allows to define an independence relation, a main ingredient of the unfolding semantics. Then, the adaptation of UDPOR, involving the construction of an unfolding, is made efficient by a precise analysis of dependencies. A prototype implementation gives promising experimental results.

Keywords

Partial order Unfolding Distributed program Asynchronous 

Notes

Acknowledgement

We wish to thank the reviewers for their constructive comments to improve the paper.

References

  1. 1.
    Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014, San Diego, CA, USA, pp. 373–384, January 2014.  https://doi.org/10.1145/2535838.2535845
  2. 2.
    Albert, E., Gómez-Zamalloa, M., Isabel, M., Rubio, A.: Constrained dynamic partial order reduction. In: 30th International Conference on Computer Aided Verification, CAV 2018, Oxford, UK, pp. 392–410, July 2018.  https://doi.org/10.1007/978-3-319-96142-2_24CrossRefGoogle Scholar
  3. 3.
    Aronis, S., Jonsson, B., Lång, M., Sagonas, K.: Optimal dynamic partial order reduction with observers. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10806, pp. 229–248. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-89963-3_14CrossRefGoogle Scholar
  4. 4.
    Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  5. 5.
    Degomme, A., Legrand, A., Markomanolis, G.S., Quinson, M., Stillwell, M., Suter, F.: Simulating MPI applications: the SMPI approach. IEEE Trans. Parallel Distrib. Syst. 28(8), 2387–2400 (2017).  https://doi.org/10.1109/TPDS.2017.2669305CrossRefGoogle Scholar
  6. 6.
    Esparza, J., Heljanko, K.: Unfoldings - A Partial-Order Approach to Model Checking. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-77426-6CrossRefzbMATHGoogle Scholar
  7. 7.
    Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, pp. 110–121, January 2005.  https://doi.org/10.1145/1040305.1040315
  8. 8.
    Godefroid, P. (ed.): Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996).  https://doi.org/10.1007/3-540-60761-7CrossRefzbMATHGoogle Scholar
  9. 9.
    Karp, R.M., Miller, R.E.: Parallel program schemata. J. Comput. Syst. Sci. 3(2), 147–195 (1969).  https://doi.org/10.1016/S0022-0000(69)80011-5MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Khanna, D., Sharma, S., Rodríguez, C., Purandare, R.: Dynamic symbolic verification of MPI programs. In: 22nd International Symposium on Formal Methods, FM 2018, Oxford, UK, pp. 466–484, July 2018.  https://doi.org/10.1007/978-3-319-95582-7_28CrossRefGoogle Scholar
  11. 11.
    Lamport, L.: Specifying Systems. The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, Boston (2002)Google Scholar
  12. 12.
    Landweber, L.H., Robertson, E.L.: Properties of conflict-free and persistent Petri Nets. J. ACM 25(3), 352–364 (1978).  https://doi.org/10.1145/322077.322079MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Nguyen, H.T.T., Rodríguez, C., Sousa, M., Coti, C., Petrucci, L.: Quasi-optimal partial order reduction. In: 30th International Conference on Computer Aided Verification, CAV 2018, Oxford, UK, pp. 354–371, July 2018.  https://doi.org/10.1007/978-3-319-96142-2_22CrossRefGoogle Scholar
  14. 14.
    Palmer, R., Gopalakrishnan, G., Kirby, R.M.: Semantics driven dynamic partial-order reduction of MPI-based parallel programs. In: Proceedings of the 2007 ACM Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD 2007, pp. 43–53. ACM (2007)Google Scholar
  15. 15.
    Pham, A., Jéron, T., Quinson, M.: Verifying MPI applications with SimGridMC. In: Proceedings of the 1st International Workshop on Software Correctness for HPC Applications, CORRECTNESS@SC 2017, Denver, CO, USA, pp. 28–33, November 2017.  https://doi.org/10.1145/3145344.3145345
  16. 16.
    Rodríguez, C., Sousa, M., Sharma, S., Kroening, D.: Unfolding-based partial order reduction. In: 26th International Conference on Concurrency Theory, CONCUR 2015, Madrid, Spain, pp. 456–469, September 2015.  https://doi.org/10.4230/LIPIcs.CONCUR.2015.456
  17. 17.
    Rosa, C.D., Merz, S., Quinson, M.: A simple model of communication APIs - application to dynamic partial order reduction. In: 10th International Workshop on Automated Verification of Critical Systems, AVOCS 2010, Düsseldorf, Germany, September 2010. http://journal.ub.tu-berlin.de/eceasst/article/view/562
  18. 18.
    Sharma, S., Gopalakrishnan, G., Bronevetsky, G.: A sound reduction of persistent-sets for deadlock detection in MPI applications. In: Gheyi, R., Naumann, D. (eds.) SBMF 2012. LNCS, vol. 7498, pp. 194–209. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33296-8_15CrossRefzbMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2019

Authors and Affiliations

  1. 1.Univ. Rennes, Inria, CNRS, IRISARennesFrance

Personalised recommendations