ESEC/FSE 2022 CoLos
30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022)
Powered by
Conference Publishing Consulting

1st International Workshop on Quantum Programming for Software Engineering (QP4SE 2022), November 18, 2022, Singapore, Singapore

QP4SE 2022 – Proceedings

Contents - Abstracts - Authors
Twitter: https://twitter.com/esecfse

1st International Workshop on Quantum Programming for Software Engineering (QP4SE 2022)

Frontmatter

Title Page


Welcome from the Chairs
Welcome to the first edition of the workshop on Quantum Programming for Software Engineering (QP4SE) to be held virtually, November 18th, 2022, co-located with ESEC/FSE 2022, Singapore.

Papers

Automatic Generation of Test Circuits for the Verification of Quantum Deterministic Algorithms
Antonio García de la Barrera Amo ORCID logo, Manuel A. Serrano ORCID logo, Ignacio García Rodríguez de Guzmán ORCID logo, Macario Polo ORCID logo, and Mario Piattini ORCID logo
(University of Castilla-La Mancha, Spain)
Quantum computing will make it possible to exponentially accelerate the performance of a wide range of computational problems, such as cryptography, machine learning or chemical simulation. However, the quantum potential is not only a matter of hardware, but also of software. Therefore, this new paradigm has an impact yet to be explored on software development processes and techniques, and the adaptation of classical software engineering to the new classical/quantum hybrid systems raises a number of important challenges: a new Quantum Software Engineering is therefore needed. Specifically, and focusing on quantum software quality, software verification remains an open research question, as its novelty and complexity make quantum software development a particularly error-prone process. Most current approaches to test-driven verification rely heavily on simulations, which is a problem due to the lack of scalability of simulators running on classical computers. To address this shortcoming, we define the concept of a "Quantum Test Case", and then present a method to test quantum circuits on real machines, without using simulation test functionalities such as amplitude calculation or non-destructive measurement. This is achieved by automatically generating a Quantum Test Case, which wraps the circuit under test and performs the verification. We also present the process to run a set of tests on a circuit with this method, along with an example to illustrate the technique.

Publisher's Version
Towards Quantum-Algorithms-as-a-Service
Manuel De StefanoORCID logo, Dario Di Nucci ORCID logo, Fabio PalombaORCID logo, Davide Taibi ORCID logo, and Andrea De LuciaORCID logo
(University of Salerno, Italy; Tampere University of Technology, Finland)
Quantum computing is an emerging field of high interest. Many companies have started to work on developing more powerful and stable quantum computers. However, developers still struggle to master the art of programming with a quantum computer. One of the major challenges faced is the integration of quantum parts of a system with the classical one. This paper proposes a novel development model called Quantum-Algorithms-as-a-Service (QAaaS). This new model aims to allow developers to abstract the quantum components away from the design of the software they are building. The model leverages Software-as-a-Service and Function-as-a-Service to support multiple quantum cloud providers and run their algorithms regardless of the underlying hardware.

Publisher's Version
Embracing Iterations in Quantum Software: A Vision
Arif Ali Khan ORCID logo, Mahdi Fahmideh ORCID logo, Aakash Ahmad, Muhammad Waseem ORCID logo, Mahmood Niazi ORCID logo, Valtteri Lahtinen ORCID logo, and Tommi Mikkonen ORCID logo
(University of Oulu, Finland; University of Southern Queensland, Australia; Lancaster University Leipzig, Germany; Wuhan University, China; King Fahd University of Petroleum and Minerals, Saudi Arabia; Quanscient, Finland; University of Jyväskylä, Finland)
In today’s software engineering, iterations, affordable en masse, form an important part of just about any system. However, not all computing resources are cheap to consume. In High-Performance (HPC) and Quantum Computing (QC), executions can consume considerable amounts of energy and time, which is reserved and used even if the very first steps in the process fail. This means that developers must assume a different attitude towards programming, and aim at error-free software before its execution. This is commonly facilitated using simulators, which are commonplace for both HPC and QC. However the fashion developers advance from one tool to another is ad-hoc, with no established software engineering guidelines, and the final step from simulators to HPC/QC is still a leap of faith, comparable to releasing software. In this paper, we propose a vision where developers can iterate in an agile fashion when developing quantum software. The iterations are defined such that when the solution is still vague in the beginning, computations are interactive and provide instant feedback, thus supporting conceptualization of the software and experimenting with new ideas. When the solution becomes more precise, more expensive computations such as quantum algorithm and hyperparameter optimization are executed in batches.

Publisher's Version
Quantum Optimization for Fast CAN Bus Intrusion Detection
Danilo Caivano ORCID logo, Mirko De Vincentiis ORCID logo, Federica Nitti ORCID logo, and Anibrata Pal ORCID logo
(University of Bari, Italy)
Modern vehicles, nowadays, come loaded with hundreds of different sensors generating a huge amount of data. This data is shared and processed among different Electronic Control Units (ECUs) through an in-vehicle network, such as the CAN bus, to improve the driver’s experience and safety. However, the implementation of new features increases exposure to cyber-attacks. The CAN bus, which is designed to grant reliable communication, has many security weaknesses that might be exploited by an attacker. The need for highly accurate real-time intrusion detection systems (IDSs) for the automotive industry is limited to classical machine learning techniques, which are usually time-consuming and have hardware limitations. In this work, we analyze an optimized and efficient version of a network-based IDS for CAN bus attack detection based on Quantum Annealing. The models were tested on two different CAN bus datasets. The results show that the Quantum Annealing algorithm outperforms a classical classification algorithm in terms of time performance, which is important in the identification of attacks in the automotive sector, and achieves similar results for detection accuracy.

Publisher's Version
QAI4ASE: Quantum Artificial Intelligence for Automotive Software Engineering
Mirko De Vincentiis ORCID logo, Fabio Cassano, Alessandro Pagano, and Antonio Piccinno
(University of Bari, Italy)
Nowadays, the size and complexity of the automotive development life-cycle increase the possibility of cyber-attacks. In this context, team developers play a primary role in managing cyber security, risk assessment, and all phases of software application development (concept phases, product development, cyber security validation, production, operations, and maintenance). Currently, only generic standards exist and they are difficult to put into operation due to the lack of the required skills and knowledge. Therefore, this paper presents a vision model based on Quantum Artificial Intelligence that supports developers' decisions to integrate concrete design methods in the automotive development life-cycle. Organizations need to develop their process for developing vehicle components that comply with the new automotive standards. We suggest the usage of existing data sources (e.g., existing taxonomies) on Quantum Artificial Intelligence algorithms to suggest the best way, or the correct steps, to follow time by time to achieve user solutions.

Publisher's Version
Quantum Computing for Software Engineering: Prospects
Andriy Miranskyy, Mushahid Khan ORCID logo, Jean Paul Latyr Faye ORCID logo, and Udson C. Mendes ORCID logo
(Ryerson University, Canada; CMC Microsystems, Canada)
Quantum computers (QCs) are maturing. When QCs are powerful enough, they may be able to handle problems in chemistry, physics, and finance that are not classically solvable. However, the applicability of quantum algorithms to speed up Software Engineering (SE) tasks has not been explored. We examine eight groups of quantum algorithms that may accelerate SE tasks across the different phases of SE and sketch potential opportunities and challenges.

Publisher's Version
Using Quantum Computers to Speed Up Dynamic Testing of Software
Andriy Miranskyy
(Ryerson University, Canada)
Software under test can be analyzed dynamically, while it is being executed, to find defects. However, as the number and possible values of input parameters increase, the cost of dynamic testing rises.
This paper examines whether quantum computers (QCs) can help speed up the dynamic testing of programs written for classical computers (CCs). To accomplish this, an approach is devised involving the following three steps: (1) converting a classical program to a quantum program; (2) computing the number of inputs causing errors, denoted by K, using a quantum counting algorithm; and (3) obtaining the actual values of these inputs using Grover’s search algorithm.
This approach can accelerate exhaustive and non-exhaustive dynamic testing techniques. On the CC, the computational complexity of these techniques is O(N), where N represents the count of combinations of input parameter values passed to the software under test. In contrast, on the QC, the complexity is O−1N/K), where ε is a relative error of measuring K.
The paper illustrates how the approach can be applied and discusses its limitations. Moreover, it provides a toy example executed on a simulator and an actual QC. This paper may be of interest to academics and practitioners as the approach presented in the paper may serve as a starting point for exploring the use of QC for dynamic testing of CC code.

Publisher's Version
Asserting the Correctness of Shor Implementations using Metamorphic Testing
Nuno Costa ORCID logo, João Paulo Fernandes ORCID logo, and Rui AbreuORCID logo
(University of Porto, Portugal)
Quantum computing is infused with an increased sense of anticipation and excitement. However, several obstacles need to be overcome before quantum computing can be widely adopted. One of these is determining whether or not a quantum program is behaving according to the expectation. There are several tried-and-true methods for identifying program flaws in the traditional world, but it is far from simple to adapt them to the quantum realm. In this paper, we explore Metamorphic Testing as a promising avenue. We explore this avenue on the well-known Shor's Algorithm, and show how it can be used to verify the validity of this testing approach on quantum algorithms.

Publisher's Version

proc time: 1.54