数据库管理系统(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%。展开更多
现有基于深度学习的语句级缺陷定位方法通过深度学习模型学习各种传统缺陷定位方法计算出的可疑度值等特征来进行缺陷定位,其主要关注执行测试用例的动态信息,未关注缺陷语句与非缺陷语句之间的类不平衡问题,缺陷定位的准确性有待进一...现有基于深度学习的语句级缺陷定位方法通过深度学习模型学习各种传统缺陷定位方法计算出的可疑度值等特征来进行缺陷定位,其主要关注执行测试用例的动态信息,未关注缺陷语句与非缺陷语句之间的类不平衡问题,缺陷定位的准确性有待进一步提高。为此,提出了一种融合多类特征的语句级缺陷定位方法SMSDFL(combining spectrum,mutation and semantic features for deep fault localization),该方法将多种基于频谱和变异的缺陷定位方法计算的可疑度值作为频谱特征和变异特征,利用数据流和控制流对代码语句进行切片,获取与对应语句存在依赖关系的代码片段,以计算Overlap、Tightness等度量元作为其语义特征;采用生成对抗网络扩增缺陷语句的特征数据来解决缺陷语句与非缺陷语句之间的类不平衡问题;将这三类特征进行融合输入到递归神经网络中计算语句的可疑度值,并根据可疑度值对语句进行降序排序,以定位缺陷语句。为评估SMSDFL的缺陷定位性能在Defects4J数据集上进行了实验。实验结果表明,SMSDFL取得了比现有方法更好的缺陷定位效果,其中,仅检查可疑语句排名中的第一条语句时,SMSDFL比Ochiai、MUSE、CGAN4FL和GRACE分别多定位到166、161、151、68条缺陷语句。展开更多
文摘数据库管理系统(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%。
文摘现有基于深度学习的语句级缺陷定位方法通过深度学习模型学习各种传统缺陷定位方法计算出的可疑度值等特征来进行缺陷定位,其主要关注执行测试用例的动态信息,未关注缺陷语句与非缺陷语句之间的类不平衡问题,缺陷定位的准确性有待进一步提高。为此,提出了一种融合多类特征的语句级缺陷定位方法SMSDFL(combining spectrum,mutation and semantic features for deep fault localization),该方法将多种基于频谱和变异的缺陷定位方法计算的可疑度值作为频谱特征和变异特征,利用数据流和控制流对代码语句进行切片,获取与对应语句存在依赖关系的代码片段,以计算Overlap、Tightness等度量元作为其语义特征;采用生成对抗网络扩增缺陷语句的特征数据来解决缺陷语句与非缺陷语句之间的类不平衡问题;将这三类特征进行融合输入到递归神经网络中计算语句的可疑度值,并根据可疑度值对语句进行降序排序,以定位缺陷语句。为评估SMSDFL的缺陷定位性能在Defects4J数据集上进行了实验。实验结果表明,SMSDFL取得了比现有方法更好的缺陷定位效果,其中,仅检查可疑语句排名中的第一条语句时,SMSDFL比Ochiai、MUSE、CGAN4FL和GRACE分别多定位到166、161、151、68条缺陷语句。