一句话:定义八种量子特有代码坏味道,开发检测工具 QSmell,并实证发现多数开源量子程序存在坏味道。
量子计算快速发展,催生了新的量子编程语言与框架,但软件生命周期中至关重要的维护环节尚未得到研究者关注。本文以代码坏味道作为维护问题的指标,填补这一空白:作者定义了八种量子特有的代码坏味道,并通过一项针对 35 名量子开发者的问卷调查对其进行了验证。由于当时没有专门检测量子坏味道的工具,作者实现了支持这些坏味道的检测工具 QSmell。随后,他们对 15 个开源量子程序开展实证研究,分析量子特有坏味道的普遍程度。结果显示,11 个程序(73.33%)至少包含一种坏味道,平均每个程序有三种坏味道;其中 long circuit 最为普遍,出现在 53.33% 的程序中。
Quantum Computing (QC) is a fast-growing field that has enhanced the emergence of new programming languages and frameworks. Furthermore, the increased availability of computational resources has also contributed to an influx in the development of quantum programs. Given that classical and QC are significantly different due to the intrinsic nature of quantum programs, several aspects of QC (e.g., performance, bugs) have been investigated, and novel approaches have been proposed. However, from a purely quantum perspective, maintenance, one of the major steps in a software development life-cycle, has not been considered by researchers yet. In this paper, we fill this gap and investigate the prevalence of code smells in quantum programs as an indicator of maintenance issues. We defined eight quantum-specific smells and validated them through a survey with 35 quantum developers. Since no tool specifically aims to detect quantum smells, we developed a tool called QSmell that supports the proposed quantum-specific smells. Finally, we conducted an empirical investigation to analyze the prevalence of quantum-specific smells in 15 open-source quantum programs. Our results showed that 11 programs (73.33%) contain at least one smell and, on average, a program has three smells. Furthermore, the long circuit is the most prevalent smell present in 53.33% of the programs.
@inproceedings{ChenCCSA23,
title = {The Smelly Eight: An Empirical Study on the Prevalence of Code Smells in Quantum Computing},
author = {Qihong Chen and Rúben Câmara and José Campos and André Souto and Iftekhar Ahmed},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00041}
}