数据库管理系统(database management system,DBMS)作为数据管理与存储的关键软件,其可靠性直接影响数据密集型系统的安全稳定运行。近年来,模糊测试因其具备人工成本低、测试效率高等特点,成为DBMS测试方法之一。然而现有的DBMS模糊测...数据库管理系统(database management system,DBMS)作为数据管理与存储的关键软件,其可靠性直接影响数据密集型系统的安全稳定运行。近年来,模糊测试因其具备人工成本低、测试效率高等特点,成为DBMS测试方法之一。然而现有的DBMS模糊测试方法面临测试用例覆盖能力不足与多DBMS适配性差两大问题,限制了测试的效果和泛用性。为此,CLCC(curated LLM case construct)是一种基于大语言模型(large language model,LLM)的DBMS模糊测试方法。该方法在模糊测试前,利用LLM对初始种子进行构建,并在模糊测试过程中,根据边覆盖情况筛选种子,引导LLM生成测试用例。与SQUIRREL、SQLRight和ParserFuzz进行的对比实验表明,CLCC测试SQLite、MySQL、MariaDB、DuckDB和PostgreSQL的边覆盖数量比SQUIRREL增加了14.96%~49.31%;测试SQLite、MySQL和PostgreSQL的边覆盖数量比SQLRight增加了6.09%~17.10%;测试SQLite、MySQL和MariaDB的边覆盖数量比ParserFuzz增加了17.95%~41.20%。展开更多
文摘数据库管理系统(database management system,DBMS)作为数据管理与存储的关键软件,其可靠性直接影响数据密集型系统的安全稳定运行。近年来,模糊测试因其具备人工成本低、测试效率高等特点,成为DBMS测试方法之一。然而现有的DBMS模糊测试方法面临测试用例覆盖能力不足与多DBMS适配性差两大问题,限制了测试的效果和泛用性。为此,CLCC(curated LLM case construct)是一种基于大语言模型(large language model,LLM)的DBMS模糊测试方法。该方法在模糊测试前,利用LLM对初始种子进行构建,并在模糊测试过程中,根据边覆盖情况筛选种子,引导LLM生成测试用例。与SQUIRREL、SQLRight和ParserFuzz进行的对比实验表明,CLCC测试SQLite、MySQL、MariaDB、DuckDB和PostgreSQL的边覆盖数量比SQUIRREL增加了14.96%~49.31%;测试SQLite、MySQL和PostgreSQL的边覆盖数量比SQLRight增加了6.09%~17.10%;测试SQLite、MySQL和MariaDB的边覆盖数量比ParserFuzz增加了17.95%~41.20%。