Mitigating False Positives in Static Memory Safety Analysis of Rust Programs via Reinforcement Learning
Akilesh P, Leuson Da Silva, Foutse Khomh, Sridhar Chimalakonda

TL;DR
This paper introduces a reinforcement learning approach to reduce false positives in static memory safety analysis of Rust programs, enhancing accuracy and developer trust.
Contribution
It presents a novel RL-based warning suppression method that integrates static analysis features with dynamic fuzzing feedback for improved false positive reduction.
Findings
Achieves 65.2% accuracy and 0.659 F1 score, outperforming LLM baselines.
Reduces false positives, increasing precision from 25.6% to 59.0%.
Dynamic fuzzing integration further improves performance metrics.
Abstract
Static analysis tools are essential for ensuring memory safety in Rust programs, particularly as Rust gains adoption in safety-critical domains. However, existing tools such as Rudra and MirChecker suffer from high false positive rates, which diminish developer trust, increase manual review effort, and may obscure genuine vulnerabilities. This paper presents a novel reinforcement learning (RL)-based approach for automatically classifying and suppressing spurious warnings in static memory safety analysis for Rust. To achieve this, we design an RL agent that learns a warning suppression policy by extracting contextual features from Rust's Mid-level Intermediate Representation (MIR) and optimizing its decisions through interaction with static analysis outputs. To improve decision quality, we integrate dynamic validation via cargo-fuzz as an auxiliary feedback mechanism, allowing the agent…
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.
