An extensible static analysis platform for Rust that detects memory safety bugs and performs advanced program analysis beyond rustc.
RAPx is an advanced static analysis platform for Rust that extends beyond the standard rustc compiler's capabilities. It provides an extensible framework for building powerful analysis tools that help developers detect memory safety bugs, perform deep program analysis, and reason about code safety and performance. The platform enables researchers and developers to implement custom analyses while offering practical bug detection for real-world Rust projects.
Rust developers and researchers who need advanced static analysis capabilities beyond what rustc provides, particularly those working on security-critical systems, embedded development, or academic research in program analysis.
RAPx offers a unique combination of academic-grade analysis algorithms with practical usability, providing extensibility for researchers while delivering ready-to-use bug detection for developers. Unlike basic linters, it performs deep program analysis including alias and dataflow analysis, making it particularly valuable for finding subtle memory safety issues in complex Rust codebases.
A static analysis tool for Rust programs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Separates core algorithms from application tasks, enabling easy customization and extension for researchers, as outlined in the philosophy section promoting modular development.
Identifies critical vulnerabilities like use-after-free and memory leaks, with specific command examples in the README for targets such as RISC-V.
Supports analysis for various targets including RISC-V and embedded systems, making it versatile for non-standard environments, as highlighted in the features.
Can analyze single crates, workspace members, or entire dependency trees recursively using the RAP_RECURSIVE environment variable, allowing comprehensive project coverage.
The README explicitly states the project is 'still under heavy development,' leading to potential instability, breaking changes, and incomplete features.
Requires a specific nightly Rust version (nightly-2025-12-06) with extra components, complicating installation and integration compared to stable toolchain tools.
Users must manage environment variables like RAP_LOG and RAP_CLEAN, and handle toolchain overrides manually, adding setup complexity and maintenance burden.