Using Quantum Computers to Speed Up Dynamic Testing of Software

09/11/2022
by   Andriy Miranskyy, et al.
0

Software under test can be analyzed dynamically, while it is being executed, to find defects. However, as the number and possible values of input parameters increase, the cost of dynamic testing rises. This paper examines whether quantum computers (QCs) can help speed up the dynamic testing of programs written for classical computers (CCs). To accomplish this, an approach is devised involving the following three steps: (1) converting a classical program to a quantum program; (2) computing the number of inputs causing errors, denoted by K, using a quantum counting algorithm; and (3) obtaining the actual values of these inputs using Grover's search algorithm. This approach can accelerate exhaustive and non-exhaustive dynamic testing techniques. On the CC, the computational complexity of these techniques is O(N), where N represents the count of combinations of input parameter values passed to the software under test. In contrast, on the QC, the complexity is O(ε^-1√(N/K)), where ε is a relative error of measuring K. The paper illustrates how the approach can be applied and discusses its limitations. Moreover, it provides a toy example executed on a simulator and an actual QC. This paper may be of interest to academics and practitioners as the approach presented in the paper may serve as a starting point for exploring the use of QC for dynamic testing of CC code.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset