McMini: A Programmable DPOR-Based Model Checker for Multithreaded Programs
Maxwell Pirtle (Northeastern University, USA), Luka Jovanovic, (Northeastern University, USA), Gene Cooperman (Northeastern University, USA)

TL;DR
McMini is an extensible, programmable model checker based on DPOR that allows users to define custom thread operations and wakeup policies, significantly improving speed and flexibility in detecting race conditions in multithreaded programs.
Contribution
Introduces McMini, a flexible model checker enabling user-defined thread operations and wakeup policies to enhance performance and applicability.
Findings
McMini correctly detects race conditions in multithreaded programs.
User-defined thread operations reduce search space and improve efficiency.
Flexible wakeup policy modeling captures real thread behaviors.
Abstract
Context: Model checking has become a key tool for gaining confidence in correctness of multi-threaded programs. Unit tests and functional tests do not suffice because of race conditions that are not discovered by those tests. This problem is addressed by model checking tools. A simple model checker is useful for detecting race conditions prior to production. Inquiry: Current model checkers hardwire the behavior of common thread operations, and do not recognize application-dependent thread paradigms or functions using simpler primitive operations. This introduces additional operations, causing current model checkers to be excessively slow. In addition, there is no mechanism to model the semantics of the actual thread wakeup policies implemented in the underlying thread library or operating system. Eliminating these constraints can make model checkers faster. Approach: McMini is an…
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
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Formal Methods in Verification
