Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
implemented insert and replace mutations for fuzzer
Summary: This adds two new mutations to the fuzzer. The insert mutation will insert randomly generated instructions into existing sequences, rebalancing the stack as it goes. The replace mutations will replace existing instructions with randomly generated others with the same stack signature. This way the stack stays balanced as part of the mutation. Just in testing, these mutations uncovered two bugs in HHVM: T19829202 and T19825390. The large lists of generators in random_utils.ml are good candidates for autogeneration from the bytecode spec if/when that project ever gets off the ground. Code was also cleaned up or simplified in various places, mostly removing unnecessary parentheses or eta-reducing a couple of functions. Reviewed By: nbenton Differential Revision: D5359683 fbshipit-source-id: f43729d0fc058b857f22560e23f03729c4acdf10
- Loading branch information