This annotated bibliography delves into the field of quantum computing, focusing specifically on the resources used throughout the software life cycle. It examines several published works that analyze quantum software modelling in the context of the various phases of the life cycle, from analysis/requirements to testing and maintenance. Each annotation provides an analysis of software engineering resources applicable to quantum software development and their applicability to different phases of the software development process. By synthesizing these diverse perspectives, this bibliography illuminates the evolving landscape of quantum software development and underscores the critical role of modelling in the context of software engineering. The result provides a valuable starting point for researchers and practitioners who wish to deepen the interplay between quantum computing and software engineering, fostering innovation and advances in this evolving field.
This annotated bibliography delves into the field of quantum computing, focusing specifically on the resources used throughout the software life cycle. It examines several published works that analyze quantum software modelling in the context of the various phases of the life cycle, from analysis/requirements to testing and maintenance. Each annotation provides an analysis of software engineering resources applicable to quantum software development and their applicability to different phases of the software development process. By synthesizing these diverse perspectives, this bibliography illuminates the evolving landscape of quantum software development and underscores the critical role of modelling in the context of software engineering. The result provides a valuable starting point for researchers and practitioners who wish to deepen the interplay between quantum computing and software engineering, fostering innovation and advances in this evolving field.
Quantum software plays a critical role in exploiting the full potential of quantum computing systems. As a result, it has been drawing increasing attention recently. This paper defines the term "quantum software engineering" and introduces a quantum software life cycle. The paper also gives a generic view of quantum software engineering and discusses the quantum software engineering processes, methods, and tools. Based on these, the paper provides a comprehensive survey of the current state of the art in the field and presents the challenges and opportunities we face. The survey summarizes the technology available in the various phases of the quantum software life cycle, including quantum software requirements analysis, design, implementation, test, and maintenance. It also covers the crucial issues of quantum software reuse and measurement.
Quantum computing systems depend on the principles of quantum mechanics to perform multiple challenging tasks more efficiently than their classical counterparts. In classical software engineering, the software life cycle is used to document and structure the processes of design, implementation, and maintenance of software applications. It helps stakeholders understand how to build an application. In this paper, we summarize a set of software analytics topics and techniques in the development life cycle that can be leveraged and integrated into quantum software application development. The results of this work can assist researchers and practitioners in better understanding the quantum-specific emerging development activities, challenges, and opportunities in the next generation of quantum software.
Abstract Quantum computing is an emerging field in which theoretical principles are being transformed into practical applications, largely due to the efforts of the developer community. In order to ensure that quantum software engineering continues to advance, it is vital to understand the experiences, challenges, and aspirations of developers. This chapter is a continuation of our previous work, which provided a comprehensive survey exploring the adoption patterns and common challenges in quantum software engineering. In addition to the survey, we conducted in-depth, semi-structured interviews with practitioners in the field to gain a deeper and more detailed understanding of their perspectives. Through the interviews and survey findings, we have gained nuanced insights into the motivations, hurdles, and outlook of developers toward the rapidly evolving quantum computing landscape. We describe the research methodology in detail, including the tools and techniques used, in order to provide a comprehensive understanding of the research process. Furthermore, we present critical insights from both the survey and interviews, enriching the narrative with fresh perspectives obtained from the post-publication interviews. This chapter is a blend of academic investigation and real-world practitioner insights, aiming to provide a comprehensive understanding of the current state of quantum software engineering. By illuminating the path for future research and development in this dynamic field, we hope to guide the way toward continued progress and innovation.
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.
Despite the increasing interest in quantum computing, the aspect of development to achieve cost-effective and reliable quantum software applications has been slow. One barrier is the software engineering of quantum programs, which can be approached from two directions. On the one hand, many software engineering practices, debugging in particular, are bound to classical computing. On the other hand, quantum programming is closely associated with the phenomena of quantum physics, and consequently, the way we express programs resembles the early days of programming. Moreover, much of the software engineering research today focuses on agile development, where computing cycles are cheap and new software can be rapidly deployed and tested, whereas in the quantum context, executions may consume lots of energy, and test runs may require lots of work to interpret. In this paper, we aim at bridging this gap by starting with the quantum computing workflow and by mapping existing software engineering research to this workflow. Based on the mapping, we then identify directions for software engineering research for quantum computing.
Abstract Quantum software engineering is advancing in the domain of quantum computing research and application, yet the documentation is scattered. The slow transition from Von-Neumann based computation systems to quantum systems, and conserving the fundamental computing principles in software development and software engineering helps in enrichment of quantum software development. The evolution of quantum computing over the past years shows a shift in the domain of classical computation to quantum computation in the years to come. Future applications such as, quantum AI and quantum machine learning will benefit from quantum software engineering. This survey collects and explores the various documentations in the domain of quantum systems and quantum software engineering. The survey provides an in-depth exploration of quantum programming languages, which is combined with explanations of quantum computing’s fundamentals. The review also goes in-depth about quantum software engineering and quantum software life cycle development, outlining the quantum software reuse methodology that is introduced in the quantum software lifecycle development domain.