← 最新论文
⚛️ quantum physics

QuSema: Detecting Silent Bugs in Quantum Libraries via Quantum-knowledge-enhanced Agents

QuSema 是一个增强了量子知识的自主智能体,它通过利用量子语义和文档作为源码级预言机来识别语义偏差并生成可执行测试,从而检测量子库中的隐性缺陷,并成功发现了 Qiskit 和 PennyLane 中许多此前未知的缺陷。

原作者: Yujin Song, Kaining Zhang, Qixin Zhang, Shuai Wang, Pingchuan Ma, Yuxuan Du

发布于 2026-10-08
📖 1 分钟阅读🧠 深度阅读

原作者: Yujin Song, Kaining Zhang, Qixin Zhang, Shuai Wang, Pingchuan Ma, Yuxuan Du

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

量子计算有望解决目前经典计算机无法处理的问题,从设计新药到优化复杂的物流。为了使这项技术变得可用,科学家们构建了软件库——这些是预先编写的代码的大规模集合,充当着构建量子程序的必备工具。这些库允许研究人员定义量子操作,并在模拟器或真实硬件上运行它们。然而,由于该领域仍处于起步阶段,软件本身容易出现错误。虽然有些错误是显而易见的,会导致程序崩溃或立即停止,但另一些错误则更为危险,因为它们是“沉默”的。沉默的漏洞(bug)允许程序在没有任何警告的情况下运行至完成,但却产生了一个错误的答案。在一个哪怕一次错误的计算都可能误导数年研究或浪费昂贵计算资源的领域中,寻找这些隐藏的错误是一项至关重要的挑战。

多年来,寻找这些漏洞的标准方法是将一个量子库的输出与另一个进行比较,或者检查程序在经过特定的数学变换后是否表现一致。当预期结果已知,或者两个不同的工具应该产生相同输出时,这种方法效果很好。但当一个库执行一项没有其他工具可以完成的独特任务,或者当漏洞仅在非常特定、复杂的条件下出现且难以预测时,这种方法就会失效。在这种情况下,软件运行得非常完美,却悄无声息地交付了一个错误的结果,让用户察觉不到自己的工作存在缺陷。

为了解决这个问题,一个研究团队开发了一种名为 QuSema 的新型自动化系统。QuSema 不依赖于比较输出或猜测哪些条件可能触发故障,而是扮演着一个智能审计员的角色,直接读取库本身的源代码。它利用先进的人工智能,根据库自身的文档和量子物理的基本规则来理解代码的预期行为。该系统通过将库分解成细小、易于管理的程序片段,并提出一个简单的问题:考虑到量子力学的规则,这段代码是否在做它应该做的事情?如果代码逻辑表明它可能会从有效输入中产生无效结果,系统就会将其标记为潜在缺陷。

这一过程非常严谨。一旦系统识别出可疑的逻辑,它并不会止步于此。它会尝试构建一个人类用户可以运行的真实测试用例。它会检查该漏洞是否可以通过用户实际使用的标准工具被触发,从而确保发现的结果不仅仅是内部机制中的理论性故障,而是现实世界中的问题。这种方法使系统能够发现以往方法所遗漏的错误,特别是那些发生在独特功能中,或需要非常特定、非显性条件才会出现的错误。

当研究人员将该系统应用于两个最流行的量子库 Qiskit 和 PennyLane 时,结果非常显著。他们首先用二十个过去已报告过的已知沉默漏洞对系统提出了挑战。系统成功定位了绝大多数已知错误的根源,其表现优于那些依赖通用编程知识而非特定量子专业知识的自动化编码助手。更令人印象深刻的是,当系统在没有任何特定漏洞预知的情况下,应用于这两个库的完整当前代码库时,它发现了 40 个此前未知的议题。这些库的开发者确认了所有 40 个发现。在这些新发现中,有 30 个是返回错误结果而不崩溃的沉默漏洞,其中 5 个影响的功能由于不存在可供对比的其他工具,超出了传统测试方法的覆盖范围。

系统发现的一个具体案例涉及 PennyLane 中玻色算符(bosonic operators)相乘的一个函数。系统注意到,代码将排序后的字典键(keys)与保持插入顺序的值(values)进行配对,这在相乘过程中可能会交换创建算符和湮灭算符,导致等效操作数产生错误结果。另一个发现涉及 Qiskit 中一个优化量子电路的工具;系统检测到该工具以错误的顺序组合嵌套控制修饰符,从而改变了控制条件并在不报错的情况下违反了电路语义。这些错误之所以在标准测试中无法被察觉,是因为程序能成功运行并产生看起来似乎合理的输出,尽管其底层逻辑是有缺陷的。

QuSema 的成功为确保量子软件的可靠性开辟了一条新路径。通过教会人工智能理解量子物理的具体语义,并将其与库自身的文档进行交叉验证,研究人员创建了一个能够发现困扰复杂系统的“沉默”失败的工具。这种方法不需要第二个库来进行对比,也不需要预定义的测试用例。相反,它依赖于对代码“应当做什么”的深度理解。研究结果表明,即使在最先进的软件基础设施中,也潜伏着等待被发现的微妙错误,并且将类人推理与自动化测试相结合,可以在这些错误导致代价高昂的科学发现错误之前将其揭示出来。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →