Software is a critical factor in the reliability of computer systems. While the development of hardware is assisted by mature science and engineering disciplines, software science is still in its infancy. This situation is likely to worsen in the future with quantum computer systems. Actually, if quantum computing is quickly coming of age, with potential groundbreaking impacts on many different fields, such benefits come at a price: quantum programming is hard and finding new quantum algorithms is far from straightforward. Thus, the need for suitable formal techniques in quantum software development is even bigger than in classical computation. A lack of reliable approaches to quantum computer programming will put at risk the expected quantum advantage of the new hardware. This position paper argues for the need for a proper quantum software engineering discipline benefiting from precise foundations and calculi, capable of supporting algorithm development and analysis.
Software is a critical factor in the reliability of computer systems. While the development of hardware is assisted by mature science and engineering disciplines, software science is still in its infancy. This situation is likely to worsen in the future with quantum computer systems. Actually, if quantum computing is quickly coming of age, with potential groundbreaking impacts on many different fields, such benefits come at a price: quantum programming is hard and finding new quantum algorithms is far from straightforward. Thus, the need for suitable formal techniques in quantum software development is even bigger than in classical computation. A lack of reliable approaches to quantum computer programming will put at risk the expected quantum advantage of the new hardware. This position paper argues for the need for a proper quantum software engineering discipline benefiting from precise foundations and calculi, capable of supporting algorithm development and analysis.
Quantum computing is rapidly emerging as a transformative force poised to redefine the foundations of software engineering. By leveraging quantum mechanical phenomena such as superposition, entanglement, and interference, quantum computers offer the potential to solve complex problems far beyond the reach of classical systems. This paper explores the multifaceted impact of quantum computing on software engineering, focusing on key areas including quantum algorithms, cryptography, programming paradigms, and application domains. It examines how quantum algorithms like Shor's and Grover's promise significant computational speedups, threatening classical encryption schemes and prompting the rise of post-quantum cryptography. The paper also analyzes the challenges of quantum programming, including steep learning curves, limited hardware access, and the need for new development tools and testing frameworks. These challenges highlight the current limitations of quantum technology, such as hardware instability and scalability issues. As quantum hardware evolves, the integration of hybrid quantum-classical systems is identified as a practical approach for near-term applications in areas such as drug discovery, finance, and optimization. The paper further discusses ethical considerations, such as equitable access to quantum resources and privacy concerns, alongside potential societal impacts to ensure responsible innovation. It underscores the need for future advancements in education, standardization, and hybrid systems to bridge the gap between current limitations and quantum computing’s potential. The paper concludes by emphasizing the importance of educational reform, standardization, and ethical considerations in preparing the software engineering community for a quantum-driven future.
As quantum computing transitions from a theoretical domain to a practical technology, many aspects of established practice in software engineering are being faced with new challenges. Quantum Software Engineering has been developed to address the peculiar needs that arise with quantum systems’ dependable, scalable, and fault-tolerant software development. The present paper critically reviews how traditional software engineering methodologies can be reshaped to fit into the quantum field. This also entails providing some critical contributions: frameworks to integrate classical and quantum systems, new error mitigation techniques, and the development of quantum-specific testing and debugging tools. In this respect, best practices have been recommended to ensure that future quantum software can harness the evolving capabilities of quantum hardware with continued performance, reliability, and scalability. The work is supposed to act as a foundational guide for the researcher and developer as quantum computing approaches widespread scientific and industrial adoption.
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.
This article provides an overview of the current state and future challenges of quantum software engineering as quantum computing transitions from proof-of-concept to potential industrial adoption. While significant progress has been made in quantum hardware and cloud-based execution platforms, the article argues that innovation will depend critically on advances in software tools, programming abstractions, and engineering methodologies. Focusing on the constraints of the Noisy Intermediate-Scale Quantum (NISQ) era, it examines challenges related to hardware heterogeneity, software portability, hybrid classical–quantum architectures, and the lack of mature development environments. The article also highlights the urgent need for a new generation of quantum software engineers and coherent educational programmes, particularly in Europe, to bridge skills gaps and support the long-term evolution toward fault-tolerant quantum computing.
There are no doubts that quantum programming and, in general, quantum computing, is one of the most promising areas within computer science and one of the areas where most expectations are being placed in recent years. Although the days when reliable and affordable quantum computers will be available is still a long way off, the explosion of programming languages for quantum programming has grown exponentially in recent years. The software engineering community has been quick to react to the need to adopt and adapt well-known tools and methods for software development, and for the design of new ones tailored to this new programming paradigm. However, many key aspects for its success depend on the establishment of an appropriate conceptual framework for the conception and design of quantum programs. This article discusses the concept of module, key in the software engineering discipline, and establishes initial criteria for determining the cohesion and coupling levels of a module in the field of quantum programming as a first step towards a sound quantum software engineering. As detailed in the article, the conceptual differences between classical and quantum computing are so pronounced that the translation of classical concepts to the new programming approach is not straightforward.
As quantum computing continues to advance, the development of reliable and scalable quantum software systems becomes increasingly crucial. However, designing and implementing hybrid (quantum-classical) software systems poses unique challenges that require novel approaches and best practices. This position paper argues for the importance of developing architectural and design patterns specific to Quantum Software Engineering (QSE). We provide an overview of existing quantum software design patterns (more focused on low-level, programming details) and highlight the lack of patterns addressing hybrid software systems and architectural patterns. We discuss the key challenges that architectural patterns should address, including quantum-classical integration, maintainability, efficiency, and security. We also discuss the implications for practitioners, providing guidance on how to think high-level about hybrid software development process. Finally, we outline future research directions and emphasize the need for collaboration between the quantum computing and software engineering communities to establish a comprehensive high-level patterns framework for QSE.