summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerLoop.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵Kostya Serebryany2016-01-091-15/+3
| | | | | | custom code just rely on the automatically created dictionary llvm-svn: 257248
* [libfuzzer] print_new_cov_pcs experimental option.Mike Aizatsky2016-01-061-1/+17
| | | | | | Differential Revision: http://reviews.llvm.org/D15901 llvm-svn: 256882
* [libFuzzer] make CrossOver just one of the other mutationsKostya Serebryany2015-12-191-29/+18
| | | | llvm-svn: 256081
* [libFuzzer] print successfull mutations sequencesKostya Serebryany2015-12-191-6/+3
| | | | llvm-svn: 256071
* [libFuzzer] don't reload the corpus more than once every secondKostya Serebryany2015-12-051-1/+6
| | | | llvm-svn: 254824
* [libFuzzer] compute base64 in-process instead of using an external lib. ↵Kostya Serebryany2015-12-041-4/+2
| | | | | | Since libFuzzer should not depend on anything, just re-implement base64 encoder. PR25746 llvm-svn: 254784
* Libfuzzer: do not pass null into user functionMike Aizatsky2015-12-021-1/+5
| | | | | | Differential Revision: http://reviews.llvm.org/D15098 llvm-svn: 254558
* [libFuzzer] add a flag -exact_artifact_pathKostya Serebryany2015-11-251-0/+2
| | | | llvm-svn: 254100
* [libFuzzer] make libFuzzer build even with a compiler that does not have ↵Kostya Serebryany2015-11-131-2/+7
| | | | | | sanitizer headers llvm-svn: 253003
* output_csv libfuzzer optionMike Aizatsky2015-11-121-8/+22
| | | | | | | | | | | Summary: The option outputs statistics in CSV format preceded by 1 header line. This is intended for machine processing of the output. -verbosity=0 should likely be set. Differential Revision: http://reviews.llvm.org/D14600 llvm-svn: 252856
* [libFuzzer] experimental flag -drill (another search heuristic; Mike ↵Kostya Serebryany2015-11-121-9/+61
| | | | | | Aizatsky's idea) llvm-svn: 252838
* [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵Kostya Serebryany2015-11-091-0/+23
| | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533
* [libFuzzer] print a bit fewer linesKostya Serebryany2015-11-051-1/+3
| | | | llvm-svn: 252123
* [libFuzzer] when choosing the next unit to mutate, give some preference to ↵Kostya Serebryany2015-11-041-26/+45
| | | | | | the most recent units (they are more likely to be interesting) llvm-svn: 252097
* [libFuzzer] add -merge flag to merge corporaKostya Serebryany2015-10-241-0/+32
| | | | llvm-svn: 251168
* [libFuzzer] remove some old code; also make ↵Kostya Serebryany2015-10-231-0/+3
| | | | | | __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan llvm-svn: 251133
* [libFuzzer] use the indirect caller-callee counter as an independent search ↵Kostya Serebryany2015-10-221-1/+14
| | | | | | heuristic llvm-svn: 251078
* [libFuzzer] more refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-221-7/+8
| | | | llvm-svn: 251075
* [libFuzzer] refactoring the code that checks the coverage. NFCKostya Serebryany2015-10-221-29/+35
| | | | llvm-svn: 251074
* [libFuzzer] remove the deprecated 'tokens' featureKostya Serebryany2015-10-221-32/+7
| | | | llvm-svn: 251069
* [libFuzzer] add -shuffle flagKostya Serebryany2015-10-171-5/+7
| | | | llvm-svn: 250603
* [libFuzzer] print a stack trace on timeoutKostya Serebryany2015-10-161-0/+9
| | | | llvm-svn: 250571
* [libFuzzer] reduce the size of artifacts printed on the screenKostya Serebryany2015-10-161-1/+1
| | | | llvm-svn: 250565
* [libFuzzer] When -test_single_input crashes the test it is not necessary to ↵Kostya Serebryany2015-10-161-0/+2
| | | | | | write crash-file because input is already known to the user. Patch by Mike Aizatsky llvm-svn: 250564
* [libFuzzer] don't print large artifacts to stderrKostya Serebryany2015-10-091-6/+7
| | | | llvm-svn: 249808
* [libFuzzer] add -artifact_prefix flagKostya Serebryany2015-10-091-2/+3
| | | | llvm-svn: 249807
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-021-2/+4
| | | | | | 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] remove experimental flag and functionalityKostya Serebryany2015-10-021-29/+1
| | | | llvm-svn: 249194
* [libFuzzer] add a flag -max_total_timeKostya Serebryany2015-10-021-0/+4
| | | | llvm-svn: 249181
* [libFuzzer] perform fewer crossover operations compared to plain mutationsKostya Serebryany2015-09-111-7/+8
| | | | llvm-svn: 247364
* [libFuzzer] remove -iterations as redundant (there is also -num_runs)Kostya Serebryany2015-09-081-2/+2
| | | | llvm-svn: 247030
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-041-0/+3
| | | | llvm-svn: 246825
* [libFuzzer] honour -only_ascii=1 when reading the initial corpus. Also, ↵Kostya Serebryany2015-09-021-5/+3
| | | | | | remove ugly #ifdef llvm-svn: 246689
* [libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the ↵Kostya Serebryany2015-08-121-6/+17
| | | | | | trace-based-mutations are applied llvm-svn: 244712
* [libFuzzer] add colons to the stats output to avoid confusionKostya Serebryany2015-08-121-2/+3
| | | | llvm-svn: 244708
* Fix unused variable 'X' in release builds.Nick Lewycky2015-08-111-0/+2
| | | | llvm-svn: 244571
* [libFuzzer] add -only_ascii flagKostya Serebryany2015-08-111-1/+6
| | | | llvm-svn: 244559
* [libFuzzer] add option -report_slow_units=Nsec to control when slow units ↵Kostya Serebryany2015-08-051-3/+4
| | | | | | are printed llvm-svn: 244152
* [libFuzzer] limit the size of the inputs printed to stderrKostya Serebryany2015-07-311-4/+10
| | | | llvm-svn: 243795
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-241-4/+4
| | | | llvm-svn: 243078
* [libFuzzer] dump long running units to disk Kostya Serebryany2015-07-231-4/+5
| | | | llvm-svn: 243031
* [lib/Fuzzer] make assertions more informative and update comments for the ↵Kostya Serebryany2015-05-301-2/+6
| | | | | | user-supplied mutator llvm-svn: 238658
* [lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity)Kostya Serebryany2015-05-261-0/+2
| | | | llvm-svn: 238251
* [lib/Fuzzer] fix build with assertionsKostya Serebryany2015-05-261-3/+3
| | | | llvm-svn: 238235
* [lib/Fuzzer] fully get rid of std::cerr in libFuzzerKostya Serebryany2015-05-231-30/+17
| | | | llvm-svn: 238081
* [lib/Fuzzer] remove -use_coverage_pairs=1, an experimental feature that is ↵Kostya Serebryany2015-05-221-24/+0
| | | | | | unlikely to ever scale llvm-svn: 238063
* [lib/Fuzzer] extend the fuzzer interface to allow user-supplied mutatorsKostya Serebryany2015-05-221-7/+15
| | | | llvm-svn: 238059
* [lib/Fuzzer] change the meaning of -timeout flag: now timeout is applied to ↵Kostya Serebryany2015-05-191-4/+10
| | | | | | every unit of work separately llvm-svn: 237735
* [lib/Fuzzer] more efficient reload logic; also don't spam git too muchKostya Serebryany2015-05-191-5/+9
| | | | llvm-svn: 237649
* [lib/Fuzzer] when -sync_command=<CMD> is given, periodically execute 'CMD ↵Kostya Serebryany2015-05-181-0/+11
| | | | | | CORPUS' to synchronize with other processes llvm-svn: 237617
OpenPOWER on IntegriCloud