Quantum Software Engineering: Landscapes and Horizons
It addresses the need for systematic engineering practices in quantum software development, which is crucial for exploiting quantum computing potential, but it is incremental as it primarily surveys and organizes existing knowledge.
This paper defines quantum software engineering and provides a comprehensive survey of the current state of the art, summarizing technologies across the quantum software life cycle and discussing 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.