Documentation Source Text

Check-in [82b0b65c87]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Remove the claim that AFL runs continuously.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 82b0b65c876dd772ae2b91ad6c18b1c21448983e
User & Date: drh 2015-09-19 18:23:42.845
Context
2015-09-23
00:55
Mention the valgrindfuzz make target in the discussion of AFL. (check-in: 1d0a599d9e user: drh tags: trunk)
2015-09-19
18:23
Remove the claim that AFL runs continuously. (check-in: 82b0b65c87 user: drh tags: trunk)
2015-09-15
12:38
Merge the Expensify logo from the previous release branch. (check-in: 9da68a0646 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/testing.in.
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<p>AFL has proven remarkably adept at finding arcane bugs in SQLite.
Most of the findings have been assert() statements where the conditional
was false under obscure circumstances.  But AFL has also found
a fair number of crash bugs in SQLite, and even a few cases where SQLite 
computed incorrect results.

<p>Because of its past success, AFL became a standard part of the testing
strategy for SQLite beginning with [version 3.8.10].  There are at least two
instance of AFL running against SQLite continuously, 24/7/365, trying new
randomly mutated inputs against SQLite at a rate of a few hundred to a few
thousand per second.  Both SQL statements and database files are fuzzed.
Billions and billions of mutations have been tried, but AFL's 
instrumentation has narrowed them down to less than 50,000 test cases that
cover all distinct behaviors.  Newly discovered test cases are periodically
captured and added to the [TCL test suite] where they can be rerun using
the "make fuzztest" command.

<h3>4.2 Malformed Database Files</h3>







|
<
<
|







388
389
390
391
392
393
394
395


396
397
398
399
400
401
402
403
<p>AFL has proven remarkably adept at finding arcane bugs in SQLite.
Most of the findings have been assert() statements where the conditional
was false under obscure circumstances.  But AFL has also found
a fair number of crash bugs in SQLite, and even a few cases where SQLite 
computed incorrect results.

<p>Because of its past success, AFL became a standard part of the testing
strategy for SQLite beginning with [version 3.8.10].  


Both SQL statements and database files are fuzzed.
Billions and billions of mutations have been tried, but AFL's 
instrumentation has narrowed them down to less than 50,000 test cases that
cover all distinct behaviors.  Newly discovered test cases are periodically
captured and added to the [TCL test suite] where they can be rerun using
the "make fuzztest" command.

<h3>4.2 Malformed Database Files</h3>