The Quantum Software Lifecycle: Benjamin Weder Johanna Barzen Frank Leymann
The Quantum Software Lifecycle: Benjamin Weder Johanna Barzen Frank Leymann
The Quantum Software Lifecycle: Benjamin Weder Johanna Barzen Frank Leymann
2
APEQS ’20, November 13, 2020, Virtual, USA Benjamin Weder, Johanna Barzen, Frank Leymann, Marie Salm, and Daniel Vietz
e.g., to initialize the quantum algorithm with the input data. How- circuit depth. The application of such codes implies a high over-
ever, there is currently no methodology or lifecycle comprising all head, which means additional qubits and gates have to be added
relevant phases a quantum software application should go through. to the quantum circuit [59]. However, this is impractical for NISQ
Thus, the goal of this paper is to introduce the quantum software machines, as they are also limited in the number of available qubits,
lifecycle consisting of ten phases that should be covered during which is summarized by the term “intermediate-scale”. Thereby,
the development and execution of quantum software applications. Preskill defines a number between 50 and a few hundred qubits as
Thereby, the purpose of each phase and the available tooling support intermediate-scale. Therefore, quantum computers in the NISQ era
that can be used to conduct them are discussed. Hence, the lifecycle are only capable to execute quantum circuits comprising a limited
enables a unified view of the development and usage process of number of qubits and gates. This leads to challenges when develop-
quantum applications. Furthermore, it shows the different phases in ing and implementing quantum algorithms or selecting a suitable
which future research has to be conducted to improve the processes. quantum computer for the execution of a given quantum algorithm,
There exists a variety of different quantum computing models, which will be covered in the following subsections in more detail.
e.g., gate-based [49], measurement-based [31], and adiabatic quan-
tum computing [2]. The diverse models represent quantum algo- 2.2 Hybrid Algorithms
rithms in various ways. However, it can be shown that the different
The hardware limitations of NISQ machines lead to the problem that
models are formally equivalent [2, 31]. In this paper, we restrict
existing quantum algorithms that provide an exponential speed-
our considerations to the gate-based quantum computing model, as
up compared to their best known classical counterparts can often
many available quantum computers rely on it [39]. However, some
not be executed on practically useful problems [59]. For example,
phases of the quantum software lifecycle also apply to the other
one difficulty is to initialize the register of the quantum computer
quantum computing models or need only small adjustments.
with the input data for the problem that needs to be solved, as the
The remainder of this paper is structured as follows: Section 2 de-
number of provided qubits can be too small to encode the data [42].
scribes fundamentals and the problem statement that underlies our
To reduce the problems of limited amounts of qubits and the re-
work. In Section 3, the quantum software lifecycle and its different
stricted circuit depth, algorithms can be split into multiple parts and
phases are presented. Then, Section 4 describes the assumptions on
distributed over classical and quantum hardware [41]. Algorithms
which the lifecycle is based and the limitations of our work. The
utilizing this approach are often referred to as quantum-classical,
related work is discussed in Section 5, and we conclude in Section 6.
variational, or hybrid algorithms [48]. Thereby, the idea is to perform
pre- or post-processing for a quantum computation on a classical
2 FUNDAMENTALS & PROBLEM STATEMENT computer [65]. In contrast, the part of the computation that can only
be done inefficiently on classical computers, and for which quantum
In this section, we introduce fundamentals about noisy intermediate-
computers can provide an exponential speed-up, are executed on a
scale quantum computers and motivate why they pose special chal-
quantum computer. Examples for hybrid algorithms are Shor’s [65]
lenges for the development of new quantum software applications.
and Simon’s [68] algorithms, which use classical post-processing
Then, we analyze how hybrid algorithms can help to circumvent
after the quantum computation. Another approach is to perform
these problems and why the selection of suitable quantum hardware
multiple iterations of quantum and classical computations. Thereby,
is important. Furthermore, fundamentals about provenance and
the input for the quantum computation is improved in each itera-
how it can be used to improve applications are presented. Finally,
tion until the result reaches the required accuracy. Examples using
the purpose of software lifecycles in the research area of software
this approach are the variational quantum eigensolver (VQE) [32] or
engineering and the problem statement of our work are described.
the quantum approximate optimization algorithm (QAOA) [18, 19].
Therefore, hybrid algorithms can be used to solve problems that
2.1 Noisy Intermediate-Scale Quantum are not solvable on today’s NISQ machines. That means, they can
be utilized to already profit from the advantages of quantum com-
The term Noisy Intermediate-Scale Quantum (NISQ) was coined by
puters, even in the current early research and development stage.
John Preskill [59] to illustrate the capabilities of today’s quantum
However, most splits into quantum and classical parts are problem-
computers and to describe the current state of quantum comput-
specific and have to be done manually for each problem when
ing research. Thereby, “noisy” means that the gates and qubits of
designing the algorithms [41]. Hence, documented best practices
existing quantum computers are affected by noise from various
and patterns could help to develop new hybrid algorithms. Further,
sources, such as measurement and gate errors or qubit decoher-
an automated recommendation system could suggest which part of
ence due to unintended interactions between the qubits and their
a problem to execute on classical and which part on quantum hard-
environment [35, 72]. The noise leads to severe restrictions on the
ware, and therefore, ease the development of hybrid algorithms.
capabilities of today’s quantum computers, as it limits the num-
ber of gates that can be successfully executed consecutively on a
qubit before the result gets too inaccurate to be usable [55]. This 2.3 Quantum Hardware Selection
maximum number of gates is referred to as the maximum circuit Quantum computers can be based on different physical qubit real-
depth. Therefore, quantum algorithms that require a larger circuit izations, such as electron spins [58], trapped ions [56], or supercon-
depth cannot be executed. Due to this problem, different error cor- ducting qubits [13], and the kind of realization leads to different
rection codes [36, 38, 60] were proposed for quantum computing characteristics when executing quantum algorithms [46]. However,
to correct occurring errors, and hence, to extend the maximum even quantum computers with the same kind of physical realization
3
The Quantum Software Lifecycle APEQS ’20, November 13, 2020, Virtual, USA
Number of Decoherence Used Used Hence, we introduce the research area of quantum provenance
Qubits Times Gates Measurements and perform a first analysis, which kind of provenance data should
be collected for quantum computing. Thereby, four different cat-
Qubit Quantum Quantum
Execution
egories of provenance data can be distinguished, as sketched in
Computer Circuit
Connectivity Order Figure 1. First, information about the quantum computer executing
Quantum a quantum circuit, such as the number of provided qubits or decoher-
Provenance ence times, has to be gathered. Second, provenance data about the
Input quantum circuit, like used gates and measurements, are important.
Quantum
Qubit
Compiler
Data Data Third, the input data, output data, and possible intermediate results
Mappings
are required for a successful analysis of the execution. Such inter-
Gate Output
Intermediate mediate results can, e.g., be retrieved after the different iterations
Data
Mappings Data of a variational algorithm and may comprise the parameterization
used for the current iteration and the corresponding measurement
results. Finally, the quantum compiler [9, 28] is in charge of mapping
Figure 1: Excerpt of relevant quantum provenance data
the abstract quantum circuit to the physical qubits and hardware
types
provided gates, and these mappings have a strong influence on the
execution time and error probability. Therefore, the details about
the mappings have to be collected too. However, further analysis
can differ significantly concerning properties, such as qubit count, of important data types, as well as new approaches to collect and
qubit connectivity, or fidelity of the implemented gates [73]. This analyze the data, are required. In this work, we incorporate the
results in the fact that not all quantum computers can execute the quantum provenance approach into the quantum software lifecycle
same set of quantum circuits successfully [44, 62]. Instead, some and show in which phases provenance data can be gathered and
circuits are better executed on one quantum computer and other which phases can benefit from the collected provenance data.
circuits on another quantum computer, if they, e.g., use divergent
kinds of gates, that are implemented with different fidelities in var-
2.5 Software Lifecycles
ious quantum computers. Thus, the selection of suitable quantum
hardware is a difficult task and an important constituent when de- In the field of software engineering, software lifecycles are often
veloping and executing quantum algorithms. In previous work [62], used to document the different phases and the order of their occur-
we outlined an approach to analyze a given quantum circuit, extract rence during the development and execution of certain software
its important characteristics, and select suitable quantum hardware artifacts [12, 37, 45, 53]. Thus, they provide a baseline for the dis-
based on these characteristics and the properties of the available cussion about methods and best practices that are applied in the
quantum computers. However, the hardware selection approach various phases and open problems that should be solved to improve
needs to be integrated into the quantum software lifecycle. the development and execution process. Moreover, software life-
cycles can be used to educate developers or system administrators
by providing an overview of all phases and enable them to deepen
2.4 Quantum Provenance
their understanding of the phases that are most relevant for them.
Provenance comprises any information that describes the manu-
facturing process of a product [16, 27]. Thereby, the product can
2.6 Problem Statement
be, e.g., a piece of digital data or a physical object. By collecting
provenance data, the reproducibility of the production process can As outlined in the previous sections, the development and execu-
be achieved [57]. Further, it can improve the understandability and tion of quantum software applications comprise a lot of complex
quality of the process, e.g., by analyzing past executions and improv- tasks, e.g., the selection of suitable quantum hardware. However,
ing the process based on the results [27]. Thus, to enable detailed there exists no methodology or lifecycle that covers all relevant
insights, it is important to capture all relevant information system- phases, which can be used as a baseline for further discussions
atically. Provenance data is collected in different areas and with and research. Therefore, the resulting research question for this
diverse granularities, and hence, existing approaches can be classi- work can be formulated as follows: “What phases should a typical
fied into different kinds of provenance, such as data provenance [67] quantum software application go through, how do these phases relate
or workflow provenance [5]. However, there are currently no prove- to each other, and what are open problems for the different phases?”
nance approaches for quantum computing, that cover all steps from
the identification of relevant data, over the collection, to its analysis. 3 QUANTUM SOFTWARE LIFECYCLE
During the NISQ era, provenance approaches are especially im- In this section, we present the quantum software lifecycle, which is
portant for quantum computing [42]. One reason is that the differ- depicted in Figure 2. In the following subsections, we describe its
ent realizations of NISQ machines lead to diverse characteristics, different phases, starting from the quantum-classical splitting phase,
which have to be collected to enable the later analysis of quantum which is the phase where the user typically enters the lifecycle with
computations. Additionally, the noise can lead to errors in the com- the problem description. Then, the other phases are followed by
putations, and the provenance data can be used to analyze their their usual execution order. Thereby, the purpose of each phase,
origins. Furthermore, provenance data can also be used to select existing methods or tooling support that can be used to accomplish
suitable quantum hardware or to improve quantum circuits [62]. it, and possible input and output data of the phase are discussed.
4
APEQS ’20, November 13, 2020, Virtual, USA Benjamin Weder, Johanna Barzen, Frank Leymann, Marie Salm, and Daniel Vietz
8. Integration
• Deployment of classical Quantum Software 3. Quantum Circuit Enrichment
3.1 Quantum-Classical Splitting 44, 74]. Otherwise, the selected quantum programming language
The first phase of the quantum software lifecycle is entered by can reduce the set of compatible quantum computers already signif-
the user with the new problem description or an updated problem icantly. The quantum circuit should also be defined independently
description based on the results of previous iterations. In this phase, of certain input data to enable its reusability for different instances
it is decided which parts of the problem to solve on a quantum of the tackled problem. Therefore, the quantum circuit does not yet
computer and which on a classical computer depending on the contain the initialization steps, which are used to pass input data
requirements of the problem description. Due to the restricted ca- to the quantum computer (see subsection 3.3) [41]. Hence, phases
pabilities of NISQ machines, most problems have to be solved in one and two of the quantum software lifecycle can be skipped if
a hybrid manner on quantum and classical hardware (see subsec- the same problem should be solved for different input data, and the
tion 2.2) [48, 59]. The separation into quantum and classical parts lifecycle can be (re)started in phase three. After the implementation,
can be done by experts based on their knowledge and experience. the quantum circuits are verified by experts or using automated
However, this is a difficult and error-prone task, which requires approaches to prove their correct functionality [4, 50, 76]. Further,
immense knowledge from various fields, such as physics, mathe- the classical software artifacts should be tested accordingly [54].
matics, and computer science [55]. Therefore, this process should
be supported by an automated recommender, which can, e.g., be 3.3 Quantum Circuit Enrichment
based on documented best practices or patterns [41]. Additionally, During this phase, the quantum circuit is enriched with the required
the recommender can analyze the provenance data of passed exe- details to solve a particular instance of the problem that is tackled
cutions, e.g., by using machine learning techniques and utilize the by the quantum software application. Thus, the quantum circuit is
insights to improve future recommendations for this phase [3]. initialized with the input data in a data preparation step [15, 41, 55].
This means, an initialization circuit is added to the beginning of the
3.2 Hardware-Independent Implementation original circuit, which prepares the required state in the quantum
In the second phase, the quantum circuits and the classical software register. This step is necessary as many quantum computers only
artifacts implementing the quantum and classical problem parts allow to initialize their register in the all-zero state, which means all
resulting from the previous phase are created. Thereby, for the qubits set to zero [41]. Thereby, different schemes exist to encode
implementation of the quantum circuits, a hardware-independent the input data into the initializing circuit, such as basis or amplitude
high-level quantum programming language should be used to enable encoding [42, 51]. Another important step is the expansion of the
a later vendor-agnostic hardware selection (see subsection 3.5) [24, oracles that may be used in the quantum circuit. Many quantum
5
The Quantum Software Lifecycle APEQS ’20, November 13, 2020, Virtual, USA
algorithms, such as Simon’s or Grover’s algorithm, utilize oracles, 3.7 Compilation & Hardware-Dependent
e.g., to decide if an element in a collection is the searched one Optimization
or not [23, 52, 68]. However, these oracles depend on a specific
After the selection of suitable quantum hardware, the quantum
problem instance and have to be implemented using a collection of
circuits have to be compiled to the machine instructions that are
gates during this phase of the quantum software lifecycle [33].
required for the execution by the selected quantum computer [9,
74]. If the quantum circuits are implemented using a hardware-
3.4 Hardware-Independent Optimization independent high-level quantum programming language (see sub-
After the quantum circuit enrichment, a hardware-independent op- section 3.2), the compilation process is usually performed in two
timization phase is performed for the resulting quantum circuits. separate steps [30, 44, 74]. First, (i) the quantum circuits are com-
Hence, the optimizations of this phase are based on the hardware- piled to a quantum intermediate representation. This intermediate
independent high-level quantum programming language [24, 74]. representation can be, e.g., the quantum programming language of
Thereby, an equivalent representation of the quantum circuit is an SDK, such as OpenQASM for Qiskit [29] or Quil for Forest [61],
created, which is optimized with respect to a certain cost function, that supports the execution on the selected quantum computer.
such as the circuit size, circuit depth, or accuracy [74]. These opti- Then, (ii) the intermediate representation has to be compiled to the
mizations can be, for example, based on best practices, patterns and machine instructions utilized by the selected quantum computer in
anti-patterns, or collected provenance data about passed executions the second compilation step [9]. For this compilation, the hardware-
including the performed optimizations and the resulting outcomes. dependent compilers provided by the quantum hardware vendors,
such as IBM or Rigetti, can be used. Thereby, a hardware-dependent
optimization is performed during the compilation [28, 69]. This
3.5 Quantum Hardware Selection means, the specific characteristics of the selected quantum com-
In the fifth phase, suitable quantum hardware for the execution of puter, such as the decoherence times of different qubits or the
the implemented and optimized quantum circuits has to be selected. qubit connectivity, are taken into account. For example, qubits on
Thereby, a suitable quantum computer must be capable of executing which many two-qubit gates are executed in the quantum circuit
a quantum circuit with a given maximum error probability [62]. Ad- are mapped to physical qubits of the quantum computer that are
ditionally, other optimization goals, such as the incurred monetary directly connected if possible to avoid additional SWAP gates. As
costs for the execution or the set of vendors that are classified as described in subsection 2.4, the collection of the qubit and gate map-
confidential by the user, have to be taken into account. For the quan- pings performed by the hardware-dependent compilers as prove-
tum hardware selection, the quantum circuits must be analyzed first, nance data is important as they can have a significant impact on
and important characteristics, such as the width and depth of the the quantum circuit execution and the returned results [9, 28, 30].
circuit, have to be retrieved (see subsection 2.3) [44, 73]. Afterward,
the hardware selection can be performed based on the obtained
3.8 Integration
circuit characteristics and the capabilities of the available quantum
computers. Thereby, the capabilities of quantum computers can be In this phase, the compiled quantum circuits and classical software
assessed using different metrics, such as quantum volume [8] and artifacts have to be deployed and integrated to execute the quantum
the total quantum factor [64]. Another approach is the usage of software application in the next phase. Thereby, for the classical
benchmarks, which can, e.g., be based on the sampling of pseudo- software artifacts, suited deployment models should be created to au-
random quantum circuits [6] or error correction codes [36]. Further, tomate their deployment [34, 79]. Such deployment models describe
provenance information about past executions of quantum circuits all required components and information for the deployment of an
with similar characteristics on different quantum computers can be application in a reusable and maintainable manner [78]. Applica-
utilized to improve the quantum hardware selection process. tions defined by deployment models can be automatically deployed
by a deployment system, such as Terraform [26] or Kubernetes [14].
Alternatively, the deployment of the classical software artifacts
3.6 Readout-Error Mitigation Preparation can be done manually. However, this process is time-consuming,
Due to the noisy devices during the NISQ era, results of quantum error-prone, and requires immense technical knowledge [10]. For
computations are always disturbed by some errors [59]. One reason the quantum circuits, the utilized SDKs of the quantum hardware
for errors are gates that can not be executed exactly, which can be providers, such as Qiskit [29] or Forest [61], usually handle the
solved by error-correction codes if enough qubits are available [36, deployment to the supported quantum hardware [39, 70]. However,
38, 60]. However, also the measurements are noisy and can add the quantum computers that are currently available over the cloud,
errors to the results, which are referred to as readout-errors [47]. for example, from IBM, are mostly job-based. Therefore, the deploy-
Thus, it is important to apply readout-error mitigation to the results ment of quantum circuits equals their execution at the moment,
to reduce the influence of these errors (see subsection 3.9) [47, and hence, is done in the next phase of the quantum software life-
71]. Such readout-error mitigation approaches are based on so- cycle. However, some providers enable reserving time slices for the
called unfolding techniques and depend on the error model of the execution on their quantum computers, and therefore, this reser-
used quantum computer [11, 42, 47]. However, the error model vation can be done during the integration phase [39]. Finally, the
may change over time, e.g., due to a re-calibration of the quantum classical software artifacts have to be configured to enable the invo-
computer [75]. Hence, the current error model has to be analyzed cation of the quantum parts, for example, by updating the endpoint
periodically and stored as provenance data during this phase. information with the details about the selected quantum computer.
6
APEQS ’20, November 13, 2020, Virtual, USA Benjamin Weder, Johanna Barzen, Frank Leymann, Marie Salm, and Daniel Vietz
7
The Quantum Software Lifecycle APEQS ’20, November 13, 2020, Virtual, USA
8
APEQS ’20, November 13, 2020, Virtual, USA Benjamin Weder, Johanna Barzen, Frank Leymann, Marie Salm, and Daniel Vietz
https://doi.org/10.1088/2058-9565/aad604 [53] Nabil Mohammed Ali Munassar and A Govardhan. 2010. A Comparison Between
[29] IBM. 2020. Qiskit. [online]. https://qiskit.org/ Five Models Of Software Engineering. International Journal of Computer Science
[30] Ali JavadiAbhari, Shruti Patil, Daniel Kudrow, Jeff Heckey, Alexey Lvov, et al. 2014. Issues (IJCSI) 7, 5 (2010), 94.
ScaffCC: A Framework for Compilation and Analysis of Quantum Computing [54] Glenford J Myers, Corey Sandler, and Tom Badgett. 2011. The Art of Software
Programs. In Proceedings of the 11th ACM Conference on Computing Frontiers. Testing. John Wiley & Sons.
1–10. https://doi.org/10.1145/2597917.2597939 [55] Michael A Nielsen and Isaac Chuang. 2002. Quantum Computation and Quantum
[31] Richard Jozsa. 2006. An introduction to measurement based quantum com- Information.
putation. NATO Science Series, III: Computer and Systems Sciences. Quantum [56] Roee Ozeri. 2011. The trapped-ion qubit tool box. Contemporary Physics 52, 6
Information Processing-From Theory to Experiment 199 (2006), 137–158. (2011), 531–550. https://doi.org/10.1080/00107514.2011.603578
[32] Abhinav Kandala, Antonio Mezzacapo, Kristan Temme, et al. 2017. Hardware- [57] Beatriz Pérez, Julio Rubio, and Carlos Sáenz-Adán. 2018. A systematic review of
efficient variational quantum eigensolver for small molecules and quantum mag- provenance systems. Knowledge and Information Systems 57, 3 (2018), 495–543.
nets. Nature 549, 7671 (2017), 242–246. https://doi.org/10.1038/nature23879 https://doi.org/10.1007/s10115-018-1164-3
[33] Elham Kashefi, Adrian Kent, Vlatko Vedral, and Konrad Banaszek. 2002. Com- [58] Jarryd J. Pla, Kuan Y. Tan, Juan P. Dehollain, Wee H. Lim, et al. 2012. A single-
parison of quantum oracles. Physical Review A 65, 5 (2002), 050304. https: atom electron spin qubit in silicon. Nature 489, 7417 (2012), 541–545. https:
//doi.org/10.1103/PhysRevA.65.050304 //doi.org/10.1038/nature11449
[34] Kálmán Képes, Uwe Breitenbücher, Frank Leymann, et al. 2019. Deployment of [59] John Preskill. 2018. Quantum Computing in the NISQ era and beyond. Quantum
Distributed Applications Across Public and Private Networks. In Proceedings of 2 (2018), 79. https://doi.org/10.22331/q-2018-08-06-79
the 23rd IEEE International Enterprise Distributed Object Computing Conference [60] Michael D. Reed, Leonardo DiCarlo, S. E. Nigg, L. Sun, et al. 2012. Realization of
(EDOC). IEEE, 236–242. https://doi.org/10.1109/EDOC.2019.00036 three-qubit quantum error correction with superconducting circuits. Nature 482,
[35] Emanuel Knill. 2005. Quantum computing with realistically noisy devices. Nature 7385 (2012), 382–385. https://doi.org/10.1038/nature10786
434, 7029 (2005), 39–44. https://doi.org/10.1038/nature03350 [61] Rigetti. 2020. Docs for the Forest SDK. [online]. http://docs.rigetti.com/en/stable/
[36] Emanuel Knill, Raymond Laflamme, Rudy Martinez, and Camille Negrevergne. [62] Marie Salm, Johanna Barzen, Uwe Breitenbücher, Frank Leymann, et al. 2020. A
2001. Benchmarking Quantum Computers: The Five-Qubit Error Correcting Roadmap for Automating the Selection of Quantum Computers for Quantum
Code. Physical Review Letters 86 (2001), 5811–5814. Issue 25. https://doi.org/10. Algorithms. arXiv preprint arXiv:2003.13409 (2020).
1103/PhysRevLett.86.5811 [63] Artur Scherer, Benoît Valiron, Siun-Chuon Mau, Scott Alexander, et al. 2017.
[37] Thomas Kohlborn, Axel Korthaus, and Michael Rosemann. 2009. Business and Concrete resource analysis of the quantum linear-system algorithm used to
Software Service Lifecycle Management. In IEEE International Enterprise Dis- compute the electromagnetic scattering cross section of a 2D target. Quantum
tributed Object Computing Conference. IEEE, 87–96. https://doi.org/10.1109/ Information Processing 16, 3 (2017), 60. https://doi.org/10.1007/s11128-016-1495-5
EDOC.2009.20 [64] Eyob A. Sete, William J. Zeng, and Chad T. Rigetti. 2016. A Functional Architecture
[38] Raymond Laflamme, Cesar Miquel, Juan Pablo Paz, and Wojciech Hubert Zurek. for Scalable Quantum Computing. In IEEE International Conference on Rebooting
1996. Perfect Quantum Error Correcting Code. Physical Review Letters 77, 1 Computing. 1–6. https://doi.org/10.1109/ICRC.2016.7738703
(1996), 198. https://doi.org/10.1103/PhysRevLett.77.198 [65] Peter W. Shor. 1997. Polynomial-Time Algorithms for Prime Factorization and
[39] Ryan LaRose. 2019. Overview and Comparison of Gate Level Quantum Software Discrete Logarithms on a Quantum Computer. SIAM J. Comput. 26, 5 (1997),
Platforms. Quantum 3 (2019), 130. https://doi.org/10.22331/q-2019-03-25-130 1484–1509. https://doi.org/10.1137/S0036144598347011
[40] Christopher Lenhardt, Stanley Ahalt, Brian Blanton, Laura Christopherson, et al. [66] Sukin Sim, Yudong Cao, Jonathan Romero, Peter D Johnson, et al. 2018. A
2014. Data Management Lifecycle and Software Lifecycle Management in the framework for algorithm deployment on cloud-based quantum computers. arXiv
Context of Conducting Science. Journal of Open Research Software 2, 1 (2014). preprint arXiv:1810.10576 (2018).
https://doi.org/10.5334/jors.ax [67] Yogesh L. Simmhan, Beth Plale, and Dennis Gannon. 2005. A Survey of Data
[41] Frank Leymann. 2019. Towards a Pattern Language for Quantum Algorithms. In Provenance in e-Science. SIGMOD Rec. 34, 3 (2005), 31–36. https://doi.org/10.
Quantum Technology and Optimization Problems. Springer International Publish- 1145/1084805.1084812
ing, 218–230. https://doi.org/10.1007/978-3-030-14082-3_19 [68] Daniel R Simon. 1994. On the power of quantum cryptography. In 35th Annual
[42] Frank Leymann and Johanna Barzen. 2020. The bitter truth about gate-based Symposium on Foundations of Computer Science. 116–123.
quantum algorithms in the NISQ era. Quantum Science and Technology 5, 4 (2020), [69] Seyon Sivarajah, Silas Dilkes, Alexander Cowtan, Will Simmons, Alec Edgington,
044007. https://doi.org/10.1088/2058-9565/abae7d and Ross Duncan. 2020. t| ket>: A retargetable compiler for NISQ devices. Quan-
[43] Frank Leymann, Johanna Barzen, and Michael Falkenthal. 2019. Towards a tum Science and Technology (2020). https://doi.org/10.1088/2058-9565/ab8e92
Platform for Sharing Quantum Software. In Proceedings of the 13th Advanced [70] Robert S Smith, Michael J Curtis, and William J Zeng. 2016. A Practical Quantum
Summer School on Service Oriented Computing (IBM Technical Report (RC25685)). Instruction Set Architecture. arXiv preprint arXiv:1608.03355 (2016).
IBM Research Division, 70–74. [71] Chao Song, Jing Cui, H Wang, J Hao, H Feng, and Ying Li. 2019. Quantum
[44] Frank Leymann, Johanna Barzen, Michael Falkenthal, et al. 2020. Quantum in the computation with universal error mitigation on a superconducting quantum
Cloud: Application Potentials and Research Opportunities. In Proceedings of the processor. Science advances 5, 9 (2019). https://doi.org/10.1126/sciadv.aaw5686
10th International Conference on Cloud Computing and Services Science. SciTePress, [72] Andrew Steane. 1998. Quantum computing. Reports on Progress in Physics 61, 2
9–24. https://doi.org/10.5220/0009819800090024 (1998), 117. https://doi.org/10.1088/0034-4885/61/2/002
[45] Frank Leymann and Dieter Roller. 2000. Production Workflow: Concepts and [73] Martin Suchara, John Kubiatowicz, Arvin Faruque, et al. 2013. QuRE: The Quan-
Techniques. Prentice Hall PTR. tum Resource Estimator Toolbox. In IEEE 31st International Conference on Com-
[46] Norbert M. Linke, Dmitri Maslov, Martin Roetteler, Shantanu Debnath, et al. 2017. puter Design (ICCD). IEEE, 419–426. https://doi.org/10.1109/ICCD.2013.6657074
Experimental comparison of two quantum computing architectures. Proceedings [74] Krysta M Svore, Alfred V Aho, Andrew W Cross, Isaac Chuang, et al. 2006. A
of the National Academy of Sciences 114, 13 (2017), 3305–3310. https://doi.org/10. Layered Software Architecture for Quantum Computing Design Tools. Computer
1073/pnas.1618020114 39, 1 (2006), 74–83. https://doi.org/10.1109/MC.2006.4
[47] Filip B Maciejewski, Zoltán Zimborás, and Michał Oszmaniec. 2019. Mitigation [75] Swamit S Tannu and Moinuddin K Qureshi. 2019. Not All Qubits Are Created
of readout noise in near-term quantum devices by classical post-processing Equal: A Case for Variability-Aware Policies for NISQ-Era Quantum Computers.
based on detector tomography. arXiv preprint arXiv:1907.08518 (2019). https: In Proceedings of the Twenty-Fourth International Conference on Architectural
//doi.org/10.22331/q-2020-04-24-257 Support for Programming Languages and Operating Systems. 987–999.
[48] Jarrod R McClean, Jonathan Romero, Ryan Babbush, and Alán Aspuru-Guzik. [76] Shiou-An Wang, Chin-Yung Lu, I-Ming Tsai, and Sy-Yen Kuo. 2008. An XQDD-
2016. The theory of variational hybrid quantum-classical algorithms. New Journal Based Verification Method for Quantum Circuits. IEICE transactions on fundamen-
of Physics 18, 2 (2016), 023023. https://doi.org/10.1088/1367-2630/18/2/023023 tals of electronics, communications and computer sciences 91, 2 (2008), 584–594.
[49] Kristel Michielsen, Madita Nocon, Dennis Willsch, Fengping Jin, et al. 2017. [77] Brent R Waters, Dirk Balfanz, Glenn Durfee, and Diana K Smetters. 2004. Building
Benchmarking gate-based quantum computers. Computer Physics Communica- an Encrypted and Searchable Audit Log. In NDSS, Vol. 4. Citeseer, 5–6.
tions 220 (2017), 44 – 55. https://doi.org/10.1016/j.cpc.2017.06.011 [78] Benjamin Weder, Uwe Breitenbücher, Kálmán Képes, Frank Leymann, and
[50] Andriy Miranskyy, Lei Zhang, and Javad Doliskani. 2020. Is Your Quantum Michael Zimmermann. 2020. Deployable Self-contained Workflow Models. In Pro-
Program Bug-Free?. In Proceedings of the ACM/IEEE 42nd International Conference ceedings of the 8th European Conference on Service-Oriented and Cloud Computing
on Software Engineering: New Ideas and Emerging Results (ICSE-NIER). Association (ESOCC). Springer, 85–96. https://doi.org/10.1007/978-3-030-44769-4_7
for Computing Machinery, 29–32. https://doi.org/10.1145/3377816.3381731 [79] Michael Wurster, Uwe Breitenbücher, Michael Falkenthal, Christoph Krieger, et al.
[51] Kosuke Mitarai, Masahiro Kitagawa, and Keisuke Fujii. 2019. Quantum analog- 2019. The Essential Deployment Metamodel: A Systematic Review of Deployment
digital conversion. Physical Review A 99, 1 (2019), 012301. https://doi.org/10. Automation Technologies. Software-Intensive Cyber-Physical Systems (2019).
1103/PhysRevA.99.012301 [80] Jianjun Zhao. 2020. Quantum Software Engineering: Landscapes and Horizons.
[52] Michele Mosca. 2008. Quantum Algorithms. arXiv preprint arXiv:0808.0369 arXiv preprint arXiv:2007.07047 (2020).
(2008). All links were last followed on October 12, 2020.