ABSTRACT
Quantum computing will make it possible to exponentially accelerate the performance of a wide range of computational problems, such as cryptography, machine learning or chemical simulation. However, the quantum potential is not only a matter of hardware, but also of software. Therefore, this new paradigm has an impact yet to be explored on software development processes and techniques, and the adaptation of classical software engineering to the new classical/quantum hybrid systems raises a number of important challenges: a new Quantum Software Engineering is therefore needed. Specifically, and focusing on quantum software quality, software verification remains an open research question, as its novelty and complexity make quantum software development a particularly error-prone process. Most current approaches to test-driven verification rely heavily on simulations, which is a problem due to the lack of scalability of simulators running on classical computers. To address this shortcoming, we define the concept of a "Quantum Test Case", and then present a method to test quantum circuits on real machines, without using simulation test functionalities such as amplitude calculation or non-destructive measurement. This is achieved by automatically generating a Quantum Test Case, which wraps the circuit under test and performs the verification. We also present the process to run a set of tests on a circuit with this method, along with an example to illustrate the technique.
- IEEE Standards Association et al. 2010. Iso/iec/ieee 24765: 2010 systems and software engineering-vocabulary. Iso/Iec/Ieee, 24765, 201025021. Google Scholar
- Gilles Barthe, Justin Hsu, Mingsheng Ying, Nengkun Yu, and Li Zhou. 2019. Google Scholar
- Relational proofs for quantum programs. arXiv preprint arXiv: 1901.05184. Google Scholar
- Antonia Bertolino. 2007. Software testing research: achievements, challenges, dreams. In Future of Software Engineering (FOSE'07). IEEE, 85-103. Google Scholar
- Adrian Cobb, Jean-Guy Schneider, and Kevin Lee. 2022. Towards higher-level abstractions for quantum computing. In Australasian Computer Science Week 2022, 115-124. Google ScholarDigital Library
- Edward Fredkin and Tommaso Tofoli. 1982. Conservative logic. International Journal of theoretical physics, 21, 3, 219-253. Google Scholar
- Antonio Garcıa de la Barrera, Ignacio Garcıa-Rodrıguez de Guzmán, Macario Polo, and Mario Piattini. 2021. Quantum software testing: state of the art. Google Scholar
- Journal of Software: Evolution and Process, e2419. Google Scholar
- Charles Antony Richard Hoare. 1969. An axiomatic basis for computer programming. Communications of the ACM, 12, 10, 576-580. Google ScholarDigital Library
- Luis Jiménez-Navajas, Ricardo Pérez-Castillo, and Mario Piattini. 2020. Reverse engineering of quantum programs toward kdm models. In International Conference on the Quality of Information and Communications Technology. Springer, 249-262. Google ScholarCross Ref
- Smita Krishnaswamy, Igor L Markov, and John P Hayes. 2007. Tracking uncertainty with probabilistic logic circuit testing. IEEE Design & Test of Computers, 24, 4, 312-321. Google ScholarDigital Library
- Daniel A Lidar and Haobin Wang. 1999. Calculating the thermal rate constant with exponential speedup on a quantum computer. Physical Review E, 59, 2, 2429. Google ScholarCross Ref
- Margaret Martonosi and Martin Roetteler. 2019. Next steps in quantum computing: computer science's role. arXiv preprint arXiv: 1903.10541. Google Scholar
- Andriy Miranskyy and Lei Zhang. 2019. On testing quantum programs. In 2019 IEEE/ACM 41st International Conference on Software Engineering : New Ideas and Emerging Results (ICSE-NIER). IEEE, 57-60. Google ScholarDigital Library
- Bappaditya Mondal, Chandan Bandyopadhyay, and Hafizur Rahaman. 2016. Google Scholar
- A testing scheme for mixed-control based reversible circuits. In 2016 Sixth International Symposium on Embedded Computing and System Design (ISED). Google Scholar
- IEEE, 96-100. Google Scholar
- Joyati Mondal and Debesh Kumar Das. 2022. A new online testing technique for reversible circuits. IET Quantum Communication, 3, 1, 50-59. Google ScholarCross Ref
- Michael A Nielsen and Isaac Chuang. 2002. Quantum computation and quantum information. ( 2002 ). Google Scholar
- Ketan N Patel, John P Hayes, and Igor L Markov. 2004. Fault testing for reversible circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23, 8, 1220-1230. Google ScholarDigital Library
- Carlos A Pérez-Delgado and Hector G Perez-Gonzalez. 2020. Towards a quantum software modeling language. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, 442-444. Google ScholarDigital Library
- Robert Wille, Stefan Hillmich, and Lukas Burgholzer. 2022. Tools for quantum computing based on decision diagrams. ACM Transactions on Quantum Computing, 3, 3, Article 13, ( July 2022 ), 17 pages. doi: 10.1145/3491246. Google ScholarDigital Library
- Mingsheng Ying. 2019. Toward automatic verification of quantum programs. Google Scholar
- Formal Aspects of Computing, 31, 1, 3-25. Google Scholar
- Masoud Zamani, Mehdi B Tahoori, and Krishnendu Chakrabarty. 2012. Pingpong test: compact test vector generation for reversible circuits. In 2012 IEEE 30th VLSI Test Symposium (VTS). IEEE, 164-169. Google ScholarCross Ref
- Jianjun Zhao. 2020. Quantum software engineering: landscapes and horizons. Google Scholar
- arXiv preprint arXiv: 2007.07047. Google Scholar
- Li Zhou, Nengkun Yu, and Mingsheng Ying. 2019. An applied quantum hoare logic. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, 1149-1162. Google ScholarDigital Library
Index Terms
- Automatic generation of test circuits for the verification of Quantum deterministic algorithms
Recommendations
Mutation testing of quantum programs written in QISKit
ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion ProceedingsThere is an inherent lack of knowledge and technology to test a quantum program properly. In this paper, building on the definition of syntactically equivalent quantum operations, we investigated a novel set of mutation operators to generate mutants ...
Towards Higher-Level Abstractions for Quantum Computing
ACSW '22: Proceedings of the 2022 Australasian Computer Science WeekQuantum Computing (QC) has emerged as a field of ever-increasing activity as it promises to revolutionize computation and enable the solution of computational problems that we (realistically) cannot solve with Classical Computing to date. However, ...
Unraveling quantum computing system architectures: An extensive survey of cutting-edge paradigms
Abstract Context:The convergence of physics and computer science in the realm of quantum computing systems has sparked a profound revolution within the computer industry. However, despite such promise, the existing focus on quantum software systems ...
Comments