Grupo Alarcos · Conference paper · 2024
Reverse Engineering of Classical-Quantum Programs
Luis Jiménez Navajas, Ricardo Pérez del Castillo, Mario Piattini Velthuis
: Quantum computing has emerged as a crucial technology, which is expected to be progressively integrated into current, traditional information systems. Society could be benefited from several potential, promising applications based on quantum computing. To achieve such advantages, this new paradigm will require integrating the quantum software into the new hybrid (classical-quantum) information systems. Thus, it is necessary to adapt well-known and validated software engineering methods and techniques, such as software evolution methods based on Model-Driven Engineering principles. In particular, the proposal of this paper is framed in the Quantum Software Modernization process, and, in particular, it addresses the reverse engineering phase. The main contribution is a reverse engineering technique that analyses quantum (Qiskit) and classical (Python) code and builds a common, abstract model that combines both classical and quantum elements. The models are built in a technology-agnostic manner through the Knowledge Discovery Metamodel. Within this technique, relationships have been established between classical and quantum elements which can help to preserve knowledge and provide meaningful insights during the evolution toward hybrid information systems. The functioning of this technique is demonstrated through a running example with a program from the Qiskit Github repository.