When fuzzing meets mutation testing
Many Bitcoin projects use fuzzing to find vulnerabilities in their applications, such as memory errors, for example. However, we have seen that fuzzing can go further and also find logical bugs. One way we can evaluate fuzz harnesses on its ability to find these bugs is using mutation testing. In this talk, we're going to explore how this can happen, going deep tools and strategies. Also, we're going to see how differential fuzzing can help to reduce manual efforts to indentify equivalent mutants and enhance other existing tests like unit and functional ones.