Detailseite
Projekt Druckansicht

QPTest: Automatisches Testen von Quantenprogrammierplattformen

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung seit 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 516334526
 
Die Quanteninformatik entwickelt sich zu einem neuen Rechenparadigma, mit dem sich einige algorithmische Herausforderungen wesentlich effizienter bewältigen lassen als mit herkömmlichen Technologien. Die Ausführung eines Quantenprogramms erfordert eine Quantenprogrammierplattform, die eine Programmiersprache, einen optimierenden Compiler, sowie eine Ausführungsumgebung implementiert. Ähnlich wie bei herkömmlichen Compilern und Laufzeitumgebungen sind diese Plattformen die kritische Infrastruktur, auf der Programme ausgeführt werden. Die Erhöhung der Zuverlässigkeit dieser kritischen Infrastruktur ist entscheidend, um Quantenprogrammierung einer breiten Nutzerschaft zu ermöglichen. Allerdings sind automatisierte Testverfahren für Quantenprogrammierplattformen derzeit noch weitgehend unerforscht. Die einfache Anpassung traditioneller Techniken zum Compiler-Testen ist nicht praktikabel, da die Quantenprogrammierung einem grundlegend anderen Programmierparadigma folgt. Quantenprogramme setzen sich beispielsweise aus anderen Grundbausteinen zusammen, wie Qubits, Gattern und Schaltkreisen, und anders als bei traditionellen Programmen ist das Programmverhalten von Natur aus probabilistisch. Das in diesem Antrag vorgestellte Projekt wird ein umfassendes Rahmenwerk zum automatischen Testen von Quantenprogrammierplattformen schaffen, und hierfür drei orthogonale Herausforderungen angehen: (1) Da es derzeit relativ wenige Quantenprogramme gibt, werden wir automatische Programmgeneratoren erforschen, z.B., unter Verwendung einer Grammatik, die speziell entwickelt wird, um wahrscheinlich gültige Quantenprogramme zu erzeugen, und unter Verwendung eines Generierungsverfahrens, das sich an den zur Laufzeit gemessenen Wahrscheinlichkeitsverteilungen von Qubits orientiert. (2) Motiviert durch den Mangel an formal definierten Testorakeln für Quantenprogrammierplattformen werden wir quantenspezifische metamorphische Testprimitive entwickeln und dabei das Problem angehen, dass verschiedene Ausführungen desselben Quantenprogramms unterschiedliche Ergebnisse liefern können. (3) Um schließlich das Verständnis und die Fehlersuche in den getesteten Plattformen zu unterstützen, werden wir neue Techniken zur Programmreduktion entwickeln, was wegen der inhärent probabilistischen Natur von Quantenprogrammen erschwert wird. Wir planen die Anwendung unserer Ideen auf mehrere reale Quantenprogrammierplattformen, wie Qiskit und Circ. Bei Erfolg wird das QPTest Projekt eine Grundlage für das automatische Testen von Quantenprogrammierplattformen schaffen und eine ähnlich weitreichende Wirkung entfalten wie frühe Arbeiten zum traditionellen Compiler-Testen.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung