Detailseite
DeMoCo: Entwicklerzentrierte, neuronale Codemodelle
Antragsteller
Professor Dr. Michael Pradel
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung seit 2022
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 492507603
Die neuronale Softwareanalyse lernt Vorhersagemodelle von großen Codekorpora, um herausfordernde Softwareentwicklungsaufgaben zu bewältigen. Das Thema hat in den letzten Jahren an Dynamik gewonnen, die traditionelle Programmanalyse ergänzt und manchmal sogar übertroffen. Im Zentrum dieser Techniken stehen neuronale Codemodelle, insbesondere Deep-Learning-Modelle, die über Programme und ihre Eigenschaften nachdenken, um für Entwickler nützliche Vorhersagen zu treffen. Leider hängt die Entwicklung aktueller neuronaler Codemodelle hauptsächlich davon ab, welche Daten leicht verfügbar sind, z.B. indem Modelle tausende von Quellcodedateien vom ersten bis zum letzten Token lesen. Darüber hinaus machen derzeitige Modelle Vorhersagen, die für den Menschen schwer zu verstehen sind, z.B. indem eine ganze Methode ohne weitere Erklärung als fehlerhaft klassifiziert wird. Infolgedessen erreichen viele aktuelle Techniken eine beeindruckende Genauigkeit, sind jedoch für Entwickler immer noch von begrenztem Nutzen. Dieser Antrag stellt Softwareentwickler in den Mittelpunkt neuronaler Codemodelle und wechselt von einem datenzentrierten Paradigma zu einem entwicklerzentrierten Paradigma. Konkret planen wir, drei Forschungsbereiche zu verfolgen, die (i) unser Verständnis dafür verbessern, wie menschliches Denken und neuronales Denken über Programme zueinander in Beziehung stehen, (ii) neuronale Codemodelle entwerfen, die nachahmen, wie Entwickler Code betrachten und untersuchen, und (iii) Modelle erstellen, die nicht nur die Eigenschaften von Code vorhersagen, sondern den Entwicklern diese Vorhersagen auch erklären. Entwicklerzentrierte neuronale Codemodelle werden in einem breiten Spektrum von Softwareentwicklungsaufgaben anwendbar sein. Als konkrete Beispiele werden in diesem Antrag die Fehlererkennung und die Fehlerlokalisierung als Anwendungen betrachtet.
DFG-Verfahren
Sachbeihilfen