Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teaser for "Detecting Optimization Bugs in Data...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Manuel Rigger Manuel Rigger
October 29, 2020
190

Teaser for "Detecting Optimization Bugs in Database Engines via Non-Optimizing Reference Engine Construction" at ESEC/FSE '20

Avatar for Manuel Rigger

Manuel Rigger

October 29, 2020
Tweet

More Decks by Manuel Rigger

Transcript

  1. Detecting Optimization Bugs in Database Engines via Non-optimizing Reference Engine

    Construction Manuel Rigger Zhendong Su ETH Zurich, Switzerland ESEC/FSE 2020 @RiggerManuel @ast_eth https://people.inf.ethz.ch/suz/
  2. 3 Database Management Systems (DBMSs) PostgreSQL SQLite is used in

    mobile phones, web browsers, OSs, TVs, …
  3. 4 PostgreSQL Database Management Systems (DBMSs) We found 159 unique

    bugs in these systems, 141 of which have been fixed
  4. 5 Optimization Bugs CREATE TABLE t0(c0 UNIQUE); INSERT INTO t0

    VALUES (-1) ; SELECT * FROM t0 WHERE t0.c0 GLOB '-*'; c0 -1 t0 {}  Optimizer https://www.sqlite.org/src/tktview?name=0f0428096f
  5. 6 Optimization Bugs CREATE TABLE t0(c0 UNIQUE); INSERT INTO t0

    VALUES (-1) ; SELECT * FROM t0 WHERE t0.c0 GLOB '-*'; c0 -1 t0 Optimizer -1 ✓ https://www.sqlite.org/src/tktview?name=0f0428096f
  6. 9 SELECT t0.c0 GLOB '-*' FROM t0; NoREC SELECT *

    FROM t0 WHERE t0.c0 GLOB '-*'; {} Optimizer
  7. 10 SELECT t0.c0 GLOB '-*' FROM t0; NoREC SELECT *

    FROM t0 WHERE t0.c0 GLOB '-*'; TRUE {} Optimizer Optimizer
  8. 11 SELECT t0.c0 GLOB '-*' FROM t0; NoREC SELECT *

    FROM t0 WHERE t0.c0 GLOB '-*'; TRUE {} Result should contain one row Optimizer Optimizer
  9. 12 SELECT t0.c0 GLOB '-*' FROM t0; NoREC SELECT *

    FROM t0 WHERE t0.c0 GLOB '-*'; TRUE {} Result should contain one row  Optimizer Optimizer