Testing and Debugging Quantum Programs: The Road to 2030
Abstract
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 paper 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.
Cite
@article{arxiv.2405.09178,
title = {Testing and Debugging Quantum Programs: The Road to 2030},
author = {Neilson Carlos Leite Ramalho and Higor Amario de Souza and Marcos Lordello Chaim},
journal= {arXiv preprint arXiv:2405.09178},
year = {2024}
}
Comments
Extending the paper submitted to FSE 2024 (SE2030. Software Engineering in 2030 Workshop)