Awaiting for Godot: Stateless Model Checking that Avoids Executions where Nothing Happens
Bengt Jonsson, Magnus L{\aa}ng, Konstantinos Sagonas

TL;DR
This paper introduces a novel stateless model checking technique that efficiently avoids exploring pure loop iterations by using static analysis, program transformation, and a new DPOR algorithm, significantly improving verification speed for concurrent programs.
Contribution
It presents a new DPOR algorithm, Optimal-DPOR-Await, incorporating static analysis, program transformation, and weakened conflict relations to enhance SMC efficiency.
Findings
Significant speedup in analyzing concurrent programs.
Effective detection of concurrency errors.
Ability to diagnose livelocks.
Abstract
Stateless Model Checking (SMC) is a verification technique for concurrent programs that checks for safety violations by exploring all possible thread schedulings. It is highly effective when coupled with Dynamic Partial Order Reduction (DPOR), which introduces an equivalence on schedulings and need explore only one in each equivalence class. Even with DPOR, SMC often spends unnecessary effort in exploring loop iterations that are pure, i.e., have no effect on the program state. We present techniques for making SMC with DPOR more effective on programs with pure loop iterations. The first is a static program analysis to detect loop purity and an associated program transformation, called Partial Loop Purity Elimination, that inserts assume statements to block pure loop iterations. Subsequently, some of these assumes are turned into await statements that completely remove many…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Radiation Effects in Electronics · Formal Methods in Verification
