Universität des Saarlandes 27.04.2022, 09:04 Uhr

Brains On Code: Forschung zur Hirnaktivität beim Verstehen von Programmcode

Was passiert in den Köpfen von Programmierern, wenn sie sich mit Programmcode beschäftigen? Das zu verstehen könnte viele Aspekte der modernen Software-Entwicklung beeinflussen – beispielsweise die Programmierausbildung oder das Design von Programmiersprachen.
Probandin während einer EEG-Studie zum Programmverstehen.
(Quelle: Universität des Saarlandes, Philipp Zapf-Schramm/SIC)
"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 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 könnte Sie auch interessieren