Projekte
Projekte
SENLP - Wissen über Softwaretechnik in NLP Modellen
Durch die Transformerarchitektur und Modelle wie BERT und GPT wurde die Forschung zur Verarbeitung von natürlicher Sprache (NLP) nachhaltig verändert. Diese Modelle benutzen Transfer Learning: Zuerst wird durch das Vortrainieren eine Repräsentation der Sprache erlernt. Anschließend können durch Feintuning oder Prompts verschiedene Aufgaben erledigt werden. Während derartige Modelle bemerkenswerte Ergebnisse in einer ganzen Reihe von NLP-Aufgaben erzielen, ist es oft unklar, warum dies so ist oder wie gut die Modelle in bestimmen Domänen funktionieren, zum Beispiel dem Software-Engineering (SE). Unsere Forschung hat bereits gezeigt, dass es mit mehrdeutigen Begriffen wie "Bug" (Insekt vs. Fehler) oder "Root" (Wurzel vs. Pflanze) Probleme gibt, die sich durch domänenspezifische Modelle vermeiden lassen, wodurch sich die Güte in NLP-Aufgaben in der SE-Domäne verbessert. In diesem Projekt wollen wir unser Verständnis von NLP-Modellen vertiefen, indem wir besser verstehen, welche SE-spezifischen Konzepte sie kennen, wobei unser Fokus auf SE-Definitionen und allgemeinem SE-Wissen liegt. Hierzu behandeln wir die NLP-Modelle als Schüler und testen, wie diese Prüfungsfragen beantworten. Zum Beispiel ob es möglich ist eine richtige Definition in einem Multiple-Choice-Test zu erkennen, eine richtige Definition zu generieren, oder ob ähnlich Konzepte voneinander unterschieden werden können und ob der Unterschied sogar erklärt werden kann. Das große NLP-Modelle Probleme im Umgang mit Nonsens haben, ist ein bekanntes Problem. Wie dies im SE ausgeprägt ist, ist jedoch unklar. Um dies besser zu verstehen, untersuchen wir wie NLP-Modelle auf verschiedene Eingaben reagieren. Neben validen Fragestellungen betrachten wir insbesondere auch auf solche, die keinen Sinn ergeben, zum Beispiel mit welchem Tool man manuelle Tests automatisch ausführt und was beliebte objektorientierte Entwurfsmuster für Haskell sind. Wir betrachten hierbei nicht nur ob Nonsens generiert wird, sondern auch ob wir diesen erkennen können. Die oben genannten Aspekte werden weiterhin auch in Bezug auf die Modellgröße und Varianten der Transformerarchitektur untersucht: kleinere Modelle mit einer Encoder-Only Architektur (z.B. BERT), größere Encoder-Only Modelle (z.B. RobERTa), Variationen, die einen längeren Kontext erlauben (z.B. Big Bird), GPT-artige Decoder-Only Modelle (z.B. GPT-NeoX) und Encoder-Decoder-Modelle (z.B. T5). Hierbei betrachten wir außerdem Modelle mit und ohne SE-spezifisches Vortraining. Wir betrachten auch Modelle, die auf extrem großen Datensätzen trainiert wurden, in denen es zum Teil auch SE-Aspekte gab. Dies hilft uns zu verstehen, inwiefern SE-Wissen gelernt wird, wenn dies nur ein kleiner Teil eines sehr großen Datensatzes ist.
Deutsche Forschungsgemeinschaft DFG - Projektnummer 524228075
Laufzeit ab 2024
KI4ALL – Interdisziplinäre Vermittlung datenzentrischer Methoden- und Anwendungskompetenzen (seit 2021)
Künstliche Intelligenz (KI) ist allgegenwärtig und entwickelt sich schnell zu einer Standardmethode, um Probleme mit Daten zu lösen. Innerhalb dieses Projekts entwickeln wir neues und verbessern vorhandenes Lehrmaterial für KI. Wir verfolgen einen interdisziplinären Ansatz, in dem wir auch Materialien für die Lehre von KI in verschiedenen Domänen erstellen, z.B. Gesundheitswesen, Transport oder Technik.
Dieses Projekt ist ein Gemeinschaftsprojekt der TU Clausthal, der TU Braunschweig und der Ostfalia HAWK, an dem wir als externe Partner beteiligt sind.
Gefördert durch das BMBF für vier Jahre
DEFECTS – Vergleichbare und extern gültige Vorhersage von Softwarefehlern (2018-2022)
Die Vergleichbarkeit und Reproduzierbarkeit empirischer Software-Engineering-Forschung ist ein weitgehend offenes Problem. Diese Aussage gilt für das Gebiet der Softwarefehlervorhersage. Innerhalb dieses Projekts schaffen wir eine solide Grundlage für vergleichbare und extern valide Fehlervorhersageforschung. Unser Ansatz ruht auf drei Säulen. Die erste Säule ist die Qualität der Daten, die wir für Experimente verwenden. Die aktuellen Studien zur Datenqualität decken die Auswirkungen fehlerhafter Daten nicht ab. Die zweite Säule ist die Replikation des aktuellen Standes der Technik. Die dritte Säule sind Richtlinien für die Fehlervorhersageforschung. Falls wir die Forscher nicht dazu bringen können, Anti-Patterns zu vermeiden, die zu einer schlechten Validität der Ergebnisse geführt haben, werden unsere Bemühungen zur Bekämpfung der Replikationskrise der Fehlervorhersageforschung nur kurzfristige Auswirkungen haben. Um unsere Ergebnisse nachhaltig zu machen, werden wir gemeinsam mit der Fehlervorhersage-Community Richtlinien definieren, die es Forschern ermöglichen, ihre Fehlervorhersage-Experimente so durchzuführen, dass wir hoffentlich nie wieder mit solchen Problemen bei der Reproduzierbarkeit konfrontiert werden.
GAIUS – Wartungsaktivitäten für die Nachhaltigkeit von AUGUSTUS (2018-2022)
AUGUSTUS ist ein Werkzeug zur strukturellen Annotation von Genen in genomischen Sequenzen. In diesem gemeinsamen Projekt mit Prof. Dr. Mario Stanke von der Universität Greifswald werden wir an der Wartung von AUGUSTUS arbeiten. Während die Vorhersagemethoden von AUGUSTUS im Laufe der Jahre weiterentwickelt wurden, wurde die Wartbarkeit und Nachhaltigkeit verbessert. Dies zeigt sich durch Usability-Probleme, aber auch allgemeine Probleme innerhalb der Codebasis. Dieses Projekt wird sich ausschließlich auf die Wartung von AUGUSTUS konzentrieren, d. h. die Benutzerfreundlichkeit von AUGUSTUS sowie die Wartbarkeit der Codebasis zu verbessern.
Pilotstudie: Fehlervorhersage bei Continental (April 2017-Dezember 2017)
SmartSHARK ist ein vielseitiges Tool für das Software-Repository-Mining. Im Rahmen dieses Projekts haben wir in Zusammenarbeit mit der Continental GmbH eine Pilotstudie durchgeführt, um die potenziellen Vorteile der Verwendung von SmartSHARK zur Fehlervorhersage von C- und C++-Software zu bewerten, die intern bei Continental entwickelt wurde.