Journal of East China Normal University(Natural Science) ›› 2023, Vol. 2023 ›› Issue (5): 51-64.doi: 10.3969/j.issn.1000-5641.2023.05.005

• Database Systems • Previous Articles     Next Articles

Generating diverse database isolation level test cases with fuzzy testing

Xiyu LU1, Wei LIU2,*(), Siyang WENG1, Keqiang LI1, Rong ZHANG1   

  1. 1. School of Data Science and Engineering, East China Normal University, Shanghai 200062, China
    2. The Fifth Electronics Research Institute of the Ministry of Industry and Information Technology, Guangzhou 511300, China
  • Received:2023-06-29 Online:2023-09-25 Published:2023-09-15
  • Contact: Wei LIU E-mail:liuwei@ceprei.com

Abstract:

Database management systems play a vital role in modern information systems. Isolation level testing is important for database management systems to ensure the isolation of concurrent operations and data consistency to prevent data corruption, inconsistency and security risks, and to provide reliable data access to users. Fuzzy testing is a method widely used in software and system testing. By searching the test space and generating diverse test cases, it explores the boundary conditions, anomalies and potential problems of the system to find possible vulnerabilities. This article introduces SilverBlade, a tool for fuzzy testing of database isolation levels, that aims to improve the diversity of generated test cases and explore the isolation level test space in depth-wise. To effectively search the huge test space, this study designed a structured test input that splits the test space into two subspaces of concurrent transaction combination and execution interaction modes for searching. To test the isolation-level core implementation test space more comprehensively, an adaptive search method based on depth and breadth was also designed for effective mutation test cases. The experimental results show that SilverBlade is able to generate diverse test cases and provide broader coverage of the core implementation code of the database isolation level in the popular database management system PostgreSQL. Compared to similar tools, SilverBlade performed better at improving test coverage in critical areas of the isolation level.

Key words: fuzzy testing, diversity test cases, isolation level, concurrent transaction, database management system

CLC Number: