paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Finding ∀∃ Hyperbugs using Symbolic Execution

使用符号执行发现 ∀∃ 超属性缺陷
OOPSLA 8(OOPSLA2)2024匹配度 4/10 · 该论文属于程序验证/程序分析范畴,用符号执行扩展迹量化来发现 ∀∃ 超属性(如精化、非干涉)的违反,与用户的 PL 背景和静态分析兴趣有方法学上的邻接;但它既未涉及 LLM/Agent,也未应用于机器学习系统或浮点、贝叶斯分析等用户明确关注的方向,属于纯 PL 技术论文。引用 6 inbox
Arthur Correnson, Tobias Nießen, Bernd Finkbeiner, Georg Weissenbacher
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出扩展符号执行以支持迹量化的全自动方法,用于发现 ∀∃ 超属性的违反。

许多重要超属性(如 refinement 和广义非干涉)属于 ∀∃ 超属性:对系统的每条执行迹,都要求存在另一条满足特定关系的迹。量词交替使这类属性极难验证甚至测试;与迹属性只需找到单一反例不同,反驳 ∀∃ 超属性既要找到一条迹,还要证明不存在与之满足指定关系的第二条迹,因而现有自动化测试工具无法覆盖。本文提出一种全自动方法,通过扩展基于符号执行的缺陷查找技术,使其支持迹量化,从而检测软件系统对 ∀∃ 超属性的违反。作者实现了原型工具,并在具有挑战性的示例集上验证了其有效性。

问题
如何自动检测软件中 ∀∃ 超属性的违反;现有测试工具因量词交替而无法处理寻找第二条迹并证明其不存在的需求。
方法
扩展基于符号执行的缺陷查找技术,加入对迹量化的支持,以实现对 ∀∃ 超属性反例的全自动搜索。
评估
实现了原型工具,并在具有挑战性的示例集上展示了方法检测 ∀∃ 超属性违反的有效性。
原文摘要(Abstract)

Many important hyperproperties, such as refinement and generalized non-interference, fall into the class of ∀∃ hyperproperties and require, for each execution trace of a system, the existence of another trace relating to the first one in a certain way. The alternation of quantifiers renders ∀∃ hyperproperties extremely difficult to verify, or even just to test. Indeed, contrary to trace properties, where it suffices to find a single counterexample trace, refuting a ∀∃ hyperproperty requires not only to find a trace, but also a proof that no second trace satisfies the specified relation with the first trace. As a consequence, automated testing of ∀∃ hyperproperties falls out of the scope of existing automated testing tools. In this paper, we present a fully automated approach to detect violations of ∀∃ hyperproperties in software systems. Our approach extends bug-finding techniques based on symbolic execution with support for trace quantification. We provide a prototype implementation of our approach, and demonstrate its effectiveness on a set of challenging examples.

链接与引用

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

BibTeX
@article{CorrensonNFW24,
  title = {Finding ∀∃ Hyperbugs using Symbolic Execution},
  author = {Arthur Correnson and Tobias Nießen and Bernd Finkbeiner and Georg Weissenbacher},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689761}
}