Table of Contents
Fetching ...

Architecture Decisions in Quantum Software Systems: An Empirical Study on Stack Exchange and GitHub

Mst Shamima Aktar, Peng Liang, Muhammad Waseem, Amjed Tahir, Aakash Ahmad, Beiqi Zhang, Zengyang Li

TL;DR

This paper investigates how architects and developers make decisions in quantum software by empirically analyzing GitHub issues and Stack Exchange posts. Using qualitative methods and predefined classifications, it identifies six linguistic patterns for expressing decisions, 15 decision types, 20 application domains, 19 quality attributes, and 16 limitations/challenges, with Maintainability, Performance, and Compatibility emerging as key attributes. The study contributes a taxonomy of architectural decision patterns, domains, and quality considerations in quantum software, plus practical guidelines and a replication-ready dataset. Overall, it highlights how quantum-specific phenomena and evolving tooling shape architectural decisions, providing actionable insights for researchers and practitioners to improve decision-making and software quality in quantum systems.

Abstract

Quantum computing provides a new dimension in computation, utilizing the principles of quantum mechanics to potentially solve complex problems that are currently intractable for classical computers. However, little research has been conducted about the architecture decisions made in quantum software development, which have a significant influence on the functionality, performance, scalability, and reliability of these systems. The study aims to empirically investigate and analyze architecture decisions made during the development of quantum software systems, identifying prevalent challenges and limitations by using the posts and issues from Stack Exchange and GitHub. We used a qualitative approach to analyze the obtained data from Stack Exchange Sites and GitHub projects. Specifically, we collected data from 385 issues (from 87 GitHub projects) and 70 posts (from three Stack Exchange sites) related to architecture decisions in quantum software development. The results show that in quantum software development (1) architecture decisions are articulated in six linguistic patterns, the most common of which are Solution Proposal and Information Giving, (2) the two major categories of architectural decisions are Implementation Decision and Technology Decision, (3) Softwar Development Tools are the most common application domain among the twenty application domains identified, (4) Maintainability is the most frequently considered quality attribute, and (5) Design Issues and High Error Rates are the major limitations and challenges that practitioners face when making architecture decisions in quantum software development. Our results show that the limitations and challenges encountered in architecture decision-making during the development of quantum software systems are strongly linked to the particular features (e.g., quantum entanglement, superposition, and decoherence) of those systems.

Architecture Decisions in Quantum Software Systems: An Empirical Study on Stack Exchange and GitHub

TL;DR

This paper investigates how architects and developers make decisions in quantum software by empirically analyzing GitHub issues and Stack Exchange posts. Using qualitative methods and predefined classifications, it identifies six linguistic patterns for expressing decisions, 15 decision types, 20 application domains, 19 quality attributes, and 16 limitations/challenges, with Maintainability, Performance, and Compatibility emerging as key attributes. The study contributes a taxonomy of architectural decision patterns, domains, and quality considerations in quantum software, plus practical guidelines and a replication-ready dataset. Overall, it highlights how quantum-specific phenomena and evolving tooling shape architectural decisions, providing actionable insights for researchers and practitioners to improve decision-making and software quality in quantum systems.

Abstract

Quantum computing provides a new dimension in computation, utilizing the principles of quantum mechanics to potentially solve complex problems that are currently intractable for classical computers. However, little research has been conducted about the architecture decisions made in quantum software development, which have a significant influence on the functionality, performance, scalability, and reliability of these systems. The study aims to empirically investigate and analyze architecture decisions made during the development of quantum software systems, identifying prevalent challenges and limitations by using the posts and issues from Stack Exchange and GitHub. We used a qualitative approach to analyze the obtained data from Stack Exchange Sites and GitHub projects. Specifically, we collected data from 385 issues (from 87 GitHub projects) and 70 posts (from three Stack Exchange sites) related to architecture decisions in quantum software development. The results show that in quantum software development (1) architecture decisions are articulated in six linguistic patterns, the most common of which are Solution Proposal and Information Giving, (2) the two major categories of architectural decisions are Implementation Decision and Technology Decision, (3) Softwar Development Tools are the most common application domain among the twenty application domains identified, (4) Maintainability is the most frequently considered quality attribute, and (5) Design Issues and High Error Rates are the major limitations and challenges that practitioners face when making architecture decisions in quantum software development. Our results show that the limitations and challenges encountered in architecture decision-making during the development of quantum software systems are strongly linked to the particular features (e.g., quantum entanglement, superposition, and decoherence) of those systems.
Paper Structure (39 sections, 4 equations, 3 figures, 10 tables)

This paper contains 39 sections, 4 equations, 3 figures, 10 tables.

Figures (3)

  • Figure 1: a) Overview of Quantum Computing Systems, b) Mining Software Repositories [Social (coding) Platforms]
  • Figure 2: Overview of the research process
  • Figure 3: Linguistic Patterns, Architecture Decisions, Application Domains, Quality Attributes, and Limitations&Challenges (results of RQ1 to RQ5)