summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerInterface.h
Commit message (Collapse)AuthorAgeFilesLines
* [libFuzzer] Delete llvm/lib/FuzzerVitaly Buka2017-10-161-67/+0
| | | | | | | | | | | | Summary: Code is already in compiler-rt Reviewers: kcc Subscribers: krytarowski, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D38912 llvm-svn: 315937
* [libFuzzer] use table of recent compares for memcmp/strcmp (to unify the ↵Kostya Serebryany2017-01-171-1/+1
| | | | | | code between cmp and memcmp handling) llvm-svn: 292287
* [libfuzzer] custom crossover interface function.Mike Aizatsky2016-06-071-0/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D21089 llvm-svn: 272054
* [libFuzzer] simplify FuzzerInterface.hKostya Serebryany2016-05-131-52/+30
| | | | llvm-svn: 269448
* [libFuzzer] don't require seed in fuzzer::Mutate, instead use the global ↵Kostya Serebryany2016-02-131-2/+3
| | | | | | Fuzzer object for fuzzer::Mutate. This makes custom mutators fast llvm-svn: 260810
* [libFuzzer] remove the C++-ish variant of FuzzerDriver from the interfaceKostya Serebryany2016-02-131-6/+0
| | | | llvm-svn: 260801
* [libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea).Kostya Serebryany2016-02-131-93/+5
| | | | llvm-svn: 260796
* [libFuzzer] provide a plain C interface for custom mutators (experimental)Kostya Serebryany2016-02-131-0/+18
| | | | llvm-svn: 260794
* Revert r258473 as it's breaking the build with libc++Ivan Krasin2016-01-221-12/+0
| | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16441 llvm-svn: 258479
* Use std::piecewise_constant_distribution instead of ad-hoc binary search.Ivan Krasin2016-01-221-0/+12
| | | | | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: I had to change the seed for one test to make it pass. Alternatively, the number of runs could be increased. I believe that the average time of 'foo' discovery is not increased, just seed=1 was particularly convenient for the previous PRNG scheme used. Reviewers: aizatsky, kcc Subscribers: llvm-commits, kcc Differential Revision: http://reviews.llvm.org/D16419 llvm-svn: 258473
* [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵Kostya Serebryany2016-01-191-1/+14
| | | | | | MyStoll to handle negative values. Use std::any_of instead of std::find_if llvm-svn: 258178
* [libFuzzer] introduce LLVMFuzzerInitializeKostya Serebryany2016-01-161-1/+9
| | | | llvm-svn: 257980
* [libFuzzer] move some code from public interface header to a non-public ↵Kostya Serebryany2016-01-161-77/+8
| | | | | | header. NFC llvm-svn: 257963
* [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵Kostya Serebryany2016-01-141-5/+10
| | | | | | dictionary entries were successful llvm-svn: 257736
* [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵Kostya Serebryany2016-01-091-0/+3
| | | | | | 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-4/+10
| | | | llvm-svn: 257013
* [libFuzzer] make CrossOver just one of the other mutationsKostya Serebryany2015-12-191-0/+9
| | | | llvm-svn: 256081
* [libFuzzer] print successfull mutations sequencesKostya Serebryany2015-12-191-0/+6
| | | | llvm-svn: 256071
* [LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding.Mike Aizatsky2015-12-101-3/+3
| | | | | | | | Differential Revision: http://reviews.llvm.org/D15339 done llvm-svn: 255296
* [libFuzzer] remove some old code; also make ↵Kostya Serebryany2015-10-231-3/+0
| | | | | | __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan llvm-svn: 251133
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-021-4/+8
| | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214
* [libFuzzer] add two more variants of FuzzerDriver for convenienceKostya Serebryany2015-09-101-0/+6
| | | | llvm-svn: 247300
* [libFuzzer] add one more mutator: Mutate_ChangeASCIIIntegerKostya Serebryany2015-09-081-0/+2
| | | | llvm-svn: 247027
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-041-1/+12
| | | | llvm-svn: 246825
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-031-28/+33
| | | | | | a class. NFC llvm-svn: 246808
* [libFuzzer] move the mutators to public interface so that custom mutators ↵Kostya Serebryany2015-08-061-8/+31
| | | | | | may reuse these functions directly llvm-svn: 244250
* [libFuzzer] add one more mutation strategy: byte shufflingKostya Serebryany2015-08-061-1/+1
| | | | llvm-svn: 244188
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-241-1/+29
| | | | llvm-svn: 243078
* [lib/Fuzzer] make assertions more informative and update comments for the ↵Kostya Serebryany2015-05-301-2/+2
| | | | | | user-supplied mutator llvm-svn: 238658
* [lib/Fuzzer] doxygen-ify the comments for the user interfaceKostya Serebryany2015-05-231-13/+22
| | | | llvm-svn: 238086
* [lib/Fuzzer] extend the fuzzer interface to allow user-supplied mutatorsKostya Serebryany2015-05-221-1/+65
| | | | llvm-svn: 238059
* [fuzzer] split main() into FuzzerDriver() that takes a callback as a ↵Kostya Serebryany2015-02-191-0/+25
parameter and a tiny main() in a separate file llvm-svn: 229882
OpenPOWER on IntegriCloud