[Paper Review] Quantum Software Engineering: Landscapes and Horizons
This paper defines quantum software engineering, proposes a quantum software life cycle, surveys the state-of-the-art across requirements, design, implementation, testing, maintenance, reuse, and measurement, and outlines challenges and opportunities.
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.
Motivation & Objective
- Define the term 'quantum software engineering' and introduce a quantum software life cycle model for development.
- Provide a comprehensive survey of quantum software engineering across all life cycle phases (requirements, design, implementation, testing, maintenance).
- Discuss quantum software reuse and measurement and identify challenges and opportunities for the field.
- Explain the need for quantum-specific engineering approaches as quantum programming evolves within a broader software engineering context.
Proposed method
- Literature survey organized around five aspects: requirements, design, implementation, testing, maintenance.
- Integration of existing quantum programming languages and environments (e.g., Qiskit, Q#, Scaffold, Quipper) as part of the life cycle discussion.
- Description of quantum programming concepts, semantics, and language evolution to ground software engineering practices.
- Discussion of a generic quantum software life cycle and its phases with attention to tooling, processes, and practices.
- Identification of horizons including challenges and directions for future research in quantum software engineering.
Experimental results
Research questions
- RQ1What constitutes a suitable definition and life cycle for quantum software engineering?
- RQ2What are the current state-of-the-art techniques, tools, and processes across the quantum software life cycle?
- RQ3What challenges and opportunities exist for maturing quantum software engineering as a discipline?
- RQ4How do quantum reuse and measurement impact the engineering of quantum software systems.
Key findings
- The paper defines quantum software engineering and proposes a quantum software life cycle to guide development.
- It provides a comprehensive survey across requirements analysis, design, implementation, testing, maintenance, reuse, and measurement in quantum software.
- It documents available techniques, tools, and language ecosystems used in quantum software development, highlighting integration with existing classical software engineering practices.
- It discusses the need for guidelines and methodologies to support well-engineered quantum software systems across diverse application domains.
- It identifies challenges and opportunities that shape future research in quantum software engineering, aiming to bridge classical software engineering with quantum-specific problems.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.