Skip to main content

Efficient Verification of Program Fragments: Eager POR

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9938))

Abstract

Software verification of concurrent programs is hampered by an exponentially growing state space due to non-deterministic process scheduling. Partial order reduction (POR)-based verification has proven to be a powerful technique to handle large state spaces.

In this paper, we propose a novel dynamic POR algorithm, called \(\textit{Eager POR}\) (\(\textsc {epor}\)), that requires considerably less overhead during state space exploration than existing algorithms. \(\textsc {epor}\) is based on a formal characterization of program fragments for which exploration can be scheduled in advance and dependency checks can be avoided. We show the correctness of this characterization and evaluate the performance of \(\textsc {epor}\) in comparison to existing state-of-the-art dynamic POR algorithms. Our evaluation shows substantial improvement in the runtime performance by up to 91 %.

Péter Bokor is also affiliated with IncQuery Labs Ltd., Budapest, Hungary.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: POPL (2014)

    Google Scholar 

  2. Bokor, P., Kinder, J., Serafini, M., Suri, N.: Supporting domain-specific state space reductions through local partial-order reduction. In: ASE (2011)

    Google Scholar 

  3. Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: POPL (2005)

    Google Scholar 

  4. Godefroid, P.: Using partial orders to improve automatic verification methods. In: Clarke, E.M., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 176–185. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  5. Godefroid, P., Pirottin, S.: Refining dependencies improves partial-order verification methods (extended abstract). In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 438–449. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  6. Gueta, G., Flanagan, C., Yahav, E., Sagiv, M.: Cartesian partial-order reduction. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 95–112. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  7. Kahlon, V., Wang, C., Gupta, A.: Monotonic partial order reduction: an optimal symbolic partial order reduction technique. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 398–413. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Mazurkiewicz, A.W.: Trace theory. In: Advances in Petri Nets (1986)

    Google Scholar 

  9. Metzler, P., Saissi, H., Bokor, P., Hesse, R., Suri, N.: Efficient verification of program fragments: Eager POR (extended). In: Nelson, S.P., Meyer, V. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 375–391. Springer, Heidelberg (2016). http://www1.deeds.informatik.tu-darmstadt.de/External/PublicationData/1/atva2016-epor.pdf

    Google Scholar 

  10. Peled, D.: All from one, one for all: on model checking using representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 409–423. Springer, Berlin (1993)

    Chapter  Google Scholar 

  11. Pruesse, G., Ruskey, F.: Generating linear extensions fast. SIAM J. Comput 23, 373–386 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  12. Valmari, A.: Stubborn sets for reduced state space generation. In: Applications and Theory of Petri Nets (1989)

    Google Scholar 

  13. Valmari, A.: The state explosion problem. In: Lectures on Petri Nets I (1996)

    Google Scholar 

  14. Wachter, B., Kroening, D., Ouaknine, J.: Verifying multi-threaded software with impact. In: FMCAD (2013)

    Google Scholar 

  15. Zhang, N., Kusano, M., Wang, C.: Dynamic partial order reduction for relaxed memory models. In: PLDI (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick Metzler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Metzler, P., Saissi, H., Bokor, P., Hesse, R., Suri, N. (2016). Efficient Verification of Program Fragments: Eager POR . In: Artho, C., Legay, A., Peled, D. (eds) Automated Technology for Verification and Analysis. ATVA 2016. Lecture Notes in Computer Science(), vol 9938. Springer, Cham. https://doi.org/10.1007/978-3-319-46520-3_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46520-3_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46519-7

  • Online ISBN: 978-3-319-46520-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics