DFG-gefördertes Projekt TYPES4STRINGS: Suche nach Fehlern in Zeichenketten
Ein Team der Universität Passau unter Leitung von Professor Gordon Fraser entwickelt Mittel zur Überprüfung von Strings, Zeichenketten, in Programmiersprachen. String-bezogene Fehler sollen beim Testen und in der Produktion von Programmen unter anderem mithilfe generativer Sprachmodelle entdeckt werden.
„Strings sind das Schweizer Taschenmesser unter den Datenstrukturen“, sagt Prof. Dr. Gordon Fraser, Inhaber des Lehrstuhls für Software Engineering II an der Universität Passau. Programme nutzen Strings, Zeichenketten also, um alle Arten von Textdaten darzustellen. Dazu zählen Namen, Kreditkartennummern, E-Mail-Adressen, URLs, Bankkonten, Farbcodes und vieles mehr.
Ein Team der Universität Passau unter Leitung von Prof. Dr. Fraser nutzt diese spezifischen Eigenschaften nun für neue Wege in der Suche nach Softwarefehlern mit Bezug auf Zeichenketten: Gemeinsam mit der Technischen Universität Wien und dem Helmholtz-Zentrum für Informationssicherheit (CISPA) entwickeln die Forschenden im DFG-Projekt TYPES4STRINGS ein Verfahren, mithilfe dessen String-Typen entwickelt werden sollen, die String-Ergebnisse auf lexikalische, syntaktische und semantische Korrektheit prüfen können.
Der Hintergrund des Projektes: „Programmiersprachen bieten nur wenig Unterstützung, um zu überprüfen, ob die Inhalte dieser Strings auch tatsächlich den Erwartungen entsprechen“, so Prof. Dr. Fraser. Die meisten Programmiersprachen und Typsysteme überließen solche Prüfungen, wenn überhaupt, Laufzeitsystemen. Folglich könne eine Zeichenkette, die eine Telefonnummer enthalten soll, plötzlich eine SQL-Abfrage enthalten; eine Zeichenkette, die eine Farbe enthalten soll, könnte stattdessen ausführbaren JavaScript-Code enthalten - mit all den daraus resultierenden Problemen. Dies kann etwa zu Funktionsfehlern oder zu häufigen Angriffen wie Skript- oder SQL-Injektionen führen.
Massives automatisiertes Testen von String-Ergebnissen
Im TYPES4STRINGS Projekt sollen deshalb String-Typen eingeführt werden, um die gültigen Werte von Strings verständlich in formalen Sprachen wie regulären Ausdrücken und Grammatiken auszudrücken. Dies soll Verfahren ermöglichen, um zu bestimmen, welche Mengen von Strings als Werte akzeptabel sind, und um dynamisch und statisch zu prüfen, ob das Programm in Bezug auf die spezifizierten String-Typen korrekt ist. Außerdem soll die verständliche Darstellung auch automatisch für gegebene Programme erstellt werden, wobei zum Teil generative Sprachmodelle zum Einsatz kommen.
Die Verwendung von formalen Sprachen ermöglicht String-Typen auch das Erzeugen von Instanzen aus diesen Spezifikationen. Die Verwendung von formalen Sprachen ermöglicht etwa den Einsatz dieser generativen Sprachmodelle. Dies wiederum erlaubt ein massives automatisiertes Testen von String-Verarbeitungsfunktionen. Hierbei prüfen String-Typen wiederum String-Ergebnisse auf lexikalische, syntaktische und semantische Korrektheit. Schließlich werden Mittel eingeführt, um solche Spezifikationen aus dem Code und seinen Ausführungen zu erlernen, so dass String-Typen leicht einzuführen sind.
Neben der Universität Passau sind an TYPES4STRINGS auch Prof. Dr. Jürgen Cito von der Technischen Universität Wien und Prof. Dr. Andreas Zeller vom CISPA Helmholtz Center for Information Security beteiligt. Die Deutsche Forschungsgemeinschaft (DFG) fördert das Projekt über einen Zeitraum von drei Jahren.
Projektleitung an der Universität Passau | Prof. Dr. Gordon Fraser (Lehrstuhl für Software Engineering II) |
---|---|
Laufzeit | 01.09.2024 - 31.08.2027 |
Mittelgeber | DFG - Deutsche Forschungsgemeinschaft > DFG - Sachbeihilfe |