Rust support in parallel reduction tool called C-Vise

Hello Rust folks!

I'm the author of the C-Vise tool that I heavily used when I used to work on the GCC compiler. It's a tool that can automatically reduce a test-case in C, C++, Fortran language so that the code snippet can be subject to bug investigation. Just recently, I've started learning Rust language and I really like it.

So I'm curious if you also face a need to reduce Rust source files when it comes to bug reports? And if yes, would you be interested in Rust support that can be based on the existing Rust compiler?

I believe there are already several test case reduction tools for rust, but I don't remember their names. In any case using the syn crate as parser rather than rustc itself has the advantage of not requiring nightly rustc and not breaking every release. worked pretty well for my usecases so far :slight_smile:

Sample usecase: treereduce-rust --passes=10 --min-reduction=10 --interesting-exit-code=101 --source -- ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-type lib --edition=2021

1 Like

That seems to me you have a nice reduction tool that serves you well :wink: Glad to hear that and it doesn't make sense to support C-Vise to your tools. Anyway, note some of the C-Vise reduction steps are kind of language agnostic and you may still give it a try.