summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerMutate.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵Kostya Serebryany2016-01-191-3/+2
| | | | | | MyStoll to handle negative values. Use std::any_of instead of std::find_if llvm-svn: 258178
* [libFuzzer] replace vector with a simpler data structure in the Dictionaries ↵Kostya Serebryany2016-01-161-26/+25
| | | | | | to avoid memory allocations on hot path llvm-svn: 257985
* [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵Kostya Serebryany2016-01-141-13/+59
| | | | | | dictionary entries were successful llvm-svn: 257736
* [libFuzzer] when a new unit is discovered using a dictionary, print all used ↵Kostya Serebryany2016-01-121-2/+12
| | | | | | dictionary entries llvm-svn: 257435
* [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵Kostya Serebryany2016-01-091-0/+6
| | | | | | custom code just rely on the automatically created dictionary llvm-svn: 257248
* [libFuzzer] add a position hint to the dictionary-based mutatorKostya Serebryany2016-01-071-20/+50
| | | | llvm-svn: 257013
* [libFuzzer] extend the dictionary mutator to optionally overwrite data with ↵Kostya Serebryany2016-01-061-5/+12
| | | | | | the dict entry llvm-svn: 256900
* [libFuzzer] make CrossOver just one of the other mutationsKostya Serebryany2015-12-191-0/+23
| | | | llvm-svn: 256081
* [libFuzzer] print successfull mutations sequencesKostya Serebryany2015-12-191-13/+30
| | | | llvm-svn: 256071
* [libFuzzer] fix 32-bit buildKostya Serebryany2015-10-081-1/+1
| | | | llvm-svn: 249646
* [libFuzzer] add one more mutator: Mutate_ChangeASCIIIntegerKostya Serebryany2015-09-081-0/+34
| | | | llvm-svn: 247027
* [libFuzzer] when a single mutation fails try a few more times with other ↵Kostya Serebryany2015-09-041-7/+14
| | | | | | mutations before returning un-mutated data llvm-svn: 246828
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-041-7/+47
| | | | llvm-svn: 246825
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-031-17/+16
| | | | | | a class. NFC llvm-svn: 246808
* [libFuzzer] add one more mutation strategy: byte shufflingKostya Serebryany2015-08-061-1/+15
| | | | llvm-svn: 244188
* [libFuzzer] more refactoring of the Mutator and adding tests to itKostya Serebryany2015-08-011-13/+28
| | | | llvm-svn: 243818
* [libFuzzer] start refactoring the Mutator and adding tests to itKostya Serebryany2015-08-011-7/+11
| | | | llvm-svn: 243817
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-241-12/+13
| | | | llvm-svn: 243078
* [lib/Fuzzer] extend the fuzzer interface to allow user-supplied mutatorsKostya Serebryany2015-05-221-24/+25
| | | | llvm-svn: 238059
* [fuzzer] properly annotate fallthrough, add one more entry to FAQKostya Serebryany2015-02-191-1/+1
| | | | llvm-svn: 229880
* [fuzzer] make multi-process execution more verbose; fix mutation to actually ↵Kostya Serebryany2015-02-041-8/+16
| | | | | | respect mutation depth and to never produce empty units llvm-svn: 228170
* Reverting r227452, which adds back the fuzzer library. Now excluding the ↵Aaron Ballman2015-01-291-0/+62
| | | | | | fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. llvm-svn: 227464
* Temporarily reverting the fuzzer library as it causes too many build issues ↵Aaron Ballman2015-01-291-62/+0
| | | | | | for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252 llvm-svn: 227452
* Add a Fuzzer libraryKostya Serebryany2015-01-271-0/+62
Summary: A simple genetic in-process coverage-guided fuzz testing library. I've used this fuzzer to test clang-format (it found 12+ bugs, thanks djasper@ for the fixes!) and it may also help us test other parts of LLVM. So why not keep it in the LLVM repository? I plan to add the cmake build rules later (in a separate patch, if that's ok) and also add a clang-format-fuzzer target. See README.txt for details. Test Plan: Tests will follow separately. Reviewers: djasper, chandlerc, rnk Reviewed By: rnk Subscribers: majnemer, ygribov, dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D7184 llvm-svn: 227252
OpenPOWER on IntegriCloud