Exploring design patterns in quantum software: a case study

Quantum computing holds great promise for solving complex problems that classical computing cannot address, with applications in various industries and sectors. However, developing efficient quantum software remains a challenge. Quantum software engineering (QSE) has emerged to address this, adaptin...

ver descrição completa

Detalhes bibliográficos
Autores: Fernández Osuna, Miriam, Pérez Castillo, Ricardo, Cruz Lemus, José Antonio, Baczyk, Michael, Piattini Velthuis, Mario Gerardo
Tipo de documento: artigo
Data de publicação:2025
País:España
Recursos:Universidad de Castilla-La Mancha
Repositório:RUIdeRA. Repositorio Institucional de la UCLM
OAI Identifier:oai:ruidera.uclm.es:10578/48044
Acesso em linha:https://hdl.handle.net/10578/48044
Access Level:Acceso aberto
Palavra-chave:Quantum software engineering
Quantum computing
Design patterns
Quantum circuit metrics
Code repository analysis
Descrição
Resumo:Quantum computing holds great promise for solving complex problems that classical computing cannot address, with applications in various industries and sectors. However, developing efficient quantum software remains a challenge. Quantum software engineering (QSE) has emerged to address this, adapting classical software engineering practices for quantum systems. Design patterns, widely used in classical software, can provide reusable solutions for common quantum development issues, but their use in quantum software remains underexplored. This paper presents an empirical study investigating the use of design patterns in 2610 Qiskit programs from GitHub. Using the QCPD Tool to detect four design patterns (initialization, superposition, entanglement, and oracle) and QMetrics to compute software metrics, the study creates a dataset linking patterns with code characteristics. Three research questions guide the study: RQ1 examines the prevalence of design patterns in quantum software, RQ2 explores the relationship between design patterns and code metrics, and RQ3 analyzes the combinations of patterns that occur together. The findings provide insights into quantum software development, offering developers practical guidance on applying specific patterns. The results contribute to QSE by revealing key relationships between patterns and metrics, which can inform future research and tool development. These findings support improved performance, maintainability, and scalability, fostering the broader adoption of quantum computing.