You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Miri is a powerful tool for detecting undefined behavior in Rust code by executing it in an interpreter with additional checks. Integrating Miri into our workflow would significantly improve code quality and safety by catching subtle bugs that might otherwise go unnoticed. However, since we use Bazel for our build system, integrating Miri might require changes to rules_rust to support Miri properly.
Objectives
Integrate the Miri undefined behavior detection tool into our Bazel build system.
Ensure seamless execution of Miri checks within our existing Bazel workflow.
Upstream necessary changes to rules_rust to facilitate broader community use and maintenance.
Document the integration process and usage instructions for developers.
Acceptance Criteria
Miri can be invoked within the Bazel build system to run undefined behavior checks on Rust targets.
Necessary changes to rules_rust are upstreamed and accepted by the maintainers.
CI pipeline includes Miri checks for relevant Rust code as part of quality assurance.
Documentation provides clear instructions for developers to use Miri locally and interpret its output.
Proposed Steps
Research and Feasibility Study:
Understand Miri's requirements and behavior when integrated with Bazel.
Evaluate the current state of rules_rust and identify gaps in supporting Miri.
Prototype Integration:
Develop a prototype to integrate Miri into Bazel for local usage.
Test the integration with a subset of Rust targets to ensure compatibility.
Upstream Changes:
Prepare and submit patches or pull requests to rules_rust to add Miri support.
Collaborate with the rules_rust maintainers to review and merge changes.
CI Integration:
Add Miri checks to the CI pipeline for relevant Rust codebases.
Ensure the CI environment is configured to run Miri efficiently.
Documentation:
Write detailed developer-facing instructions for using Miri locally.
Include troubleshooting steps and guidelines for interpreting Miri output.
Validation and Rollout:
Validate the integration with all Rust targets in the project.
Announce the availability of Miri within the team and encourage adoption.
Integrating Miri into the Bazel build system will provide early detection of undefined behavior in Rust code, reducing the risk of subtle bugs in production. Upstreaming support to rules_rust will benefit the broader Rust and Bazel communities, ensuring long-term maintainability and fostering collaboration. This initiative will enhance overall code safety, robustness, and developer confidence.
Background
Miri is a powerful tool for detecting undefined behavior in Rust code by executing it in an interpreter with additional checks. Integrating Miri into our workflow would significantly improve code quality and safety by catching subtle bugs that might otherwise go unnoticed. However, since we use Bazel for our build system, integrating Miri might require changes to rules_rust to support Miri properly.
Objectives
Acceptance Criteria
Proposed Steps
Resources
Miri Documentation
rules_rust GitHub Repository
Bazel Documentation
Rust Language Reference
Impact
Integrating Miri into the Bazel build system will provide early detection of undefined behavior in Rust code, reducing the risk of subtle bugs in production. Upstreaming support to rules_rust will benefit the broader Rust and Bazel communities, ensuring long-term maintainability and fostering collaboration. This initiative will enhance overall code safety, robustness, and developer confidence.
The text was updated successfully, but these errors were encountered: