Table of Contents
Fetching ...

The Road to Hybrid Quantum Programs: Characterizing the Evolution from Classical to Hybrid Quantum Software

Vincenzo De Maio, Ivona Brandic, Ewa Deelman, Jürgen Cito

TL;DR

This paper examines how to systematically transform a classical molecular dynamics program into a hybrid quantum-classical workflow, addressing the lack of scalable methods for identifying quantum-candidate code and mapping it to quantum subroutines. Through a six-month auto-ethnographic case study with IBM Qiskit, it documents a practical evolution path from problem decomposition to integration and testing, exposing the sociotechnical dynamics of cross-disciplinary collaboration. It proposes a generalized software-evolution pipeline with stages for decomposition, candidate identification, subroutine mapping, data encoding, error mitigation, testing, and integration, and discusses implications for automated reasoning, API evolution, and variant management in quantum software engineering. The findings underscore the need for tooling to support automated differential testing and cross-framework interoperability, shaping future research and practice in hybrid quantum software development.

Abstract

Quantum computing exhibits the unique capability to natively and efficiently encode various natural phenomena, promising theoretical speedups of several orders of magnitude. However, not all computational tasks can be efficiently executed on quantum machines, giving rise to hybrid systems, where some portions of an application run on classical machines, while others utilize quantum resources. Efforts to identify quantum candidate code fragments that can meaningfully execute on quantum machines primarily rely on static code analysis. Yet, the state-of-the-art in static code analysis for quantum candidates remains in its infancy, with limited applicability to specific frameworks and languages, and a lack of generalizability. Existing methods often involve a trial-and-error approach, relying on the intuition and expertise of computer scientists, resulting in varying identification durations ranging from minutes to days for a single application. This paper aims to systematically formalize the process of identifying quantum candidates and their proper encoding within classical programs. Our work addresses the critical initial step in the development of automated reasoning techniques for code-to-code translation, laying the foundation for more efficient quantum software engineering. Particularly, this study investigates a sociotechnical phenomenon where the starting point is not a problem directly solvable with QC, but rather an existing classical program that addresses the problem. In doing so, it underscores the interdisciplinary nature of QC application development, necessitating collaboration between domain experts, computer scientists, and physicists to harness the potential of quantum computing effectively.

The Road to Hybrid Quantum Programs: Characterizing the Evolution from Classical to Hybrid Quantum Software

TL;DR

This paper examines how to systematically transform a classical molecular dynamics program into a hybrid quantum-classical workflow, addressing the lack of scalable methods for identifying quantum-candidate code and mapping it to quantum subroutines. Through a six-month auto-ethnographic case study with IBM Qiskit, it documents a practical evolution path from problem decomposition to integration and testing, exposing the sociotechnical dynamics of cross-disciplinary collaboration. It proposes a generalized software-evolution pipeline with stages for decomposition, candidate identification, subroutine mapping, data encoding, error mitigation, testing, and integration, and discusses implications for automated reasoning, API evolution, and variant management in quantum software engineering. The findings underscore the need for tooling to support automated differential testing and cross-framework interoperability, shaping future research and practice in hybrid quantum software development.

Abstract

Quantum computing exhibits the unique capability to natively and efficiently encode various natural phenomena, promising theoretical speedups of several orders of magnitude. However, not all computational tasks can be efficiently executed on quantum machines, giving rise to hybrid systems, where some portions of an application run on classical machines, while others utilize quantum resources. Efforts to identify quantum candidate code fragments that can meaningfully execute on quantum machines primarily rely on static code analysis. Yet, the state-of-the-art in static code analysis for quantum candidates remains in its infancy, with limited applicability to specific frameworks and languages, and a lack of generalizability. Existing methods often involve a trial-and-error approach, relying on the intuition and expertise of computer scientists, resulting in varying identification durations ranging from minutes to days for a single application. This paper aims to systematically formalize the process of identifying quantum candidates and their proper encoding within classical programs. Our work addresses the critical initial step in the development of automated reasoning techniques for code-to-code translation, laying the foundation for more efficient quantum software engineering. Particularly, this study investigates a sociotechnical phenomenon where the starting point is not a problem directly solvable with QC, but rather an existing classical program that addresses the problem. In doing so, it underscores the interdisciplinary nature of QC application development, necessitating collaboration between domain experts, computer scientists, and physicists to harness the potential of quantum computing effectively.

Paper Structure

This paper contains 23 sections, 1 equation, 10 figures, 1 table.

Figures (10)

  • Figure 1: Overview of a software evolution process.
  • Figure 2: From Classical to Hybrid Quantum-Classical MD Workflow.
  • Figure 3: SWAP Test Circuit.
  • Figure 4: Amplitude Encoding (commit 029af9e)
  • Figure 5: Error Mitigation (commit 6094be7)
  • ...and 5 more figures