Symbolic Partial-Order Execution for Testing Multi-Threaded Programs
Daniel Schemmel, Julian Büning, César Rodríguez, David Laprell, Klaus Wehrle
Abstract
We describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data non-determinism. Our technique iteratively and exhaustively finds all executions of the program. It represents program executions using partial orders and finds the next execution using an underlying unfolding semantics. We avoid the exploration of redundant program traces using cutoff events. We implemented our technique as an extension of KLEE and evaluated it on a set of large multi-threaded C programs. Our experiments found several previously undiscovered bugs and undefined behaviors in memcached and GNU sort, showing that the new method is capable of finding bugs in industrial-size benchmarks.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext b02d7cb2-e133-4c6f-85c8-f879e8a54234Cited by top-tier papers4
- Controlled Concurrency Testing via Periodical SchedulingCheng Wen, Mengda He, Bohao Wu, Zhiwu Xu et al.ICSE 2022 · 25 citations
- Nekara: Generalized Concurrency TestingUdit Agarwal, Pantazis Deligiannis, Cheng Huang, Kumseok Jung et al.ASE 2021 · 6 citations
- Psym: Efficient Symbolic Exploration of Distributed SystemsLauren Pick, Ankush Desai, Aarti GuptaPLDI 2023 · 1 citation
- Model Checking Race-Freedom When "Sequential Consistency for Data-Race-Free Programs" is GuaranteedWenhao Wu, Jan Hückelheim, Paul D. Hovland, Ziqing Luo et al.CAV 2023 · 1 citation
Related papers
- Prioritized Constraint-Aided Dynamic Partial-Order ReductionJie Su, Cong Tian, Zuchao Yang, Jiyu Yang et al.ASE 2022 · 3 citations
- Compatible Branch Coverage Driven Symbolic Execution for Efficient Bug FindingQiuping Yi, Yifan Yu, Guowei YangPLDI 2024 · 10 citations
- Parsimonious Optimal Dynamic Partial Order ReductionParosh Aziz Abdulla, Mohamed Faouzi Atig, Sarbojit Das, Bengt Jonsson et al.CAV 2024 · 4 citations
- Symbolic execution for randomized programsZachary Susag, Sumit Lahiri, Justin Hsu, Subhajit RoyOOPSLA 2022 · 17 citations
- Empc: Effective Path Prioritization for Symbolic Execution with Path CoverShuangjie Yao, Dongdong SheS&P 2025
