Skip to main content
QUICK REVIEW

[Paper Review] Software Engineering for Quantum Programming: How Far Are We?

Manuel De Stefano, Fabiano Pecorelli|arXiv (Cornell University)|Mar 31, 2022
Quantum Computing Algorithms and Architecture4 citations
TL;DR

This paper investigates the current state of quantum programming through a two-part study: mining GitHub repositories using Qiskit, Cirq, and Q# to analyze usage patterns, and surveying 56 active quantum developers. It finds that quantum programming is predominantly used for education and experimentation, with major challenges spanning both technical and socio-technical domains, indicating that quantum software engineering remains in its early stages.

ABSTRACT

Quantum computing is no longer only a scientific interest but is rapidly becoming an industrially available technology that can potentially overcome the limits of classical computation. Over the last years, all major companies have provided frameworks and programming languages that allow developers to create their quantum applications. This shift has led to the definition of a new discipline called quantum software engineering, which is demanded to define novel methods for engineering large-scale quantum applications. While the research community is successfully embracing this call, we notice a lack of systematic investigations into the state of the practice of quantum programming. Understanding the challenges that quantum developers face is vital to precisely define the aims of quantum software engineering. Hence, in this paper, we first mine all the GitHub repositories that make use of the most used quantum programming frameworks currently on the market and then conduct coding analysis sessions to produce a taxonomy of the purposes for which quantum technologies are used. In the second place, we conduct a survey study that involves the contributors of the considered repositories, which aims to elicit the developers' opinions on the current adoption and challenges of quantum programming. On the one hand, the results highlight that the current adoption of quantum programming is still limited. On the other hand, there are many challenges that the software engineering community should carefully consider: these do not strictly pertain to technical concerns but also socio-technical matters.

Motivation & Objective

  • To assess the current adoption of quantum programming in real-world software projects using the most widely used quantum frameworks.
  • To identify the primary purposes for which quantum technologies are currently employed by developers.
  • To uncover the technical and socio-technical challenges faced by quantum programmers in practice.
  • To provide empirical insights to guide future tooling and support development in quantum software engineering.

Proposed method

  • Conducted a large-scale mining of GitHub repositories using search patterns for Qiskit, Cirq, and Q# to identify active quantum programming projects.
  • Performed manual coding analysis on the mined repositories to classify the purposes of quantum programming usage.
  • Administered a survey to 56 active contributors (with ≥10 commits) to open-source quantum projects to gather insights on challenges and practices.
  • Built and validated two taxonomies: one for the purposes of quantum programming adoption and another for the challenges faced by developers.
  • Used iterative, multi-author coding and aggregation procedures to ensure reliability and reduce subjectivity in taxonomy construction.
  • Released all study materials and data in an online appendix to support reproducibility and future research.
Figure 1: Graphical summary of the applied methodology. By mining GitHub , we have obtained a set of repositories that we manually classified. Afterward, we extracted the list of public emails of their developers, whom we surveyed. We addressed RQ 1 using the classification results, while we address
Figure 1: Graphical summary of the applied methodology. By mining GitHub , we have obtained a set of repositories that we manually classified. Afterward, we extracted the list of public emails of their developers, whom we surveyed. We addressed RQ 1 using the classification results, while we address

Experimental results

Research questions

  • RQ1What are the primary purposes for which quantum programming is currently used in real-world projects?
  • RQ2What technical and socio-technical challenges do quantum developers face when using state-of-the-practice frameworks?
  • RQ3How do the usage patterns and challenges differ across the three most popular quantum frameworks: Qiskit, Cirq, and Q#?

Key findings

  • The majority of quantum programming projects on GitHub are used for didactic purposes or personal experimentation, indicating limited industrial or production-grade adoption.
  • Only 56 out of 905 contacted developers responded to the survey, yielding a 6.1% response rate, which is considered acceptable in software engineering survey studies.
  • The taxonomy of purposes revealed that most projects are not building production systems but rather learning tools, proof-of-concept implementations, or educational demonstrations.
  • Developers reported significant challenges not only in understanding quantum theory and program comprehension but also in tooling, debugging, and collaboration—highlighting socio-technical barriers.
  • The study identifies a gap in software engineering support for quantum programming, with developers struggling with program analysis, testing, and comprehension beyond basic coding.
  • The findings suggest that quantum software engineering is still far from mature, with both technical limitations and human factors impeding progress.
Figure 2: Partition of the repository per class of usage.
Figure 2: Partition of the repository per class of usage.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.