Quantum software testing: State of the art

Antonio García de la Barrera, Ignacio García‐Rodríguez de Guzmán, Macario Polo, Mario Piattini
2021 Journal of Software: Evolution and Process  
Quantum computing is expected to exponentially outperform classic computing on a broad set of problems, including encryption, machine learning, and simulations. It has an impact yet to explore on all software lifecycle's processes and techniques. Testing quantum software raises a significant number of challenges due to the unique properties of quantum physics-such as superposition and entanglementand the stochastic behavior of quantum systems. It is, therefore, an open research issue. In this
more » ... rk, we offer a systematic mapping study of quantum software testing engineering, presenting a comprehensive view of the current state of the art. The main identified trends in testing techniques are (1) the statistic approaches based on repeated measurements and (2) the use of Hoare-like logics to reason about software correctness. Another relevant line of research is reversible circuit testing, which is partially applicable to quantum software unitary testing. Finally, we have observed a flourishing of secondary studies and frameworks supporting testing processes from 2018 onwards. | INTRODUCTION Quantum computing (QC) processes information using quantum mechanics principles. In comparison to classic computing (CC), this paradigm has the potential to solve specific problems with exponential speedup. 1 QC has a wide number of applications and is expected to outperform CC in two particular kinds of computations 2 : • Applications that involve large amounts of parallel computing such as encryption, 3 big data, 4 optimization, 5 or machine learning. 6 • Simulation of quantum natural phenomena, such as chemistry, 7 physics, 8 and materials science. 9 With the growing accessibility of quantum computers and simulators, many concerns have arisen related to quantum software and its lifecycle and quality. Quantum software will be developed in a large-scale industrial context in the same way that classic software is nowadays produced. This implies that quantum software must be developed, operated, and maintained in a systematic, disciplined, and quantifiable manner; that is, quantum software development must be supported by a yet nonexisting body of knowledge on quantum software engineering (QSE) that must be developed to avoid a quantum software crisis. Some authors have already voiced the need to "build a community for QSE that focuses on devising methods, tools, and processes for developing quantum software systems efficiently" 10 and the need for an agenda that sets out a solid, rigorous software engineering (SE) discipline for quantum systems. 11 Others are convinced that QC could bring a "new SE golden age", 12 identifying several priority areas to be developed in QSE.
doi:10.1002/smr.2419 fatcat:ucy3dgyxybcivkbo4zkbl3tjkq