With the advance in quantum computing, quantum software becomes critical for exploring the full potential of quantum computing systems. Recently, quantum software engineering (QSE) becomes an emerging area attracting more and more attention. However, it is not clear what are the challenges and opportunities of quantum computing facing the software engineering community. This work aims to understand the QSE-related challenges perceived by developers. We perform an empirical study on Stack Exchange forums where developers post-QSE-related questions & answers and Github issue reports where developers raise QSE-related issues in practical quantum computing projects. Based on an existing taxonomy of question types on Stack Overflow, we first perform a qualitative analysis of the types of QSE-related questions asked on Stack Exchange forums. We then use automated topic modeling to uncover the topics in QSE-related Stack Exchange posts and GitHub issue reports. Our study highlights some particularly challenging areas of QSE that are different from that of traditional software engineering, such as explaining the theory behind quantum computing code, interpreting quantum program outputs, and bridging the knowledge gap between quantum computing and classical computing, as well as their associated opportunities.
翻译:随着量子计算的进步,量子软件对于探索量子计算系统的全部潜力变得至关重要。最近,量子软件工程(QSE)成为一个新兴领域,吸引了越来越多的关注。然而,尚不清楚软件工程界面临的量子计算的挑战和机会是什么。这项工作旨在了解开发者所认识的与QSE有关的挑战。我们对斯塔克交换论坛进行了一项经验性研究,在那里,开发者在QSE后有关的问题和答案以及Github问题报告中,开发者在实际量子计算项目中提出了与QSE有关的问题。根据目前对Stack溢出问题类型的分类,我们首先对在Sack交换论坛上询问的与QSE有关的问题的类型进行了定性分析。然后,我们用自动化主题建模来发现与QSE有关的SE Stack交换站和GitHub问题报告的专题。我们的研究强调了与传统软件工程不同、特别具有挑战性的QSEE领域,例如解释量子计算代码背后的理论,解释量子计算和计算方案产出,以及弥合量子计算和古型计算之间的知识差距,以及它们的相关机会。