Quantum Software Engineering: Landscapes and Horizons
arXiv:2007.07047
Abstract
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.
References in corpus (50)
- Quantum Machine Learning
- Quantum Annealing in the Transverse Ising Model
- Quantum support vector machine for big data classification
- Quantum Teleportation is a Universal Computational Primitive
- A Quantum Approximate Optimization Algorithm
- Logic gates at the surface code threshold: Superconducting qubits poised for fault-tolerant quantum computing
- Quantum computational chemistry
- Quantum state tomography via compressed sensing
- Quantum algorithms: an overview
- An adaptive variational algorithm for exact molecular simulations on a quantum computer
- Towards Quantum Chemistry on a Quantum Computer
- Elucidating Reaction Mechanisms on Quantum Computers
- Toward the first quantum simulation with quantum speedup
- Quantum-enhanced machine learning
- ProjectQ: An Open Source Software Framework for Quantum Computing
- An approximate Fourier transform useful in quantum factoring
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Gate count estimates for performing quantum chemistry on small quantum computers
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Estimation of effective temperatures in quantum annealers for sampling applications: A case study with possible applications in deep learning
- QuantumOptics.jl: A Julia framework for simulating open quantum systems
- A Lambda Calculus for Quantum Computation
- Open source software in quantum computing
- LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing
- Toward an architecture for quantum programming
- ScaffCC: Scalable Compilation and Analysis of Quantum Programs
- Practical optimization for hybrid quantum-classical algorithms
- How "Quantum" is the D-Wave Machine?
- Quantum learning robust to noise
- An Introduction to Quantum Programming in Quipper
- Quantum Computing with black-box Subroutines
- Classical Concepts in Quantum Programming
- Quantum Computation, Categorical Semantics and Linear Logic
- Secure quantum conversation through non-destructive discrimination of highly entangled multipartite states
- Models of quantum computation and quantum programming languages
- Next Steps in Quantum Computing: Computer Science's Role
- Continuous variables quantum computation over the vibrational modes of a single trapped ion
- QDB: From Quantum Algorithms Towards Correct Quantum Programs
- Extending the Lambda Calculus to Express Randomized and Quantumized Algorithms
- QuanFuzz: Fuzz Testing of Quantum Program
- Debugging Quantum Processes Using Monitoring Measurements
- Making Quantum Computing Open: Lessons from Open-Source Projects
- Semantics for a Quantum Programming Language by Operator Algebras
- Semantics and simulation of communication in quantum programming
- Quantum Systems Engineering: A structured approach to accelerating the development of a quantum technology industry
- Quality Attributes on Quantum Computing Platforms
- Cove: A Practical Quantum Computer Programming Framework
- Verified Optimization in a Quantum Intermediate Representation
- QuECT: A New Quantum Programming Paradigm
Cited by in corpus (13)
- Quantum Software Engineering: Roadmap and Challenges Ahead
- QDiff: Differential Testing of Quantum Software Stacks
- QuSBT: Search-Based Testing of Quantum Programs
- Open Hardware Solutions in Quantum Technology
- Networked Quantum Services
- Trials and Tribulations of Developing Hybrid Quantum-Classical Microservices Systems
- Identifying Flakiness in Quantum Programs
- A Uniform Representation of Classical and Quantum Source Code for Static Code Analysis
- An Overview of Quantum Software Engineering in Latin America
- Bugs4Q: A Benchmark of Real Bugs for Quantum Programs
- Identifying Bug Patterns in Quantum Programs
- Symbolic quantum programming for supporting applications of quantum computing technologies
- Some Size and Structure Metrics for Quantum Software