„Im Grunde genommen arbeiten wir daran, das Verstehen von Programmcode zu verstehen“, erklärt der Informatik-Professor Sven Apel. In dem EU-geförderten Forschungsprojekt geht es darum, anhand eines multimodalen und interdisziplinären Ansatzes durch verschiedene neurophysiologische Messverfahren zu erfassen, welche gedanklichen Prozesse beim Lesen und Verstehen von Programmcode ablaufen. Zudem soll ermittelt werden, welche Schlüsselfaktoren diese Prozesse beeinflussen und es soll ein Modell entwickelt werden, um diese Verstehensvorgänge zu simulieren und dadurch optimieren zu können.
Neben Sven Apel, der die EU-Förderung erhält, sind an dem Projekt weitere Forschungspartner in Schlüsselpositionen beteiligt: Die Expertise im Bereich der Neurowissenschaften kommt von Dr. André Brechmann, der am Leibniz-Institut für Neurobiologie in Magdeburg forscht. Weiterhin ist Janet Siegmund, Professorin für Softwaretechnik an der Technischen Universität Chemnitz, maßgeblich beteiligt.
Aber weshalb wird so ein Aufwand betrieben, um die Verstehensvorgänge beim Programmieren zu entschlüsseln? „Wenn wir wissen, welche kognitiven Prozesse dabei ablaufen, kommen wir den Antworten auf ganz grundsätzliche Fragen des Programmierens einen großen Schritt näher: Was macht einfachen und was schwierigen, guten und schlechten, nachvollziehbaren und verwirrenden Programmcode aus? Welche Fähigkeiten braucht ein guter Programmierer oder eine gute Programmiererin? Wie kann man diese Fähigkeiten in der Ausbildung fördern? Und dadurch auch: Wie kann man Software sicherer, zuverlässiger und ressourcenschonender machen?“, erläutert Sven Apel.
Konkret nutzt das Forscherteam eine fachübergreifende Herangehensweise mit unterschiedlichen Methoden, um sich der Fragestellung zu nähern: „In unserem Ansatz vereinen wir Methoden aus der Neurologie, der Psychologie und der Informatik“, sagt Sven Apel. Anhand von Experimenten, in denen verschiedene bildgebende Verfahren aus den Neurowissenschaften miteinander kombiniert werden, wollen die Forscherinnen und Forscher beispielsweise untersuchen, welche Hirnareale beim Programmverstehen aktiviert werden (fMRT), wie stark die Aktivierung dieser Areale ist und wie schnell sie stattfindet (EEG) und in welcher Reihenfolge die Probanden den ihnen präsentierten Code lesen (Eye-Tracking). „So wollen wir die ‚Blackbox des Programmierers‘ öffnen und einen Einblick in die internen, kognitiven Prozesse während des Programmverstehens gewinnen“, erläutert Apel.
Das Forscherteam um Apel, Brechmann und Siegmund hat diesen Versuchsaufbau entwickelt und bereits in vergangenen, viel beachteten Studien angewendet. Sie und ihr Team waren die ersten weltweit, die die Forschung zum Programmverstehen auf diese Art angegangen sind. Das Team konnte so zum Beispiel bereits zeigen, dass beim Programmverstehen hauptsächlich das Sprachenzentrum aktiviert wird und wider Erwarten nicht die Teile des Gehirns, die für logisches und mathematisches Denken zuständig sind. „Unser Versuchsaufbau wurde inzwischen von zahlreichen Gruppen auf der ganzen Welt übernommen. Mit der neuen Förderung ist es uns möglich, unsere Vorreiterrolle in diesem Gebiet auszubauen“, sagt Sven Apel.
Auf den Ergebnissen dieser Experimente aufbauend, wollen die Forscher in zwei Schritten nun einen „digitalen Zwilling“ des Prozesses des Programmverstehens entwickeln. Zuerst soll eine prädiktive Theorie erarbeitet werden, die Vorhersagen über die Abläufe beim Programmverstehen treffen kann und überprüfbare Vermutungen enthält. Anhand dieser Theorie wollen die Wissenschaftler im Sinne des „Cognitive Computational Modelling“-Ansatzes ein Modell entwickeln, in dem sie an den verschiedenen Stellschrauben des Prozesses, wie Programmkomplexität oder der Aktivierung bestimmter Hirnregionen, drehen können, um damit Verstehensprozesse für nicht im Experiment durchgeführte Fragestellungen simulieren zu können (ACT-R-Methode). Anhand dieser Erkenntnisse wollen die Forscher Antworten auf grundlegende Fragen der Programmiermethodik, des Sprachendesigns und Programmierausbildung geben.
Das Projekt unter dem Titel „Brains On Code: A Neuroscientific Foundation of Program Comprehension“ wird durch einen „Advanced Grant“ des Europäischen Forschungsrates (ERC) mit rund 2,5 Millionen Euro über fünf Jahre gefördert. ERC Advanced Grants zählen zu den renommiertesten Forschungspreisen weltweit. Für die aktuelle Förderperiode wurden insgesamt 1735 Projekte eingereicht, wovon nur 253 bewilligt wurden. Bei dem beschriebenen Forschungsvorhaben handelt es sich um den siebten ERC Advanced Grant und insgesamt den 30. Förderpreis des Europäischen Forschungsrates, der für ein Projekt am Saarland Informatics Campus verliehen wurde. Dort hat Sven Apel in der Fakultät für Mathematik und Informatik der Universität des Saarlandes den Lehrstuhl für Software Engineering inne.
Weitere Informationen:
https://erc.europa.eu/news/erc-2021-advanced-grants-results
https://www.se.cs.uni-saarland.de/apel/
Fragen beantwortet:
Prof. Dr. Sven Apel
Lehrstuhl für Software Engineering
Universität des Saarlandes
Tel: +49 681 302 57211
Email: apel(at)cs.uni-saarland.de
Hintergrund Saarland Informatics Campus:
900 Wissenschaftlerinnen und Wissenschaftler (darunter 400 Promovierende) und rund 2100 Studierende aus mehr als 80 Nationen machen den Saarland Informatics Campus (SIC) zu einem der führenden Standorte für Informatik in Deutschland und Europa. Fünf weltweit angesehene Forschungsinstitute, nämlich das Deutsche Forschungszentrum für Künstliche Intelligenz (DFKI), das Max-Planck-Institut für Informatik, das Max-Planck-Institut für Softwaresysteme, das Zentrum für Bioinformatik und das Cluster für „Multimodal Computing and Interaction“ sowie die Universität des Saarlandes mit drei vernetzten Fachbereichen und 24 Studiengänge decken das gesamte Themenspektrum der Informatik ab.
Redaktion:
Philipp Zapf-Schramm
Kompetenzzentrum Informatik Saarland
Saarland Informatics Campus
Telefon: +49 681 302-70741
E-Mail: pzapf(at)mmci.uni-saarland.de