[PATCH] D14537: sanitizer: speedup coverage by 33%

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 10 13:44:26 PST 2015


dvyukov added a comment.

I've used the following program as fuzzer approximation:

#include <stdio.h>
#include <stdint.h>
#include <re2/re2.h>
#include <sqlite/sqlite3.h>
#include <sanitizer/coverage_interface.h>

uint8_t bitset[1<<24];

int main() {

  for (int i = 0; i < 100000; i++) {
          if (!RE2::PartialMatch("hello", "h.*o")) {
                  sqlite3_open_v2(0, 0, 0, 0);
                  printf("X");
          }
          __sanitizer_reset_coverage();
  }

}

re2 is on commit 7925aaabefbb594a45b500146c1d29da70da0c12 + sqlite3 amalgamation 3.9.2 linked in.

Then built it with -fsanitize=address -fno-omit-frame-pointer -fsanitize-coverage=edge.


http://reviews.llvm.org/D14537





More information about the llvm-commits mailing list