Pressemitteilung vom 03.06.2020
Dem Gehirn beim Programmieren zuschauen
Forschungsteam unter Federführung von Professorin der TU Chemnitz analysiert erstmalig Hirnaktivität beim Verstehen von Programmcode – Erstklassige Veröffentlichung in Fachmagazin „Communications of the ACM“
Pressemitteilung der Universität des Saarlandes (02.06.2020: https://bit.ly/3dwyl4a) mit Material der TU Chemnitz.
Was geht in den Köpfen von Programmiererinnen und 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 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. 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. Gefördert wurde das Projekt von der Deutschen Forschungsgemeinschaft (DFG).
Neuer Forschungsansatz – Erstmalige Gehirnanalyse beim Programmieren
„Die Idee für unsere Forschungsfrage entstand in Magdeburg bei einem gemeinsamen Treffen von Forscherinnen und 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 Programmiererinnen und 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 Probandinnen und 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 Programmiererinnen und 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.
Originalpublikation: 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://bit.ly/2U7ir8T
Weitere Informationen:
Professorship Software Engineering, TU Chemnitz: www.mytuc.org/lpgg
Chair of Software Engineering, Universität des Saarlandes: www.se.cs.uni-saarland.de
Combinatorial NeuroImaging Core Facility, Leibniz-Institute for Neurobilogy Magdeburg: www.bit.ly/2U2vXKU
Kontakt:
Prof. Dr.-Ing. Janet Siegmund
Professur Software Engineering
Tel.: +49 (0)371 531 34310
E-Mail: janet.siegmund@...
Prof. Dr. Sven Apel
Lehrstuhl für Software Engineering
Universität des Saarlandes
Tel.: +49 (0)681 302-57211
E-Mail: apel@...
Dr. André Brechmann
Combinatorial NeuroImaging Core Facility
Leibniz-Institute for Neurobiology
Tel: +49 (0)391/62639-2161
E-Mail: andre.brechmann@...