Nov 28, 2017
afl-cov-0.6.1 (11/27/2017):
    - (James Steele) Add the '--follow' command line argument which provides an
      option identical to that available on lcov that instructs the search for
      .da files to follow symlinks (which are not traversed by default).
    - Add the '--disable-gcov-check' argument so that the check for whether
      the target binary has been compiled with code coverage support can be
    - (Denis Kasak) Fix incorrect variable name in search_cov.
    - Bug fix noted by @umlaeute be more permissive with instrumented binaries
Jun 6, 2016


afl-cov-0.6 (06/05/2016):
    - (Markus Teufelberger) Add --cover-corpus argument so that code coverage
      is measured only after all new AFL test cases are executed. The main
      advantage is that code coverage results are produced more quickly in
      this mode since AFL can generate test cases - at least initially - much
      faster than code coverage can be calculated for each test case. The
      trade off in this mode is that code coverage stats are not tracked per
      AFL test case, but rather across all new test cases essentially as a
      unified set. In --live mode, --cover-corpus causes coverage to be
      calculated once per sleep cycle after all test cases have been executed.
      In --coverage-at-exit mode, only a single coverage calculation will be
      performed just before afl-cov exits.
    - In either --cover-corpus or --coverage-at-exit modes, the
      cov/id-delta-cov file will contain AFL test case ID ranges for where
      coverage is hit. This is necessary because these modes cause afl-cov to
      execute a series of AFL test cases (instead of each individual test
      case one at a time) before coverage is calculated.
    - Add a prerequisite test to make sure the targeted binary is compiled
      with code coverage support ('-fprofile-arcs -ftest-coverage'). This test
      can be run by itself with --gcov-check.
    - Use the tempfile module for temporary files (suggested by Markus
      Teufelberger in issue #19).
Jan 12, 2016


- For --live mode operations, add the same core pattern detection log…
…ic to

afl-cov that is implemented by afl-fuzz. This helps to ensure that the
environment in which afl-cov is running is consistent with what afl-fuzz
expects to see.
- Make sure --afl-fuzzing-dir exists in --func-search and --line-search
Jan 10, 2016


afl-cov-0.4 (01/09/2016):
    - Add support for parallelized execution runs of AFL. This is done by
      tracking all fuzzing directory instances created with afl-fuzz '-M' or
      '-S'. These directories are created in the main sync directory
      ('afl-fuzz -o sync_dir'). The coverage results are calculated globally
      across all fuzzing instances.
    - Default to not include branch coverage data within code coverag results
      This is because AFL commonly build up many hundreds of test cases, and
      generating branch coverage across all of these cases may slow afl-cov
      down significantly. However, if branch coverage is desired or required,
      just add the new --enable-branch-coverage argument.
    - Added a test suite in the test/ directory that leverages the python
      unittest module. Proper operation of the test suite requires afl-fuzz
      to be installed, and tests are performed against a paricular commit
      (e3ae6747) from the fwknop project for which AFL test cases were
    - Bug fix reported by @kcwu about some files not showing up in zero
      coverage lcov web reports.
Jun 30, 2015


tagged afl-cov-0.3
May 29, 2015


tagged afl-cov-0.2
May 9, 2015


tagged afl-cov-0.1