Quantum computing is a rapidly growing field attracting the interest of both researchers and software developers. Supported by its numerous open-source tools, developers can now build, test, or run their quantum algorithms. Although the maintenance practices for traditional software systems have been extensively studied, the maintenance of quantum software is still a new field of study but a critical part to ensure the quality of a whole quantum computing system. In this work, we set out to investigate the distribution and evolution of technical debts in quantum software and their relationship with fault occurrences. Understanding these problems could guide future quantum development and provide maintenance recommendations for the key areas where quantum software developers and researchers should pay more attention. In this paper, we empirically studied 118 open-source quantum projects, which were selected from GitHub. The projects are categorized into 10 categories. We found that the studied quantum software suffers from the issues of code convention violation, error-handling, and code design. We also observed a statistically significant correlation between code design, redundant code or code convention, and the occurrences of faults in quantum software.
翻译:量子计算是一个迅速增长的领域,吸引了研究人员和软件开发者的兴趣。开发者借助其众多的开放源码工具,现在可以建立、测试或运行其量子算法。虽然对传统软件系统的维护做法进行了广泛研究,但量子软件的维护仍然是一个新的研究领域,但对于确保整个量子计算系统的质量来说,是一个关键部分。在这项工作中,我们着手调查量子软件中技术债务的分布和演变及其与故障发生的关系。了解这些问题可以指导今后的量子开发,并为量子软件开发者和研究人员应更多关注的关键领域提供维护建议。在这份文件中,我们实证地研究了118个公开源量子项目,这些项目是从GitHub挑选出来的。这些项目分为10个类别。我们发现,所研究的量子软件受到违反规范、错误处理和代码设计等问题的影响。我们还观察到了代码设计、冗余代码或代码公约以及数量软件中出现错误之间的重要统计关联。