Finding Logic Bugs in Spatial Database Engines via Affine Equivalent Inputs

Abstract

Spatial Database Management Systems (SDBMSs) aim to store, manipulate, and retrieve spatial data. SDBMSs are employed in various modern applications, such as geographic information systems, computer-aided design tools, and location-based services. However, the presence of logic bugs in SDBMSs can lead to incorrect results, substantially undermining the reliability of these applications. Detecting logic bugs in SDBMSs is challenging due to the lack of ground truth for identifying incorrect results. In this paper, we propose an automated geometry-aware generator to generate high-quality SQL statements for SDBMSs and a novel concept named Affine Equivalent Inputs (AEI) to validate the results of SDBMSs. We implemented them as a tool named Spatter (Spatial DBMS Tester) for finding logic bugs in four popular SDBMSs: PostGIS, DuckDB Spatial, MySQL, and SQL Server. Our testing campaign detected 34 previously unknown and unique bugs in these SDBMSs, of which 30 have been confirmed, and 18 have already been fixed. Our testing efforts have been well appreciated by the developers. Experimental results demonstrate that the geometry-aware generator significantly outperforms a naive random-shape generator in detecting unique bugs, and AEI can identify 14 logic bugs in SDBMSs that were overlooked by previous methodologies.

Publication
Proceeding of ACM Management of Data
Wenjing Deng
Wenjing Deng
Master Intern

Wenjing Deng is a master student doing an internship at the lab for half a year.

Qiuyang Mang
Qiuyang Mang
Undergraduate Intern

Qiuyang Mang is an undergraduate student who was doing internship at the lab for half a year.

Manuel Rigger
Manuel Rigger
Faculty

Manuel is an Assistant Professor and leads the group.