Petri Nets-based Methods on Automatically Detecting for Concurrency Bugs in Rust Programs
Kaiwen Zhang, Guanjun Liu

TL;DR
This paper introduces a Petri net-based approach for efficiently and accurately detecting concurrency bugs in Rust programs, overcoming limitations of static and dynamic analysis methods.
Contribution
It presents a novel Petri net modeling technique for Rust concurrency bugs, integrating syntax-preserving transformation, semantics-preserving state compression, and efficient reachability analysis.
Findings
Reduces false positives by 35.7% compared to LockBud.
Reduces false negatives by 28.3% compared to LockBud.
Achieves 100% faster verification speed than Miri.
Abstract
Rust's memory safety guarantees, notably ownership and lifetime systems, have driven its widespread adoption. Concurrency bugs still occur in Rust programs, and existing detection approaches exhibit significant limitations: static analyzers suffer from context insensitivity and high false positives, while dynamic methods incur prohibitive runtime costs due to exponential path exploration. This paper presents a Petri net-based method for efficient, precise detection of Rust concurrency bugs. The method rests on three pillars: (1) A syntax-preserving program-to-Petri-net transformation tailored for target bug classes; (2) Semantics-preserving state compression via context-aware slicing; (3) Bug detection through efficient Petri net reachability analysis. The core innovation is its rigorous, control-flow-driven modeling of Rust's ownership semantics and synchronization primitives within…
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
TopicsPetri Nets in System Modeling · Software System Performance and Reliability · Advanced Software Engineering Methodologies
