Affiliation:
1. Institute of Software at CAS, China
Abstract
Database Management Systems (DBMSs) are widely used to efficiently store and retrieve data. DBMSs usually support various metadata, e.g., integrity constraints for ensuring data integrity and indexes for locating data. DBMSs can further utilize these metadata to optimize query evaluation. However, incorrect metadata-related optimizations can introduce metadata-related logic bugs, which can cause a DBMS to return an incorrect query result for a given query. In this paper, we propose a general and effective testing approach,
Raw database construction
(Radar), to detect metadata-related logic bugs in DBMSs. Given a database
db
containing some metadata, Radar first constructs a raw database
rawDb
, which wipes out the metadata in
db
and contains the same data as
db.
Since
db
and
rawDb
have the same data, they should return the same query result for a given query. Any inconsistency in their returned query results indicates a metadata-related logic bug. To effectively detect metadata-related logic bugs, we further propose a metadata-oriented testing optimization strategy to focus on testing previously unseen metadata, thus detecting more metadata-related logic bugs quickly. We implement and evaluate Radar on five widely-used DBMSs, and have detected 42 bugs, of which 38 have been confirmed as new bugs and 16 have been fixed by DBMS developers.
Publisher
Association for Computing Machinery (ACM)
Reference73 articles.
1. 2023. AFL: American Fuzzy Lop. http://lcamtuf.coredump.cx/afl/.
2. 2023. Amazon DynamoDB. https://aws.amazon.com/cn/dynamodb/.
3. 2023. Avoiding Full Table Scans. https://dev.mysql.com/doc/refman/8.0/en/table-scan-avoidance.html.
4. 2023. Azure Cosmos DB. https://azure.microsoft.com/.
5. 2023. CockroachDB Homepage. https://www.cockroachlabs.com/.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Testing Gremlin-Based Graph Database Systems via Query Disassembling;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11