Stateless model checking (SMC) software implementations requires exploring both concurrency- and data nondeterminism. Unfortunately, most SMC algorithms focus on efficient exploration of concurrency nondeterminism, thereby neglecting an important source of bugs. We present ConDpor, an SMC algorithm for unmodified Java programs that combines optimal dynamic partial order reduction (DPOR) for concurrency nondeterminism, with concolic execution for data nondeterminism. ConDpor is sound, complete, optimal, and parametric w.r.t. the memory consistency model. Our experiments confirm that ConDpor is exponentially faster than DPOR with small-domain enumeration. Overall, ConDpor opens the door for efficient exploration of concurrent programs with data nondeterminism.
@InProceedings{khoshechinjorshari_et_al:LIPIcs.CONCUR.2025.26, author = {Khoshechin Jorshari, Mohammad Hossein and Kokologiannakis, Michalis and Majumdar, Rupak and Nagendra, Srinidhi}, title = {{Optimal Concolic Dynamic Partial Order Reduction}}, booktitle = {36th International Conference on Concurrency Theory (CONCUR 2025)}, pages = {26:1--26:22}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-389-8}, ISSN = {1868-8969}, year = {2025}, volume = {348}, editor = {Bouyer, Patricia and van de Pol, Jaco}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CONCUR.2025.26}, URN = {urn:nbn:de:0030-drops-239765}, doi = {10.4230/LIPIcs.CONCUR.2025.26}, annote = {Keywords: Stateless model checking, dynamic symbolic execution} }
Feedback for Dagstuhl Publishing