|
|
Subscribe / Log in / New account

Expectations on reaching stability

Expectations on reaching stability

Posted Jan 16, 2025 18:15 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: Expectations on reaching stability by Wol
Parent article: Rust 1.84.0 released

There's mutation testing[1] which I've found very useful for finding untested lines (which may have been "covered", but not *checked*). Think of it as the complement to fuzz testing: instead of mutating the data, you mutate the code and make sure that the test suite detects the change. I've found quite a few uncovered cases and even some bugs with it in my crates. Now they're fixed and have test coverage as well :) .

[1] https://en.wikipedia.org/wiki/Mutation_testing


to post comments

Expectations on reaching stability

Posted Jan 26, 2025 16:22 UTC (Sun) by sammythesnake (guest, #17693) [Link] (1 responses)

Could you name the framework you use to do mutation testing? The Wikipedia article only mentions one Java framework...

Expectations on reaching stability

Posted Jan 26, 2025 16:50 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

I've used this one for Rust: <https://github.com/sourcefrog/cargo-mutants>. There's also this one for Python (that I've not used): <https://github.com/boxed/mutmut>.

There's a paper by Google which mentions that mutation testing has also been done on Java, Python, and C++ internally. No idea if they're open source or not.

I also have this paper on my "to read" list: https://arxiv.org/pdf/2406.09843


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds