How we used Quint to find over 10 bugs in SQLite while hardening Turso
Blog post from Turso
Turso, a rewrite of SQLite, has embraced rigorous testing methodologies to ensure reliability, including employing tools like Quint, which helped uncover over 10 bugs in SQLite. A Turso community member, Pavan Nambi, utilized Quint to model the SQLite C API and verify its specifications against SQLite itself, revealing discrepancies such as the sqlite3_deserialize() function crashing instead of returning SQLITE_BUSY during an active read transaction. This process highlighted the potential of formal methods in software testing, showing that even a well-established system like SQLite can harbor undetected bugs despite being thoroughly tested over the years. The exploration with Quint not only improved Turso but also contributed to the enhancement of SQLite by identifying and addressing these hidden issues.