Nachrichten, Gerüchte, Meldungen und Berichte aus der IT-Szene

Redaktion: Heinz Schmitz


Dem Gehirn beim Programmieren zuschauen

Gehirn beim Programmieren

Forscher verwenden bildgebende Verfahren aus den Neurowissenschaften um zu verstehen welche Hirnareale beim Lesen und Verstehen von Computerprogrammen aktiviert werden. (Quelle: Gordon Johnson/Pixabay/hiz)

 

Was geht in den Köpfen von Programmierern vor, wenn sie Software schreiben? Diese Frage stellten sich Prof. Dr. Janet Siegmund, Professur Software Engineering an der TU Chemnitz, Prof. Dr. Sven Apel, Lehrstuhl für Software Engineering der Universität des Saarlandes und Dr. André Brechmann, Leiter des Speziallabors für nicht- invasive Bildgebung am Leibniz-Institut für Neurobiologie in Magdeburg. Um das herauszufinden, verwendeten die Forscherin und Forscher bildgebende Verfahren aus den Neurowissenschaften und untersuchten, welche Hirnareale beim Lesen und Verstehen von Computerprogrammen aktiviert werden. Ihr verblüffendes Ergebnis: programmieren ist wie sprechen. Denn sie fanden heraus, dass vor allem die Hirnregionen aktiv sind, die auch bei der Verarbeitung natürlicher Sprache relevant sind. Die Erkenntnisse könnten weitreichende Folgen für das Programmieren haben, beispielsweise beim Design von Programmiersprachen, in der Programmierausbildung oder bei der Beantwortung grundlegender Fragen – etwa, was komplizierten oder einfachen Programmcode ausmacht.

 

Neuer Forschungsansatz – Erstmalige Gehirnanalyse beim Programmieren

„Die Idee für unsere Forschungsfrage entstand in Magdeburg bei einem gemeinsamen Treffen von Forschern des Leibniz-Instituts für Neurobiologie und der Fakultät für Informatik in Magdeburg“, sagt Janet Siegmund. „Durch die Unterstützung meines Doktorvaters Prof. Saake (Universität Magdeburg) und Prof. Leich (Hochschule Harz) konnten wir die grundlegende Arbeit der Entwicklung des Forschungsdesigns beginnen.“ In mehreren kleinen und großen Pilotstudien entstand so eine vielseitige methodische Grundlage. Ein Aufwand, der sich gelohnt hat, denn inzwischen ist die von Siegmund und ihren Kollegen entwickelte Methodik auf dem Weg zum Standard und hat sich bereits in internationalen Studien bewährt.

 

„Unser Ziel war es, einen völlig neuen Ansatz zu entwickeln, damit wir die kognitiven Prozesse, die beim Programmieren ablaufen, besser verstehen“, sagt Sven Apel aus Saarbrücken. Siegmund, Apel und Brechmann machten erstmalig die Hirnaktivität von Programmieren sichtbar, während diese mehrere Codezeilen analysierten. Dabei arbeiteten die Wissenschaftler wie eine Einheit zusammen, die sich gegenseitig ergänzt. Während Brechmann als versierter Neurowissenschaftler seine Erfahrung für Experimente in der Funktionellen Magnetresonanztomographie (fMRI) und Apel als erfahrener Forscher seine Expertise im Bereich Softwareentwicklung einbrachte, fungierte Siegmund mit ihrer interdisziplinären Expertise in Psychologie und Informatik als Bindeglied. Forschungsdesign auf dem Weg zum Standard

 

Das Team nutzte für die Studie die in der Neurowissenschaft bewährte Subtraktionsmethode: Dabei bearbeiten die Probanden im Magnetresonanztomographen zuerst eine Aufgabe, zu deren Lösung sie einen Programmcode-Auszug verstehen müssen. Nach einer kurzen Ruhepause sollten sie einen Code-Schnipsel auf einfache Syntaxfehler überprüfen, was für Programmierer eine Routineaufgabe darstellt, also keine Verständnisfrage war. Dieser Ablauf wurde mehrfach wiederholt. Im Anschluss wurden die Bilder der Hirnaktivität während des Bearbeitens der Routineaufgabe von den Bildern des Verständnistests subtrahiert – was übrigblieb, waren die Hirnregionen, die für den Prozess des Programmverstehens von besonderer Bedeutung sind.

 

Um zu sehen, was während dieses Prozesses im Gehirn passiert, verwendete das Team einen funktionalen Magnetresonanztomographen. Die Bilddaten zeigten deutlich, dass bei den Versuchspersonen die Areale der linken Hirnhälfte aktiviert wurden, welche vor allem mit Sprachverständnis assoziiert sind. „Zu unserer Überraschung konnten wir keine Aktivität in Richtung mathematischen oder logischen Denkens beobachten“, fassen die Forscher die Ergebnisse zusammen. „Unsere Forschung legt nahe, dass das Sprachverständnis eine zentrale Rolle beim Programmieren spielt. Diese Vermutung äußerte der renommierte niederländische Informatiker Edsger W. Dijkstra bereits in den 1980er Jahren“, ergänzt Apel.

 

Das entwickelte Forschungsdesign wurde inzwischen von diversen Forschungsgruppen weltweit aufgegriffen und um zusätzliche Aspekte erweitert. Das Forschungsteam geht davon aus, dass die Ergebnisse auch in die Neurowissenschaft rückkoppeln könnten, indem neue kognitive Prozesse entdeckt werden, die sich beispielsweise vom Leseverständnis und logischem Schließen unterscheiden.

 

Das Team um Siegmund, Apel und Brechmann wollen jetzt herausfinden, worin sich das Programmverständnis bei Experten und Anfängern unterscheidet, also ob sie Programmcode auf verschiedene Weise lesen und interpretieren. Unterstützt werden sie dabei von Doktorand Norman Peitek, der bereits wesentlich an der vorliegenden Studie beteiligt war. Die Studie verfassten Janet Siegmund, Norman Peitek, André Brechmann, Chris Parnin und Sven Apel. Es handelt sich um ein Gemeinschaftsprojekt der Universität des Saarlandes, der TU Chemnitz, der North Carolina State University und dem Leibniz Institut für Neurobiologie. Die Ergebnisse ihrer Grundlagenforschung veröffentlichten sie jetzt in der renommierten Fachzeitschrift „Communications of the ACM“, die von der weltgrößten Fachgesellschaft für Informatik herausgegeben wird. Federführend mit Erstautorenschaft war Janet Siegmund von der TU Chemnitz.

 

Originalveröffentlichung:

Studying Programming in the Neuroage: Just a Crazy Idea? By Janet Siegmund, André Brechmann, Sven Apel et al. Communications of the ACM, June 2020, Vol. 63 No. 6, Pages 30-34. DOI 10.1145/3347093.

https://cacm.acm.org/magazines/2020/6/245156-studying-programming-in-the-neuroage/fulltext

 

Siehe auch:

http://www.mytuc.org/lpgg

https://www.tu-chemnitz.de/informatik/ST/index.php

www.se.cs.uni-saarland.de

https://cni.lin-magdeburg.de/index.php/en/about/team/

 

Zurück