Loading…

Software engineering for quantum programming: How far are we?

Quantum computing is no longer only a scientific interest but is rapidly becoming an industrially available technology that can potentially overcome the limits of classical computation. Over the last years, all major companies have provided frameworks and programming languages that allow developers...

Full description

Saved in:
Bibliographic Details
Published in:The Journal of systems and software 2022-08, Vol.190, p.111326, Article 111326
Main Authors: De Stefano, Manuel, Pecorelli, Fabiano, Di Nucci, Dario, Palomba, Fabio, De Lucia, Andrea
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Quantum computing is no longer only a scientific interest but is rapidly becoming an industrially available technology that can potentially overcome the limits of classical computation. Over the last years, all major companies have provided frameworks and programming languages that allow developers to create their quantum applications. This shift has led to the definition of a new discipline called quantum software engineering, which is demanded to define novel methods for engineering large-scale quantum applications. While the research community is successfully embracing this call, we notice a lack of systematic investigations into the state of the practice of quantum programming. Understanding the challenges that quantum developers face is vital to precisely define the aims of quantum software engineering. Hence, in this paper, we first mine all the GitHub repositories that make use of the most used quantum programming frameworks currently on the market and then conduct coding analysis sessions to produce a taxonomy of the purposes for which quantum technologies are used. In the second place, we conduct a survey study that involves the contributors of the considered repositories, which aims to elicit the developers’ opinions on the current adoption and challenges of quantum programming. On the one hand, the results highlight that the current adoption of quantum programming is still limited. On the other hand, there are many challenges that the software engineering community should carefully consider: these do not strictly pertain to technical concerns but also socio-technical matters. •A large-scale mining study to assess why quantum technologies are used for.•A survey involving quantum developers to understand the challenges they face.•A taxonomy of quantum programming challenges.•A discussion with developers to set the basis for future research directions.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2022.111326