Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Modeling Quantum programs: challenges, initial results, and research directions

Shaukat Ali, Tao Yue

Published Nov 13, 2020• 35 citations
Publisher

Abstract

Quantum programming languages provide necessary constructs to program quantum computers. To write such programs, one needs to understand the characteristics of quantum computers such as superposition and entanglement, which are novel as compared to programming with classical computers. Understanding these characteristics requires an understanding of quantum physics. Thus, there is a need to build high-level modeling abstractions of quantum programs for software engineers who are used to program on classical computers to understand and model quantum programs at a high-level of abstraction and independent of quantum platforms. To this end, we present some ideas for developing such quantum software modeling languages, by presenting a conceptual model of quantum programs and an example of modeling the state-based behavior of quantum entanglement program. Moreover, we present some open issues in the area of modeling quantum programs.

DOI
10.1145/3412451.3428499

Related papers

On the Need of Quantum-Oriented Paradigm

Shaukat Ali, Tao Yue

Since the invention of Quantum Computing (QC) in the 1980s, substantial claims about QC’s ability to solve computational problems of unparalleled complexity have emerged. However, forty years later, no significant real-world QC applications exist. Indeed, the availability of small-scale noisy quantum computers is to blame. Still, simultaneously, the programming of quantum computers is too close to quantum hardware, requiring software engineers with specialized backgrounds to build QC applications and limiting the maximum exploitation of QC’s potential. Thus, there is a need for an abstract yet intuitive quantum-oriented paradigm (QOP) for building QC applications, similar to the object-oriented paradigm established in the 1960s for classical computers that laid the foundations of modern programming and modeling languages for classical computers. Unfortunately, such a QC paradigm doesn’t exist. Thus, we foresee the need to build a novel QOP based on which future quantum programming and modeling languages shall be developed. Such QOP shall enable users with diverse backgrounds (e.g., computer scientists, software engineers, and physicists) to build QC applications cost-effectively, intuitively, and independently of low-level quantum mechanics characteristics (e.g., superposition and entanglement). This paper discusses the emerging work of QOP and presents research directions that the software engineering and programming communities can follow to build a successful QOP.

•Nov 30, 2023•7 citations

Towards Higher-Level Abstractions for Quantum Computing

Adrian Cobb, Jean-Guy Schneider, Kevin Lee

Quantum Computing (QC) has emerged as a field of ever-increasing activity as it promises to revolutionize computation and enable the solution of computational problems that we (realistically) cannot solve with Classical Computing to date. However, existing quantum programming environments mostly require an in-depth understanding of the basic QC building blocks, that is, quantum states, superposition, entanglement and measurement as well as the changing of quantum states using basic quantum gates. The present state of quantum programming reminds us of how Classical Computing was about 70 years ago when computing machines such as the ENIAC required significant effort to program solely using very basic digital building blocks. Over the decades, though, increasingly higher-level abstractions have been created on top of the basic building blocks of Classical Computing and made computation much more accessible and wide-spread. In order to make Quantum Computing more accessible, we argue that Software Engineering for QC needs to embark on a similar journey and create abstractions that shield developers from the basic QC building blocks as much as possible so that they can focus their attention on solving problems and less on how to manipulate quantum states using quantum circuits. Based on our experience of developing a scalable quantum n-queens solver, this paper aims to formulate recommendations for raising the level of abstraction in Quantum Software Engineering.

Australasian Computer Science Week Multiconference (ACSW)•Feb 14, 2022•6 citations

The Art of Abstraction in Quantum Software

Olivia Di Matteo

As the scale and capability of quantum hardware improves, there is a growing need for more expressive languages and frameworks that enable developers to write, optimize, and debug quantum programs beyond low-level quantum circuits. Motivated by ongoing collaborative work [1], this talk will showcase the role of abstraction in quantum software development. The characteristics of “good” abstractions will be described, and their importance highlighted by the examples of building an interactive quantum debugger [2], and optimizing quantum programs at multiple levels. Determining the “right” set of abstractions is a challenging open question that requires further research.

IEEE/ACM International Workshop on Quantum Software Engineering (Q-SE)•May 3, 2025•3 citations

On the Definition of Quantum Programming Modules

Pedro Sánchez, Diego Alonso

There are no doubts that quantum programming and, in general, quantum computing, is one of the most promising areas within computer science and one of the areas where most expectations are being placed in recent years. Although the days when reliable and affordable quantum computers will be available is still a long way off, the explosion of programming languages for quantum programming has grown exponentially in recent years. The software engineering community has been quick to react to the need to adopt and adapt well-known tools and methods for software development, and for the design of new ones tailored to this new programming paradigm. However, many key aspects for its success depend on the establishment of an appropriate conceptual framework for the conception and design of quantum programs. This article discusses the concept of module, key in the software engineering discipline, and establishes initial criteria for determining the cohesion and coupling levels of a module in the field of quantum programming as a first step towards a sound quantum software engineering. As detailed in the article, the conceptual differences between classical and quantum computing are so pronounced that the translation of classical concepts to the new programming approach is not straightforward.

Applied Sciences•Jun 23, 2021•15 citations

Quantum software development: a survey

Luis Jiménez-Navajas, Fabian Bühler, Frank Leymann +3 more

Over the last few years, quantum computing has been growing at an exponential pace. Every day, new techniques, frameworks, modeling, and programming languages are emerging that aim to facilitate the development of quantum software, which is key to achieving the promising applications of quantum computing. However, which of these are actively used and the degree of satisfaction of researchers and developers regarding these quantum software frameworks and languages is not known. To address this, we conducted a survey to characterize which modeling tools and which quantum programming languages are used during the quantum software lifecycle. Researchers in academia and industry developers were surveyed, and a total of 57 responses were collected. The results indicate that during quantum software development, some models and diagrams are used to guide development. In addition, the survey results show what quantum programming languages are the most used alongside the classical programming languages employed to build hybrid programs, among other important insights. The implications of this survey are: (i) to find out what the current trends are within quantum software development and (ii) to find out what the needs are of quantum software developers with respect to current modeling and programming languages and tools.

Quantum Information and Computation•Jun 1, 2024•5 citations

Quantum Software Components and Platforms: Overview and Quality Assessment

Manuel Serrano, José A. Cruz-Lemus, Ricardo Pérez‐Castillo +1 more

Quantum computing is the latest revolution in computing and will probably come to be seen as an advance as important as the steam engine or the information society. In the last few decades, our understanding of quantum computers has expanded and multiple efforts have been made to create languages, libraries, tools, and environments to facilitate their programming. Nonetheless, quantum computers are complex systems at the bottom of a stack of layers that programmers need to understand. Hence, efforts towards creating quantum programming languages and computing environments that can abstract low-level technology details have become crucial steps to achieve a useful quantum computing technology. However, most of these environments still lack many of the features that would be desirable, such as those outlined in The Talavera Manifesto for Quantum Software Engineering and Programming. For advancing quantum computing, we will need to develop quantum software engineering techniques and tools to ensure the feasibility of this new type of quantum software. To contribute to this goal, this paper provides a review of the main quantum software components and platforms. We also propose a set of quality requirements for the development of quantum software platforms and the conduct of their quality assessment.

ACM Computing Surveys•Jul 18, 2022•84 citations
Quantum programming languages provide necessary constructs to program quantum computers. To write such programs, one needs to understand the characteristics of quantum computers such as superposition and entanglement, which are novel as compared to programming with classical computers. Understanding these characteristics requires an understanding of quantum physics. Thus, there is a need to build high-level modeling abstractions of quantum programs for software engineers who are used to program on classical computers to understand and model quantum programs at a high-level of abstraction and independent of quantum platforms. To this end, we present some ideas for developing such quantum software modeling languages, by presenting a conceptual model of quantum programs and an example of modeling the state-based behavior of quantum entanglement program. Moreover, we present some open issues in the area of modeling quantum programs.
Since the invention of Quantum Computing (QC) in the 1980s, substantial claims about QC’s ability to solve computational problems of unparalleled complexity have emerged. However, forty years later, no significant real-world QC applications exist. Indeed, the availability of small-scale noisy quantum computers is to blame. Still, simultaneously, the programming of quantum computers is too close to quantum hardware, requiring software engineers with specialized backgrounds to build QC applications and limiting the maximum exploitation of QC’s potential. Thus, there is a need for an abstract yet intuitive quantum-oriented paradigm (QOP) for building QC applications, similar to the object-oriented paradigm established in the 1960s for classical computers that laid the foundations of modern programming and modeling languages for classical computers. Unfortunately, such a QC paradigm doesn’t exist. Thus, we foresee the need to build a novel QOP based on which future quantum programming and modeling languages shall be developed. Such QOP shall enable users with diverse backgrounds (e.g., computer scientists, software engineers, and physicists) to build QC applications cost-effectively, intuitively, and independently of low-level quantum mechanics characteristics (e.g., superposition and entanglement). This paper discusses the emerging work of QOP and presents research directions that the software engineering and programming communities can follow to build a successful QOP.
Quantum Computing (QC) has emerged as a field of ever-increasing activity as it promises to revolutionize computation and enable the solution of computational problems that we (realistically) cannot solve with Classical Computing to date. However, existing quantum programming environments mostly require an in-depth understanding of the basic QC building blocks, that is, quantum states, superposition, entanglement and measurement as well as the changing of quantum states using basic quantum gates. The present state of quantum programming reminds us of how Classical Computing was about 70 years ago when computing machines such as the ENIAC required significant effort to program solely using very basic digital building blocks. Over the decades, though, increasingly higher-level abstractions have been created on top of the basic building blocks of Classical Computing and made computation much more accessible and wide-spread. In order to make Quantum Computing more accessible, we argue that Software Engineering for QC needs to embark on a similar journey and create abstractions that shield developers from the basic QC building blocks as much as possible so that they can focus their attention on solving problems and less on how to manipulate quantum states using quantum circuits. Based on our experience of developing a scalable quantum n-queens solver, this paper aims to formulate recommendations for raising the level of abstraction in Quantum Software Engineering.
As the scale and capability of quantum hardware improves, there is a growing need for more expressive languages and frameworks that enable developers to write, optimize, and debug quantum programs beyond low-level quantum circuits. Motivated by ongoing collaborative work [1], this talk will showcase the role of abstraction in quantum software development. The characteristics of “good” abstractions will be described, and their importance highlighted by the examples of building an interactive quantum debugger [2], and optimizing quantum programs at multiple levels. Determining the “right” set of abstractions is a challenging open question that requires further research.
There are no doubts that quantum programming and, in general, quantum computing, is one of the most promising areas within computer science and one of the areas where most expectations are being placed in recent years. Although the days when reliable and affordable quantum computers will be available is still a long way off, the explosion of programming languages for quantum programming has grown exponentially in recent years. The software engineering community has been quick to react to the need to adopt and adapt well-known tools and methods for software development, and for the design of new ones tailored to this new programming paradigm. However, many key aspects for its success depend on the establishment of an appropriate conceptual framework for the conception and design of quantum programs. This article discusses the concept of module, key in the software engineering discipline, and establishes initial criteria for determining the cohesion and coupling levels of a module in the field of quantum programming as a first step towards a sound quantum software engineering. As detailed in the article, the conceptual differences between classical and quantum computing are so pronounced that the translation of classical concepts to the new programming approach is not straightforward.
Over the last few years, quantum computing has been growing at an exponential pace. Every day, new techniques, frameworks, modeling, and programming languages are emerging that aim to facilitate the development of quantum software, which is key to achieving the promising applications of quantum computing. However, which of these are actively used and the degree of satisfaction of researchers and developers regarding these quantum software frameworks and languages is not known. To address this, we conducted a survey to characterize which modeling tools and which quantum programming languages are used during the quantum software lifecycle. Researchers in academia and industry developers were surveyed, and a total of 57 responses were collected. The results indicate that during quantum software development, some models and diagrams are used to guide development. In addition, the survey results show what quantum programming languages are the most used alongside the classical programming languages employed to build hybrid programs, among other important insights. The implications of this survey are: (i) to find out what the current trends are within quantum software development and (ii) to find out what the needs are of quantum software developers with respect to current modeling and programming languages and tools.
Quantum computing is the latest revolution in computing and will probably come to be seen as an advance as important as the steam engine or the information society. In the last few decades, our understanding of quantum computers has expanded and multiple efforts have been made to create languages, libraries, tools, and environments to facilitate their programming. Nonetheless, quantum computers are complex systems at the bottom of a stack of layers that programmers need to understand. Hence, efforts towards creating quantum programming languages and computing environments that can abstract low-level technology details have become crucial steps to achieve a useful quantum computing technology. However, most of these environments still lack many of the features that would be desirable, such as those outlined in The Talavera Manifesto for Quantum Software Engineering and Programming. For advancing quantum computing, we will need to develop quantum software engineering techniques and tools to ensure the feasibility of this new type of quantum software. To contribute to this goal, this paper provides a review of the main quantum software components and platforms. We also propose a set of quality requirements for the development of quantum software platforms and the conduct of their quality assessment.