A Suite for Testing and Debugging Quantum Programs", addresses an underdeveloped area of research in the current scope of quantum computing: testing and debugging quantum programs.This work makes a significant contribution not only to the future of quantum software development but also more broadly to the advancement of the field of quantum computing, as software tools are critical to maturing from the current NISQ (noisy intermediate-scale quantum) era to the FTQC (fault-tolerant quantum computation) era.Quantum technology has been rapidly evolving, as seen through the significant advances in quantum computing, sensing, cryptography, and communication.Quantum technology is transitioning from experimental prototypes to more practical, yet still limited, applications.These advances offer the prospect of unprecedented computational capabilities for specific tasks like optimization, chemical simulation, and cryptography but are hindered by challenges such as error rates, qubit coherence times, and scalability.All of these problems are being addressed by physicists and engineers.One area receiving far too little attention is the emerging field of quantum software engineering.
A Suite for Testing and Debugging Quantum Programs", addresses an underdeveloped area of research in the current scope of quantum computing: testing and debugging quantum programs.This work makes a significant contribution not only to the future of quantum software development but also more broadly to the advancement of the field of quantum computing, as software tools are critical to maturing from the current NISQ (noisy intermediate-scale quantum) era to the FTQC (fault-tolerant quantum computation) era.Quantum technology has been rapidly evolving, as seen through the significant advances in quantum computing, sensing, cryptography, and communication.Quantum technology is transitioning from experimental prototypes to more practical, yet still limited, applications.These advances offer the prospect of unprecedented computational capabilities for specific tasks like optimization, chemical simulation, and cryptography but are hindered by challenges such as error rates, qubit coherence times, and scalability.All of these problems are being addressed by physicists and engineers.One area receiving far too little attention is the emerging field of quantum software engineering.
The forty-year history of quantum computers has taken us through initial curiosity, naive optimism, then dismay at the scale of proposed error-corrected systems, and into today's excitement over the availability of real, but still small and error-prone, systems [1, 2, 3].Algorithms have followed a similar roller coaster, arriving at the point where a demonstration of the implementation of algorithms originally defined as abstract equations in theory papers are now commonly represented as circuit diagrams [4].The challenge now is, for both the hardware and software is scalability, how can we have more qubits and build larger and more sophisticated programs.This thesis introduces a collection of software functions (Cirquo), a packaged testing suite aiming to address the complex challenges of quantum circuit development as quantum programs scale up to the complexities of classical software.As the field of quantum software engineering evolves, the need for sophisticated tools that can handle the nuances of quantum computing becomes imperative.Cirquo stands out by offering tailored debugging strategies and comprehensive testing capabilities specifically designed to manage the unique aspects of quantum computation.In this thesis we discuss the three main types of quantum circuit blocks: Amplitude Permutation, Phase Modulation, and Amplitude Redistribution.Each type presents specific challenges that we proposed different approaches to address.For Amplitude Permutation Circuits, we provide techniques to correct amplitude permutations, effectively mimicking classical operations and ensuring circuit accuracy.In the realm of Phase Modulation Circuits, the suite offers precise calibration tools for phase alterations, which are critical for the successful execution of quantum algorithms.The most complex Amplitude Redistribution Circuits benefit from advanced methods that adjust probability amplitudes to maintain the integrity of quantum states.The suite enhances quantum circuit debugging by allowing developers to divide circuits into manageable slices, either vertically or horizontally, categorize these slices, ii iii and perform targeted tests.This slicing mechanism is vital for isolating problematic sections and applying focused debugging strategies without disrupting the circuit's overall functionality.Additionally, Cirquo facilitates gate tracking within each circuit slice, providing developers with detailed insights into gate behavior and interactions.One of the main features of Cirquo is its automated test generation, which supports six common subroutines used in quantum algorithms.This feature streamlines the testing process and enhances the efficiency of detecting and resolving bugs.Moreover, the suite's capability to simulate or execute tests on current quantum devices ensures that developers can optimize circuits for real-world applications.This thesis also offers strategic advice on creating efficient test cases for different circuit categories.These test cases are instrumental in pinpointing the location of bugs, thus significantly reducing debugging time and improving circuit reliability.In conclusion, this research significantly advances the field of quantum computing by providing a robust framework for debugging quantum circuits.The introduction of Cirquo is a pivotal step towards developing reliable quantum computing systems, which are expected to have profound implications across various domains.The empirical evidence confirms the effectiveness of Cirquo in optimizing quantum circuit performance, marking a significant milestone in the maturation of quantum software engineering.
Recent advancements in quantum computing software are gradually increasing the scope and size of quantum programs being developed. At the same time, however, these larger programs provide more possibilities for functional errors that are harder to detect and resolve. Meanwhile, debugging tools that could aid developers in resolving these errors are still barely existent and far from what we take for granted in classical design automation and software engineering. As a result, even if one manages to identify the incorrect behavior of a developed quantum program, detecting and resolving the underlying errors in the program remains a time-consuming and tedious task. Moreover, the exponential growth of the state space in quantum programs makes the efficient manual investigation of errors radically difficult even for respectively simple algorithms, and almost impossible as the number of qubits increases. To address this problem, this work proposes a debugging framework, available as an open-source implementation at https://github.com/cda-tum/mqt-debugger. It assists developers in debugging errors in quantum programs, allowing them to efficiently identify the existence of errors and diagnose their causes. Users are given the ability to place assertions in the code that test for the correctness of a given algorithm and are evaluated using classical simulations of the underlying quantum program. Once an assertion fails, the proposed framework employs different diagnostic methods to point towards possible error causes. This way, the debugging workload for quantum programs is drastically reduced.
As quantum computing transitions from a theoretical domain to a practical technology, many aspects of established practice in software engineering are being faced with new challenges. Quantum Software Engineering has been developed to address the peculiar needs that arise with quantum systems’ dependable, scalable, and fault-tolerant software development. The present paper critically reviews how traditional software engineering methodologies can be reshaped to fit into the quantum field. This also entails providing some critical contributions: frameworks to integrate classical and quantum systems, new error mitigation techniques, and the development of quantum-specific testing and debugging tools. In this respect, best practices have been recommended to ensure that future quantum software can harness the evolving capabilities of quantum hardware with continued performance, reliability, and scalability. The work is supposed to act as a foundational guide for the researcher and developer as quantum computing approaches widespread scientific and industrial adoption.
This article provides an overview of the current state and future challenges of quantum software engineering as quantum computing transitions from proof-of-concept to potential industrial adoption. While significant progress has been made in quantum hardware and cloud-based execution platforms, the article argues that innovation will depend critically on advances in software tools, programming abstractions, and engineering methodologies. Focusing on the constraints of the Noisy Intermediate-Scale Quantum (NISQ) era, it examines challenges related to hardware heterogeneity, software portability, hybrid classical–quantum architectures, and the lack of mature development environments. The article also highlights the urgent need for a new generation of quantum software engineers and coherent educational programmes, particularly in Europe, to bridge skills gaps and support the long-term evolution toward fault-tolerant quantum computing.
Quantum computing has transitioned from a theoretical curiosity to an emerging technological paradigm with demonstrable computational advantages in specific problem domains. This paper presents a comprehensive review of current advances in quantum computing hardware, software, and near-term applications within the Noisy Intermediate-Scale Quantum (NISQ) era. We examine the architectural evolution of leading quantum platforms, including superconducting, trapped-ion, and photonic systems, analyzing their qubit counts, gate fidelities, and coherence times. The paper evaluates key quantum algorithms Shor's factoring algorithm [1], Grover's search algorithm [2], the Variational Quantum Eigensolver (VQE) [3], and the Quantum Approximate Optimization Algorithm (QAOA) [4] in the context of their practical applicability to real-world problems. We further discuss the milestone of quantum computational advantage demonstrated by Google's Sycamore processor [5] and IBM's ambitious hardware roadmap toward fault-tolerant quantum computing [6]. Our analysis reveals that while universal fault-tolerant quantum computing remains a long-term objective, NISQ-era devices are already yielding valuable results in quantum chemistry simulation, combinatorial optimization, and quantum machine learning. We conclude by identifying the critical challenges—error correction, scalability, and algorithm design that must be addressed to realize the full potential of quantum computing.
Quantum computing has existed in the theoretical realm for several decades. Recently, quantum computing has re-emerged as a promising technology to solve problems that a classical computer could take hundreds of years to solve. However, there are challenges and opportunities for academics and practitioners regarding software engineering practices for testing and debugging quantum programs. This article presents a roadmap for addressing these challenges, pointing out the existing gaps in the literature and suggesting research directions. We discuss the limitations caused by noise, the no-cloning theorem, the lack of a standard architecture for quantum computers, among others. Regarding testing, we highlight gaps and opportunities related to transpilation, mutation analysis, input states with hybrid interfaces, program analysis, and coverage. For debugging, we present the current strategies, including classical techniques applied to quantum programs, quantum-specific assertions, and quantum-related bug patterns. We introduce a conceptual model to illustrate concepts regarding the testing and debugging of quantum programs and the relationship between them. Those concepts are used to identify and discuss research challenges to cope with quantum programs through 2030, focusing on the interfaces between classical and quantum computing and on creating testing and debugging techniques that take advantage of the unique quantum computing characteristics.