NxM-Version Programming for Quantum Software: High-Level Components across Frameworks and Engines
quant-ph, cs.SE
Submitted: 2026-09-27
Updated: 2026-09-27
Code: https://github.com/microsoft/qsharp
Project page: https://qutech-delft.github.io/cQASM-spec/latest
License: http://creativecommons.org/licenses/by/4.0/
The gist: Quantum computing has in recent years evolved from a purely theoretical field to an active area in both academia and industry.
Terminology
Abstract
Quantum computing has in recent years evolved from a purely theoretical field to an active area in both academia and industry. As a result, Quantum Software Engineering has emerged as an area that aims to organize the process of building, testing, and running quantum software. However, writing quantum software still requires programming with quantum gates and qubits, as well as knowledge specific to quantum software frameworks such as Qiskit, Cirq, Qrisp, pyQuil and PennyLane, each of which reaches quantum hardware through its own toolchain. We present Quanifi, which packages the high-level routines of these frameworks as components on the Apache NiFi dataflow canvas. The components exchange circuits as OpenQASM 2.0, so a circuit built by one framework can be executed by another. This allows for two types of redundancy: several frameworks implement the same algorithm, and several engines (simulators or real hardware) execute the same circuit. We describe N times M program execution, which crosses the two: a single NiFi flow runs each of the N implementations on each of the M engines, and because every result is labelled with its implementation and its engine, a disagreement can be linked to an implementation, to an engine, or to a single implementation-engine pair. We ran Grover's algorithm built by three frameworks on three quantum computers from IBM, IQM and Quantum Inspire, and a matrix of three adder builders on one IQM device reached through two routes. N times M execution helped us discover three real defects: an incorrect gate-set declaration in the Quantum Inspire adapter, execution consistent with negated R x angles on Tuna-17, and circuit modification through Open Quantum. The latter two returned wrong answers without reporting an error. We reported all three defects and Open Quantum's provider confirmed and fixed its QASM parsing defect.
Sources
- Qrisp: A Framework for Compilable High-Level Programming of Gate-Based Quantum Computers
- Quantum computing with Qiskit
- PennyLane: Automatic differentiation of hybrid quantum-classical computations
- Open Quantum Assembly Language
- A Practical Quantum Instruction Set Architecture
- cQASM v1.0: Towards a Common Quantum Assembly Language
- A new quantum ripple-carry addition circuit
Related papers
- Reconquering Bell sampling on qudits: stabilizer learning and testing, quantum pseudorandomness bounds, and more
- Encrypted clones can leak: Classification of informative subsets in Quantum Encrypted Cloning
- Polynomial-time classical and quantum simulation of quantum impurity models
- A quasiparticle-protected superconducting qubit
- Theory of quantum-enhanced interferometry with general Markovian light sources
- A convergent hierarchy of spectral gap certificates for qubit Hamiltonians