paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Metamorphic testing of Datalog engines

Datalog 引擎的蜕变测试
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 4/10 · 该论文针对 Datalog 引擎的蜕变测试,属于程序分析基础设施的正确性保障,与静态分析相关;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未直接改进静态分析算法或形式化验证方法。引用 24 inbox
Muhammad Numair Mansur, Maria Christakis, Valentin Wüstholz
crossref: 2026-09-12

AI 速览

一句话:提出首个针对 Datalog 引擎的蜕变测试方法,在三个成熟引擎中发现 13 个此前未知的查询错误。

Datalog 是一种应用广泛的查询语言,但其引擎与任何复杂软件一样可能存在缺陷,其中最严重的是查询求值结果错误(query bugs)。这类错误后果严重,例如会破坏以 Datalog 实现并形式化的程序分析的可靠性。本文提出首个面向 Datalog 引擎的蜕变测试(metamorphic testing)方法,通过构造满足蜕变关系的查询对来自动检测查询错误。作者在三个成熟引擎上运行该工具,共发现 13 个此前未知的查询错误,其中部分错误隐藏较深,暴露出关键性的语义问题。

问题
Datalog 引擎可能包含查询错误,导致求值结果不正确,进而危及基于 Datalog 实现的程序分析等应用的可靠性。
方法
提出首个针对 Datalog 引擎的蜕变测试方法,利用蜕变关系自动构造并比较相关查询,以检测结果不一致的查询错误。
评估
在三个成熟的 Datalog 引擎上运行该工具,共发现 13 个此前未知的查询错误,其中一些较为深层并揭示了关键语义问题。
原文摘要(Abstract)

Datalog is a popular query language with applications in several domains. Like any complex piece of software, Datalog engines may contain bugs. The most critical ones manifest as incorrect results when evaluating queries—we refer to these as query bugs. Given the wide applicability of the language, query bugs may have detrimental consequences, for instance, by compromising the soundness of a program analysis that is implemented and formalized in Datalog. In this paper, we present the first metamorphic-testing approach for detecting query bugs in Datalog engines. We ran our tool on three mature engines and found 13 previously unknown query bugs, some of which are deep and revealed critical semantic issues.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6387,
  title = {Metamorphic testing of Datalog engines},
  author = {Muhammad Numair Mansur and Maria Christakis and Valentin Wüstholz},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3468573}
}