Quantum computing is a young discipline that specializes in the construction of hardware and software using the quantum properties of nature, to solve problems of higher complexity that classical computing cannot address, in multiple business areas. The most important computing revolution of the last 60 years has begun because of the integration of classical computing, quantum computing and artificial intelligence. In this paper, we present a pragmatic survey of the main quantum computing areas, focusing in particular on software and the need for real Quantum Software Engineering (QSE) to produce quantum software with sufficient quality and productivity, which is the fundamental axis for the diffusion of quantum computing.
Quantum computing is a young discipline that specializes in the construction of hardware and software using the quantum properties of nature, to solve problems of higher complexity that classical computing cannot address, in multiple business areas. The most important computing revolution of the last 60 years has begun because of the integration of classical computing, quantum computing and artificial intelligence. In this paper, we present a pragmatic survey of the main quantum computing areas, focusing in particular on software and the need for real Quantum Software Engineering (QSE) to produce quantum software with sufficient quality and productivity, which is the fundamental axis for the diffusion of quantum computing.
As quantum computers advance, the complexity of the software they can execute increases as well. To ensure this software is efficient, maintainable, reusable, and cost-effective—key qualities of any industry-grade software—mature software engineering practices must be applied throughout its design, development, and operation. However, the significant differences between classical and quantum software make it challenging to directly apply classical software engineering methods to quantum systems. This challenge has led to the emergence of Quantum Software Engineering (QSE) as a distinct field within the broader software engineering landscape. In this work, a group of active researchers analyze in depth the current state of QSE research. From this analysis, the key areas of QSE are identified and explored in order to determine the most relevant open challenges that should be addressed in the next years. These challenges help identify necessary breakthroughs and future research directions for advancing QSE.
Quantum computing, and to an even greater extent quantum technology, is changing the world. Quantum computing is not an evolution of classical computer science; it is actually a revolution that completely changes the computing paradigm. Quantum computers are based on the principles of quantum mechanics, such as superposition and entanglement, and they seek to boost computational power exponentially. Many problems that have until now been impossible to solve, in practical terms, might very well be able to be addressed by means of quantum computing. The fact is that at the present time quantum computing is influencing most business sectors and research fields, due to its various promising applications. To make such applications become reality, quantum algorithms must be specially coded for these extremely different computers. Although some well-known quantum algorithms already exist, the need for quantum software will increase dramatically in the next years. In that context, quantum software has to be produced in a more industrial and controlled way, i.e., aspects such as quality, delivery, project management, or evolution of quantum software must be addressed. We are sure that quantum computing will be the main driver for a new software engineering golden age during the present decade of the 2020s.
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.
With the advance of 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.
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.
The quantum computing (QC) field is rapidly moving beyond the realm of pure science to become a commercially viable technology that may be able to overcome the drawbacks of traditional computing. Major technology tycoons have spent in building coding frameworks and hardware to create applications specifically designed for quantum computing over the last few years. The development of QC hardware is accelerating, however, the requirement for software-intensive methodology, approaches, procedures, instruments, roles and responsibilities for creating industrial-focused quantum software applications arises from operationalizing the QC. This paper outlines the concept of quantum software engineering (QSE) life cycle, which entails the engineering of quantum requirements, design, implementation, testing and maintenance of quantum software. This paper notably advocates for collaborative efforts between the industrial community and software engineering research to propose practical solutions to support the complete activities for the development of quantum software. The proposed vision makes it easier for researchers and practitioners to suggest new procedures, reference designs, cutting-edge equipment, and methods for utilizing quantum computers and creating the newest and most advanced quantum software.