New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
can't find the bug in FourIndependentBranchesTest #1
Comments
Hello :-) Thanks for looking closer at Ankou! A typical fuzzer is likely to find an input passing each individual branch, but won't distinguish between inputs passing two or more branches. In theory, it's true Ankou should be able to distinguish between these inputs. I understand this was your intuition? However, Ankou wasn't implemented with this kind of target in mind. The PCA operation is quite costly and we wanted to make sure it is worth doing. The reason you are not getting the expected result is that, for this kind of small program, the PCA is never going to be used so Ankou won't be able to distinguish the different branches. Actually, for a program of this size, the PCA is not necessary because the space is small (5 branches/dimensions). More in details, there are two steps to pass before Ankou can identify a component/dimension as worthy to be used:
|
Thanks for the clarification! I was playing with this and similar bigger puzzles trying to make libFuzzer solve them. |
Hi,
I've tried Ankou on https://github.com/llvm/llvm-project/blob/master/compiler-rt/test/fuzzer/FourIndependentBranchesTest.cpp and failed to make Ankou find the bug
(unless I provide a very close corpus element).
Am I doing something wrong?
From the Ankou paper I expected that it would shine on this kind of puzzles.
My steps:
The text was updated successfully, but these errors were encountered: