arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.03256cs.SE
收藏

识别量子程序中的不稳定性

Identifying Flakiness in Quantum Programs

Lei Zhang, Mahsa Radnejad, Andriy Miranskyy

AI总结:

本文通过分析 14 个量子软件仓库,识别出 12 个仓库中的 flaky tests,归纳其成因与修复方法,并指出量子程序员尚未充分采用现有应对措施,为研究和实践提供定量依据。

摘要:

近年来,软件工程师一直在探索帮助量子软件程序员的方法。本文的目标是继续这一探索,并考察量子软件程序员是否面临困扰经典程序的一些问题。具体而言,我们研究间歇性失败的测试,即 flaky tests,是否会影响量子软件开发。为了探索 flaky tests,我们对 14 个量子软件仓库进行了初步分析。然后,我们识别 flaky tests,并对其成因和修复方法进行分类。我们在 14 个量子软件仓库中的 12 个中发现了 flaky tests。在这 12 个仓库中,与 flaky tests 相关的问题所占比例的下界在每个仓库中介于 0.26% 到 1.85% 之间。我们识别出 46 个不同的 flaky test 报告,涉及 8 组成因和 7 种常见解决方案。此外,我们注意到量子程序员并未采用软件工程师近年来开发的一些 flaky test 应对措施。这项工作可能会引起从业者的兴趣,因为它为量子程序中 flaky tests 的解决提供了有用的见解。研究人员也可能会发现本文有帮助,因为它提供了量子软件中 flaky tests 的定量数据,并指出了新的研究机会。

英文摘要:

In recent years, software engineers have explored ways to assist quantum software programmers. Our goal in this paper is to continue this exploration and see if quantum software programmers deal with some problems plaguing classical programs. Specifically, we examine whether intermittently failing tests, i.e., flaky tests, affect quantum software development. To explore flakiness, we conduct a preliminary analysis of 14 quantum software repositories. Then, we identify flaky tests and categorize their causes and methods of fixing them. We find flaky tests in 12 out of 14 quantum software repositories. In these 12 repositories, the lower boundary of the percentage of issues related to flaky tests ranges between 0.26% and 1.85% per repository. We identify 46 distinct flaky test reports with 8 groups of causes and 7 common solutions. Further, we notice that quantum programmers are not using some of the recent flaky test countermeasures developed by software engineers. This work may interest practitioners, as it provides useful insight into the resolution of flaky tests in quantum programs. Researchers may also find the paper helpful as it offers quantitative data on flaky tests in quantum software and points to new research opportunities.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑