Skip to content

Add StabilityCheckStage#86

Merged
dergoegge merged 1 commit into
oss-garage:masterfrom
tokatoka:stability
Jan 5, 2026
Merged

Add StabilityCheckStage#86
dergoegge merged 1 commit into
oss-garage:masterfrom
tokatoka:stability

Conversation

@tokatoka

@tokatoka tokatoka commented Dec 13, 2025

Copy link
Copy Markdown
Contributor

This PR adds a StabilityCheckStage which does these two things

  • Measure stability of the current scheduled testcases
  • If there's in-stability discovered, we set the history map of that entry to MAX, so that later fuzzing would not be influenced by this flaky map entry.

Basically this is the ported code from https://github.com/AFLplusplus/LibAFL/blob/main/crates/libafl/src/stages/calibrate.rs (or the equivalent code from AFL++), but made it more simple and readable for fuzzamoto to use.

I adjusted the monitor so you can see the result like this when you run it

📊 time: 7m-35s (x1) execs: 49782 cov: 3.936% corpus: 685 exec/sec: 111.7 bugs: 0 stability: 99.350% 

@dergoegge

Copy link
Copy Markdown
Member

What are the changes you made to the stage, compared to the one in libafl? Is there a reason why we can't use the stage from the library?

@tokatoka

tokatoka commented Dec 18, 2025

Copy link
Copy Markdown
Contributor Author

Basically, the biggest difference is that I removed some parts that is unnecessary for fuzzamoto, especially the parts for scheduler's metadata (because I think we can't just reuse libafl's scheduler and apply it to fuzzamoto)

The reason I did not want to plug the module of libafl into fuzzamoto is that reimplementing (and choosing whatever parts we need) makes it easier to extend.
For example, in one example use-case that I pushed in #89, I extended this StabilityCheckStage to dump the filenames of unstable test cases to examine them later, but achieving this would be not as straightforward if we just plugged the libafl's CalibrationStage

@tokatoka tokatoka marked this pull request as ready for review December 20, 2025 22:33
Comment thread fuzzamoto-libafl/src/stages/stability_check.rs Outdated
@dergoegge dergoegge merged commit a994c67 into oss-garage:master Jan 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants