The interest in quantum computing is growing, and with it, the importance of software platforms to develop quantum programs. Ensuring the correctness of such platforms is important, and it requires a thorough understanding of the bugs they typically suffer from. To address this need, this paper presents the first in-depth study of bugs in quantum computing platforms. We gather and inspect a set of 223 real-world bugs from 18 open-source quantum computing platforms. Our study shows that a significant fraction of these bugs (39.9%) are quantum-specific, calling for dedicated approaches to prevent and find them. The bugs are spread across various components, but quantum-specific bugs occur particularly often in components that represent, compile, and optimize quantum programming abstractions. Many quantum-specific bugs manifest through unexpected outputs, rather than more obvious signs of misbehavior, such as crashes. Finally, we present a hierarchy of recurrent bug patterns, including ten novel, quantum-specific patterns. Our findings not only show the importance and prevalence bugs in quantum computing platforms, but they help developers to avoid common mistakes and tool builders to tackle the challenge of preventing, finding, and fixing these bugs.
翻译:量子计算的兴趣正在增长, 随着它, 软件平台对于开发量子程序的重要性正在增长。 确保这些平台的正确性非常重要, 它要求彻底理解它们通常遭受的错误。 为解决这一需要, 本文展示了量子计算平台中的错误的首次深入研究。 我们从18个公开源码量子计算平台收集和检查了一套223个真实世界错误。 我们的研究显示, 这些错误中有很大一部分( 39.9 % ) 是量子特有的, 需要专门的方法来预防和找到它们。 这些错误分散在不同组件中, 但是量子特定错误特别经常出现在代表、 汇编和优化量子程序提取的部件中。 许多量子特定错误通过意外产出而不是更明显的误差迹象表现出来, 比如碰撞。 最后, 我们展示了经常的错误模式的等级, 包括10个新的量子量子计算模式。 我们的发现不仅显示了量子计算平台中的重要性和流行性错误, 而且还帮助开发者避免常见的错误和工具制造者来应对预防、 和发现这些错误的挑战。