Back to search

IKTPLUSS-IKT og digital innovasjon

Enabling Future Dependable Ubiquitous Services and Data with Novel Testing Methods for Quantum Programs

Alternative title: Aktivering av fremtidige pålitelige allestedsnærværende tjenester og data med nye testmetoder for kvanteprogrammer

Awarded: NOK 14.4 mill.

It is well-known that Quantum Computing (QC) has the potential to solve complex problems in various domains and bring breakthroughs in science and technology. Quantum applications span over algorithms addressing optimization problems, e.g., route optimization, machine learning techniques, e.g., for precisely and efficiently identifying objects in images, modeling and simulations, e.g., for handling uncertainties when predicting the future. The need to solve ever-complex and large-scale problems drives QC development. Thus, QC comes in time to bring extreme computation power to handle such complexity. However, testing such QC applications is challenging due to their radically different characteristics from their classical counterparts, including superposition, entanglement, and probabilistic nature. The overall ambition of the Qu-Test is to develop fundamentally new methods for automated and systematic testing of quantum programs based on a rigorous theoretical foundation to guarantee QC application's dependability. In addition, to allow for testing complex quantum programs with minimal QC resources, we will also develop novel quantum optimization algorithms. Finally, the Qu-Test will demonstrate the cost-effectiveness of our methods by testing quantum programs written in quantum high-level programming languages (e.g., Qiskit, Q#). We have developed several testing techniques at this project stage, including input and output coverage criteria, combinatorial testing, and search-based testing. We have developed a mutation analysis tool for quantum programs to establish benchmarks for assessing the quality of testing techniques. Finally, we have some initial results on reducing hardware noise from testing results such that these results can be trusted.

Quantum computing (QC) promises to revolutionize the present form of computing, by solving unimaginably large and highly complex problems that traditional computers would never crack. The potential for QC to solve highly complex problems is also reflected by the rising number of QC platforms (e.g., Microsoft Quantum computing, IBM Quantum Experience) and their supported programming languages (e.g., Q#, QisKit supports Python, Javascript, etc). The rise of QC platforms, software development kits, and programming languages is an essential step towards Ubiquitous Quantum Computing. However, there is an urgent need for testing quantum programs, which has shown to be challenging due to inherent differences of QC with its classical counterpart, including its probabilistic nature and un-observability of the execution. Thus far, there are no systematic methods, tools, and frameworks for the proper testing of QC programs written in quantum high-level programming languages (e.g., Q#). The ambition of the Qu-Test is to develop radically new methods for automated and systematic testing of quantum programs, based on a rigorous theoretical foundation with the ultimate goal of supporting future ubiquitous services and data related to QC applications to guarantee their dependability. To allow for testing complex quantum programs with a minimal amount of QC resources, we will also propose novel quantum optimization algorithms. The research agenda of this proposal is three-fold: 1) building testing foundations for quantum programming languages, 2) building a novel quantum search algorithmic framework for test optimization, and 3) developing an experimental testing framework including test execution, involving testing quantum programs with the proposed foundations and optimization algorithms. Our frameworks will be implemented in Q# and QisKit and we will demonstrate cost-effective testing of quantum programs written in Q# and the languages supported by QisKit (e.g., Python).

Funding scheme:

IKTPLUSS-IKT og digital innovasjon