1/ A data race lived in SQLite's write-ahead log for 16 years, through 100% MC/DC coverage and a test corpus 590x the size of the library. It survived because the race is rare in time, and testing samples time.
@jorandirkgreef@sachin_singh092@penberg Totally agree. That's why you do formal proofs over the implementation/code rather than just the models. This is exactly what we are working on at Aretta with @penberg (@tursodatabase) and a few others. Happy to talk more if this interests you!
Forming our next cohort now. If you build in a domain where correctness is critical, one sentence of intent is enough to start: https://t.co/adXV81Cds9
Aristo, the SDK this runs through, is open source: https://t.co/ZRJU0XPVgU
1/ A data race lived in SQLite's write-ahead log for 16 years, through 100% MC/DC coverage and a test corpus 590x the size of the library. It survived because the race is rare in time, and testing samples time.
5/ The property we checked is not new. It is SQLite's own WAL spec, published all along. The bug was checkable the day it was written, in 2010. Aristo did not exist in 2010. Alas.
I am so thrilled to share that my recent work on "Scalable Validation of Binary Lifters" got conditionally accepted in PLDI'20. This is build on top of our x86-64 K-semantics (from @Pldi19 ). @RosuGrigore@vadve@alastair_d_reid@taoxiease