Damian Gryski

Results 261 comments of Damian Gryski

I implemented the ddmin minimization algorithm: https://github.com/dgryski/go-ddmin ; would be interesting to compare the results of this to what go-fuzz's techniques reduce it to.

ddmin is also O(n^2) time complexity. It also doesn't have any heuristics; it's just an systematic brute force approach to removing pieces of input. I would use it instead of...

The ddmin algorithm there is mine, just generalized away from []byte.

Current minimization code is https://github.com/dvyukov/go-fuzz/blob/34dea346b8c14573ea065f2a3654a7d85e1a8b0c/go-fuzz/worker.go#L322

Also https://github.com/aoh/radamsa

Alao https://github.com/jasantunes/reverx

I now have a rough initial implementation of sequitur, based on the reference C++ code: https://github.com/dgryski/go-sequitur

For `InsertRepeatedBytes` and `EraseBytes`, it looks like the code to work on is https://github.com/dvyukov/go-fuzz/blob/490b850ac16b7307e047fb1ea3d91dfc5e8154f4/go-fuzz/mutator.go#L39 libfuzzer strategies are: https://github.com/llvm-mirror/compiler-rt/blob/master/lib/fuzzer/FuzzerMutate.cpp

@dvyukov Is there any bug open to track the steps required for this to be integrated upstream?

I just meant the logical equivalent of symlinks, not actual on-disk ones.