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.
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.
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.
Quantum computing is rapidly transitioning from a scientific curiosity to an industrial reality, offering the potential to overcome classical computation limitations. This shift has given rise to the field of quantum software engineering (QSE), focused on developing novel approaches for engineering large-scale quantum applications. Traditional software engineering methods fall short in addressing the unique characteristics of quantum computing, necessitating innovative QSE methodologies and tools. While progress has been made in testing and debugging quantum programs, very little work has been done on analyzing if and how existing requirements engineering techniques can address the challenges that designing quantum software raises. This paper discusses some of the challenges for requirements engineers while eliciting requirements for quantum software, modeling the collected requirements, and analyzing them, and introduces some initial solutions for eliciting, modeling, and analyzing quantum requirements.
This paper introduces a vision for Quantum Software Development lifecycle, proposing a hybrid full-stack iterative model that integrates quantum and classical computing. Addressing the current challenges in Quantum Computing (QC) such as the need for integrating diverse programming languages and managing the complexities of quantum-classical systems, this model is rooted in the principles of DevOps and continuous software engineering. It presents a comprehensive lifecycle for quantum software development, encompassing quantum-agnostic coding, testing, deployment, cloud computing services, orchestration, translation, execution, and interpretation phases. Each phase is designed to accommodate the unique demands of QC, enabling traditional software developers to engage with QC environments without needing in-depth QC expertise. The paper presents a detailed implementation roadmap, utilizing a range of existing tools and frameworks, thereby making quantum software development more accessible and efficient. The proposed model not only addresses current challenges in quantum software development but also makes a substantial contribution to the field of Quantum Software Engineering (QSE). By proposing a structured and accessible model, it sets the stage for further advancements and research in QSE, enhancing its practicality and relevance in a wide range of applications.
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 systems have started to emerge as a disruptive technology and enabling platforms - exploiting the principles of quantum mechanics - to achieve quantum supremacy in computing. Academic research, industrial projects (e.g., Amazon Braket), and consortiums like 'Quantum Flagship' are striving to develop practically capable and commercially viable quantum computing (QC) systems and technologies. Quantum Computing as a Service (QCaaS) is viewed as a solution attuned to the philosophy of service-orientation that can offer QC resources and platforms, as utility computing, to individuals and organisations who do not own quantum computers. To understand the quantum service development life cycle and pinpoint emerging trends, we used evidence-based software engineering approach to conduct a systematic mapping study (SMS) of research that enables or enhances QCaaS. The SMS process retrieved a total of 55 studies, and based on their qualitative assessment we selected 9 of them to investigate (i) the functional aspects, design models, patterns, programming languages, deployment platforms, and (ii) trends of emerging research on QCaaS. The results indicate three modelling notations and a catalogue of five design patterns to architect QCaaS, whereas Python (native code or frameworks) and Amazon Braket are the predominant solutions to implement and deploy QCaaS solutions. From the quantum software engineering (QSE) perspective, this SMS provides empirically grounded findings that could help derive processes, patterns, and reference architectures to engineer software services for QC.
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.