Sammendrag
As their usage continues to increase, the underlying platforms are becoming more complex and capable; however, questions of robustness and correctness still remain. A buggy and non-robust platform could hinder adoption and potentially deter users from quantum computing altogether. For example, Qiskit, a popular platform, has 40% bug-labelled issues. Since these platforms are foundational to the quantum computing revolution, it is crucial to test them for both robustness and cross-platform compatibility. Unfortunately, testing these platforms is challenging due to a lack of diverse quantum-specific testing techniques, limited availability of the same quantum programs using different platforms, and varying levels of inter-platform compatibility. Additionally, the oracle problem in testing poses a challenge, as there is a lack of specifications for the expected behavior of programs. We present QCross, a cross-platform differential and metamorphic testing approach for testing quantum computing platforms. We build on top of MorphQ and attach a converter that translates quantum circuits from one platform to another. Furthermore, we also present a Python library, bloqs, that makes Qiskit quantum gates available in PyQuil, and Cirq. By evaluating the approach with 1500+ randomly-generated quantum programs on three platforms (Qiskit, PyQuil, and Cirq), we discovered several new real-world bugs in each platform. QCross expands the limited range of available testing techniques and aims to play an important role in developing a more dependable software stack for this rapidly growing field.