Partager

Qbricks : vers la vérification formelle de programmes hybrides classique/quantique

View of Quantum computing concept with qubit icon 3d rendering
© Production_Perig / Shutterstock.com
L’informatique quantique oblige à repenser les pratiques de validation de code. Dans ce but, le CEA-List développe de nouvelles techniques de vérification basées sur l’analyse formelle. Ses récents travaux parviennent à prendre en charge les programmes quantiques hybrides, dans lesquels calculs quantique et classique interagissent, et qui constitueront la majorité des programmes en informatique quantique.

La validation de programmes quantiques

Un problème majeur en informatique quantique est l’impossibilité d’y transposer les techniques de validation et vérification standards, basées sur la vérification à l’exécution des propriétés attendues du système (principe classique du test logiciel). La physique à l’œuvre interdit en effet la consultation de la valeur d’une donnée en cours d’exécution (cela aurait pour effet de l’effacer) ainsi que le passage à l’échelle d’une stratégie de test (caractère non déterministe du calcul quantique).

Tout scénario réaliste de programmation quantique utile impose donc le développement de méthodes nouvelles et innovantes de vérification de code.

Ces dernières années, nous avons développé Qbricks, un outil de vérification de programmes quantiques basé sur de la preuve formelle. L’outil permet d’écrire explicitement les spécifications attendues d’un programme quantique et fournit des moyens de preuves interactive automatisés pour vérifier que ce programme se comporte conformément à ces spécifications pour toutes les données d’entrée possibles.

 

Etendre l’analyse à la programmation hybride

Nos travaux les plus récents visent à étendre cette ligne de travail au cas hybride, dans lequel les données classiques et quantiques interagissent.

Le calcul hybride est en effet omniprésent dans la littérature, avec des algorithmes (tels que la résolution de valeurs propres variationnelle quantiques —VQE) qui entremêlent des briques de calcul classiques et des briques quantiques et d’autres algorithmes qui embarquent des calculs quantiques dans des structures de contrôle classique. Par ailleurs, dans le cas général, la plupart des purs algorithmes quantiques (comme l’Estimation de Phase ou la décomposition en facteurs premiers de Shor) gagnent en performance quand ils sont fragmentés en composants plus simples et hybridisés.  Dans le calcul quantique de grande échelle, même les primitives purement quantiques sont elles-mêmes implémentées de manière hybride pour qu’on puisse leur appliquer la détection et la correction d’erreurs.

Nous avons d’abord étendu les techniques existantes de vérification d’équivalences, problème crucial pour la validation des briques de compilation et optimisation, du cas purement quantique à différentes classes de calcul hybride.

Le traitement du cas général nécessite quant à lui une refondation du système de représentation symbolique de programmes utilisé dans Qbricks. Ce travail est en cours, et nous avons réalisé des premières expériences d’exécution symbolique de circuits prometteuses.

Tout scénario réaliste de programmation quantique impose d’inventer des méthodes nouvelles de débogage et de vérification de code.

Rebecca Cabean

Christophe Chareton

Ingénieur-chercheur — CEA-List

En savoir plus

Cas d’usage

  • Ces travaux prennent place dans le cadre du PEPR quantique et de l’initiative HQI, où nous sommes impliqués en partenariat avec l’UP-Saclay, le Loria et l’UGA. Par ailleurs, des partenaires tels que la DGA, Eviden et Thalès ont montré un intérêt marqué.

 

Ont contribué à l’écriture de cet article

  • Christophe Chareton, Ingénieur-chercheur, CEA-List
  • Mathieu Nguyen, Ingénieur-chercheur, CEA-List
  • Jad Issa, Doctorant, CEA-List