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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: POPL (2014)
Bokor, P., Kinder, J., Serafini, M., Suri, N.: Supporting domain-specific state space reductions through local partial-order reduction. In: ASE (2011)
Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: POPL (2005)
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)
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)
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)
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)
Mazurkiewicz, A.W.: Trace theory. In: Advances in Petri Nets (1986)
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
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)
Pruesse, G., Ruskey, F.: Generating linear extensions fast. SIAM J. Comput 23, 373–386 (1994)
Valmari, A.: Stubborn sets for reduced state space generation. In: Applications and Theory of Petri Nets (1989)
Valmari, A.: The state explosion problem. In: Lectures on Petri Nets I (1996)
Wachter, B., Kroening, D., Ouaknine, J.: Verifying multi-threaded software with impact. In: FMCAD (2013)
Zhang, N., Kusano, M., Wang, C.: Dynamic partial order reduction for relaxed memory models. In: PLDI (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)