runtimeverification / runtimeverification/mir-semantics

Incrementally integrate external Rust test suites into mir-semantics CI

Open
#964 0 comments 0 reactions 0 assignees View on GitHub

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-json UI tests as mir-semantics tests
  • Add passing miri-pass tests to prove-rs suite
  • Add passing miri-fail tests to prove-rs suite
  • Add passing ui-run-pass tests to prove-rs suite
  • Add passing kani tests to prove-rs suite
  • Investigate rustlantis generated programs for potential test coverage

Workflow

For each test being added:

  1. Verify stable-mir-json can compile the Rust file and produce valid SMIR JSON
  2. Add the test to mir-semantics prove-rs / integration tests
  3. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.