Partager

La programmation quantique

Crédit : CEA
L’informatique requiert des outils de programmation, de vérification et d’analyse de code adaptés aux modèles de calcul sous-jacents. Le cas de l’informatique quantique est emblématique : alors que les développements matériels et algorithmiques progressent, il faut repenser toute la chaîne de développement logiciel pour l’adapter à ce nouveau paradigme.

Les développements matériels récents en informatique quantique annoncent des machines de calculs efficaces pour un futur proche. Cette situation appelle au développement d’un génie logiciel consacré à ce paradigme de calcul. Un défi majeur consiste ici au développement de méthodes de débogage et de vérification de code, puisque les stratégies standards (basées sur le test et la vérification d’assertion) sont rendues impuissantes par les lois même de la physique quantique ici à l’œuvre (mesure destructrice, indéterminisme). Fort de son expérience et de son expertise dans les domaines de l’analyse statique et de la vérification formelle de code dans le cas classique, le CEA adapte ces méthodes au cas quantique.

La solution repose sur un langage de programmation quantique associé à une sémantique formelle, permettant :

  • d’annoter explicitement le code objet par des spécifications comportementales, de bonne formation et de ressources nécessaires à son exécution,
  • de prouver mathématiquement la validation de ces différentes spécifications, (cf. figure 1).

Ces développements s’appuient sur la technique de vérification déductive, éprouvée dans le cas classique, et sur la représentation symbolique des calculs quantiques comme « sommes de chemins », version discrète des intégrales de chemins proposées par Richard Feynman (cf. figure 2).

L’outil a été éprouvé par le développement entièrement vérifié d’algorithmes quantiques non triviaux, notamment la première implémentation prouvée de l’algorithme de Shor, et place Qbricks au premier rang dans la compétition internationale (cf. figure 3). Il a donné lieu à une publication dans ESOP 2021 ainsi qu’à l’édition d’un chapitre d’ouvrage en 2023.

Figure 1 : Compilation de code annoté en Qbricks : le code objet est traduit dans une représentation (symbolique) intermédiaire (RI) standard et directement recevable par un simulateur et/ou calculateur quantique. Les spécifications sont traduites en obligation de preuve (PO), prouvées correctes via une interaction entre des solveurs automatiques et l’utilisateur.

 

Figure 2 : La représentation symbolique des sommes de chemins.

 

Figure 3 : Mesure comparée de l’effort humain requis pour prouver des implémentations de différents algorithmes standards de la littérature (Deutsch-Jozsa – DJ, Quantum Fourier Transform – QFT, Quantum Phase Estimation – QPE, Grover) avec Qbricks et les solutions concurrentes.

Les développements en court visent à intégrer Qbricks dans une chaîne complète de développement à usage pratique. Ceci passe notamment par :

  • le développement d’un langage de programmation et de spécifications utilisateur de haut niveau, combinant harmonieusement les meilleurs traits des langages industriels et académiques,
  • l’extension des outils d’analyse au calcul hybride classique-quantique,
  • l’extension des outils d’analyse et de vérification au cours de la chaîne de compilation.

Le projet Qbricks se concentre sur le problème du développement sûr et efficace de programmes quantiques, en adaptant au cas quantique les meilleures pratiques classiques en termes de langages, analyse de code et compilation.

Vers des outils de vérification formelle pour une chaîne de développement et de compilation sûre.

Rebecca Cabean

Christophe Chareton

Ingénieur-chercheur — CEA-List

À lire également

Programmes de recherche

Calcul quantique

Le CEA-List s’est fixé comme objectif de rendre possible la programmation des futurs ordinateurs quantiques, en faisant le lien entre applications, algorithmes et matériel quantique.
Lire la suite
Avancées technologiques

10 mai 2022 | Logiciels quantiques : une implémentation de l'algorithme de Shor vérifiée pour la première fois

​L'algorithme de Shor est à l'origine de l'engouement de la communauté scientifique pour le quantique dans les années 1995. Mais aucune implémentation du célèbre algorithme n'avait jusqu'à p...
Lire la suite