Informatiker entwickeln ‚Code Buddy‘

© iStock.com/Intpro

Dass im Bereich der Softwareentwicklung künstliche Intelligenz (KI) zum Einsatz kommt, ist nicht neu. Während aktuelle KI-Ansätze Programmcode jedoch nur vervollständigen können, entwickeln Prof. Dr. Adrian Ulges und Prof. Dr. Ulrich Schwanecke vom Fachbereich Design Informatik Medien an der Hochschule RheinMain (HSRM) ein neues Konzept: Ihr sogenannter ‚Code Buddy‘ soll in der Lage sein, semantisch ähnliche Code-Stellen zu finden und bei Bedarf automatisch auf die aktuelle Programmierung anzupassen. Unterstützt werden die Forscher dabei vom Hessischen Ministerium für Wissenschaft und Kunst (HMWK) in der neuen Förderlinie LOEWE-Exploration mit rund 215.000 Euro.

Hintergrund des neuen Ansatzes sind die Nachteile konventioneller Verfahren, wie Prof. Dr. Ulges erklärt: „Das System der ‚smart autocompletion‘, das bisher zum Einsatz kommt – also die intelligente Auto-Vervollständigung von Programmcode – ist zum einen auf sehr große neuronale Modelle angewiesen und verbraucht daher enorme Ressourcen. Zum anderen ist für Entwickler:innen nicht nachvollziehbar, wie der generierte Code zustande kommt.“ Selbst kleinste Fehler der KI könnten daher in der Praxis zu ernsten Programmfehlern führen, so Prof. Dr. Ulges.

Mehr Kontrolle bei der Entwicklung

Der ‚Code Buddy‘ soll deshalb vorhandene Lösungen aus der ganzen Community – etwa von Kolleg:innen, aus Frage-Antwort-Foren oder aus Open-Source-Projekten – empfehlen und diese automatisch anpassen, wenn sie für das Zielprojekt geeignet sind. „Entwickler:innen erhalten durch dieses Verfahren mehr Kontrolle über den erzeugten Code und nutzen die KI primär zur Inspiration auf der Suche nach guten Lösungen“, erläutert Prof. Dr. Schwanecke. „Für den erzeugten und gegebenenfalls adaptierten Code ist die Quelle transparent, der oder die Entwickler:in kann sie studieren und bei Bedarf Anpassungen vornehmen.“ Um dies zu realisieren, soll im Rahmen des Vorhabens ein neuartiger unüberwachter Ansatz zum Training von Code-Retrieval-Modellen entstehen. Von diesem versprechen sich die Forscher auch eine höhere Daten- und Ressourcensparsamkeit.

‚Code Buddy‘ muss trainieren

Technologische Grundlage des ‚Code Buddys‘ ist ein Suchverfahren, das auf dem Prinzip des sogenannten ‚Deep Learning‘ beruht und darauf trainiert wird, zu unvollständigen Code-Fragmenten semantisch ähnliche, aber eben vollständige Fragmente zu finde. Dabei besteht die Herausforderung in erste Linie darin, dass als Datengrundlange einerseits zwar unzählige Open-Source-Projekte mit Milliarden von Codezeilen zur Verfügung stehen, anderseits aber die Information fehlt, welche Stellen sich als Inspiration für andere Stellen eignen.

Um dieses Problem zu lösen, soll im Projekt eine spezielle Trainingstechnik entwickelt werden und zum Einsatz kommen: Zunächst werden im Programmcode künstliche Lücken erzeugt, diese werden dann von einer KI wieder geschlossen. Eine andere KI unterstützt sie dabei mit relevanten, ähnlichen Code-Fragmenten, sodass die Ergebnisse der Such-KI die Ergebnisse der Generierungs-KI verbessern. Die Such-KI wird schließlich für die Empfehlungen des ‚Code Buddys‘ genutzt. „Dieser Ansatz ist im Anwendungsfeld der Softwareentwicklung vollkommen neu und soll im Projekt ‚Code Buddy‘ erforscht werden. Anschließend ist in Kooperation mit einem mittelständischen Softwareunternehmen ein Praxistest geplant“, so Prof. Dr. Ulges.

Zur Förderlinie LOEWE-Exploration

Landes-Offensive zur Entwicklung Wissenschaftlich-ökonomischer Exzellenz – kurz: LOEWE – ist der Titel des Forschungsförderungsprogramms, mit dem das Land Hessen seit 2008 wissenschaftspolitische Impulse setzen und damit die hessische Forschungslandschaft nachhaltig stärken will. In der neuen Förderlinie LOEWE-Exploration für unkonventionelle innovative Forschung erhalten sieben Forschungsprojekte vom 1. Januar 2022 an für die Laufzeit von bis zu zwei Jahren Fördermittel in Höhe von insgesamt rund 1,8 Millionen Euro für ihre mutigen Forschungsansätze.