paperbot · PL 论文追踪

全部论文 待读 收藏

P2 QUTest: A Native Testing Framework for Quantum Programs

QUTest:面向量子程序的原生测试框架
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026匹配度 1/10 · 论文聚焦量子程序的原生测试框架、断言与 lint,属于量子软件测试方向;与用户核心关注的静态分析×LLM、Agentic/ML 程序分析、浮点程序分析、贝叶斯程序分析均无直接交叉。引用 0 inbox
José Campos
crossref: 2026-10-09

AI 速览

一句话:提出 QUTest,用标准 .qasm 文件原生编写量子程序测试,支持断言、lint 与多运行时兼容检查。

量子程序常以 OpenQASM 3 电路形式共享,但测试通常用 Python 与 Qiskit 等宿主语言编写,割裂了程序与测试。QUTest 是原生测试框架,程序与测试都是标准 .qasm 文件,测试采用 Arrange/Act/Assert 模式,配置、运行时需求与断言以 pragma 注释 //% 编码,保持与现有 OpenQASM 工具兼容。它提供 12 种断言,覆盖确定性、统计、量子态与结构检查,并含 linter 和可跨选定运行时版本在隔离环境中运行的环境感知模式。其 CLI 支持自动测试发现、运行时兼容性检查以及用于持续集成的 XML 报告。论文描述 pragma 语言与实现,并计划通过覆盖率和变异测试进行评估。

问题
量子程序多以 OpenQASM 3 电路共享,但测试仍依赖 Python/Qiskit 等宿主语言,缺乏原生的测试框架。
方法
让程序与测试均为标准 .qasm 文件,遵循 Arrange/Act/Assert,并通过 //% pragma 注释编码配置、运行时需求与断言,兼容现有 OpenQASM 工具;提供 12 种断言、linter、环境感知模式及支持发现、兼容性检查和 XML 报告的 CLI。
评估
论文描述了 pragma 语言与实现,并计划使用覆盖率和变异测试进行评估。
原文摘要(Abstract)

Quantum programs are often shared as OpenQASM 3 circuits, but tests are still written in host languages such as Python with Qiskit. We present QUTest, a native framework in which both programs and tests are standard .qasm files. Tests follow the Arrange / Act / Assert pattern, while configuration, runtime requirements, and assertions are encoded as pragma comments (//%), preserving compatibility with existing OpenQASM tools. QUTest provides 12 assertion types spanning deterministic, statistical, quantum-state, and structural checks, plus a linter and an environment-aware mode for running the same test across selected runtime versions in isolated environments. Its CLI supports automatic test discovery, runtime compatibility checks, and XML reports for continuous integration. We describe the pragma language, implementation, and a planned evaluation using coverage and mutation testing.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{abs-2605-19736,
  title = {QUTest: A Native Testing Framework for Quantum Programs},
  author = {José Campos},
  booktitle = {ASE},
  year = {2026},
  doi = {10.1145/3832783.3834609}
}