~/talk

SQLancer: Automatically Finding Bugs in Database Management Systems

Talkat SPLASH 2020 REBASE · 2020-11-16..11-23· [databases, testing]
slides:none on file

SQLancer is an automated tester (Java/Maven, GitHub) that generates small databases and thousands of SQL queries and validates results with three concrete oracles: pivot row oracle (checks a single guaranteed row, finds ~100 bugs), non‑optimizing rewrite (derives an unoptimized/query rewrite to expose optimizer bugs, ~160 bugs), and tuple/aggregate partitioning (partition + compose to test aggregates, ~200 bugs). It reports over 450 distinct DBMS bugs across SQLite, MySQL/MariaDB, PostgreSQL, CockroachDB and others, and many were fixed rapidly.

AI-written summary · about

  1. 0:00SQLancer introduction
  2. 1:28DBMS testing need
  3. 2:30Logic bugs in DBMSs
  4. 4:19Differential testing limits
  5. 6:02SQLancer overview
  6. 7:28Test case generation
  7. 8:11Pivot query synthesis
  8. 10:39PQS validation
  9. 12:50PQS results
  10. 13:51Advantages and disadvantages of PQS
  11. 14:54NORC introduction
  12. 15:38Optimization bug example
  13. 17:24NORC query rewrites
  14. 20:58NORC results vs PQS
  15. 22:51Advantages and limitations of NORC
  16. 23:31Ternary logic partitioning
  17. 25:17TLP strategies
  18. 26:45TLP aggregate testing
  19. 29:54TLP CockroachDB bug
  20. 31:22TLP effectiveness
  21. 32:26Advantages and disadvantages of TLP
  22. 32:46SQLancer strategy
  23. 33:29SQLancer adoption
  24. 34:33Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.