runtimeverification / runtimeverification/mir-semantics
Incrementally integrate external Rust test suites into mir-semantics CI
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 52
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
Context
PR #962 (jh/test_coverage_20260225_master_pr) explored adding external test coverage infrastructure — coverage matrix, fetch scripts, batch runner, report tooling, and test harnesses for 5 external suites — all at once. That approach is too large for a single PR. We will add tests incrementally instead.
External test suites evaluated
| Suite | Source |
|---|---|
| miri-pass | rust-lang/miri tests/pass/ |
| miri-fail | rust-lang/miri tests/fail/ |
| ui-run-pass | rust-lang/rust tests/ui/ (run-pass) |
| kani | model-checking/kani tests/kani/ |
| rustlantis | cbeuw/rustlantis (generated programs) |
TODO
- Import
stable-mir-jsonUI tests asmir-semanticstests - Add passing
miri-passtests to prove-rs suite - Add passing
miri-failtests to prove-rs suite - Add passing
ui-run-passtests to prove-rs suite - Add passing
kanitests to prove-rs suite - Investigate
rustlantisgenerated programs for potential test coverage
Workflow
For each test being added:
- Verify
stable-mir-jsoncan compile the Rust file and produce valid SMIR JSON - Add the test to
mir-semanticsprove-rs / integration tests - Keep PRs small — a handful of tests from one suite per PR
Reference
- PR #962 contains the original analysis and infrastructure prototype (closed without merge)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with PR #962 and the stable-mir-json workflow, then choose one external suite from the TODO list. Check the relevant prove-rs or integration tests and verify that stable-mir-json compiles each selected Rust file into valid SMIR JSON. Done means a small PR adds a handful of tests from one suite and they pass in mir-semantics CI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100