Mining Quantum Software Patterns in Open-Source Projects
By: Neilson Carlos Leite Ramalho , Erico A. da Silva , Higor Amario de Souza and more
Quantum computing has become an active research field in recent years, as its applications in fields such as cryptography, optimization, and materials science are promising. Along with these developments, challenges and opportunities exist in the field of Quantum Software Engineering, as the development of frameworks and higher-level abstractions has attracted practitioners from diverse backgrounds. Unlike initial quantum frameworks based on the circuit model, recent frameworks and libraries leverage higher-level abstractions for creating quantum programs. This paper presents an empirical study of 985 Jupyter Notebooks from 80 open-source projects to investigate how quantum patterns are applied in practice. Our work involved two main stages. First, we built a knowledge base from three quantum computing frameworks (Qiskit, PennyLane, and Classiq). This process led us to identify and document 9 new patterns that refine and extend the existing quantum computing pattern catalog. Second, we developed a reusable semantic search tool to automatically detect these patterns across our large-scale dataset, providing a practitioner-focused analysis. Our results show that developers use patterns in three levels: from foundational circuit utilities, to common algorithmic primitives (e.g., Amplitude Amplification), up to domain-specific applications for finance and optimization. This indicates a maturing field where developers are increasingly using high-level building blocks to solve real-world problems.
Similar Papers
Quantum Pattern Detection: Accurate State- and Circuit-based Analyses
Quantum Physics
Finds hidden quantum computer code mistakes.
Quantum Testing in the Wild: A Case Study with Qiskit Algorithms
Software Engineering
Tests quantum computer programs better.
Mining Q&A Platforms for Empirical Evidence on Quantum Software Programming
Software Engineering
Helps build better quantum computer programs.