Mining Quantum Software Patterns in Open-Source Projects
Neilson Carlos Leite Ramalho, Erico A. da Silva, Higor Amario de Souza, Marcos Lordello Chaim

TL;DR
This study analyzes 985 Jupyter Notebooks from open-source quantum projects to identify and extend quantum software patterns, revealing how developers apply these patterns across different abstraction levels for practical applications.
Contribution
It introduces 9 new quantum software patterns and a semantic search tool for automatic pattern detection in large datasets, advancing understanding of pattern usage in practice.
Findings
Developers use quantum patterns at multiple abstraction levels.
Patterns are applied in finance and optimization domains.
The field is maturing with increased use of high-level abstractions.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsQuantum Computing Algorithms and Architecture · Scientific Computing and Data Management · Cloud Computing and Resource Management
