Das Sprachverständnis ist entscheidend beim Programmieren

Foto: AdobeStock/aleks-p
Foto: AdobeStock/aleks-p

Was geht in den Köpfen von Programmierern vor, wenn sie Software schreiben? Diese Frage stellten sich Dr. Janet Siegmund, Professorin für Software Engineering an der TU Chemnitz, Dr. Sven Apel, Informatikprofessor am 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.

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 in die Untersuchungen einbrachte, fungierte Siegmund mit ihrer interdisziplinären Expertise in Psychologie und Informatik als Bindeglied.

Um eine Antwort auf die Frage zu finden, verwendeten die Wissenschaftler bildgebende Verfahren aus den Neurowissenschaften. Genauer gesagt: 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 übrig blieb, waren die Hirnregionen, die für den Prozess des Programmverstehens von besonderer Bedeutung sind.

Die Ergebnisse stellen eine Überraschung dar, denn es konnte keine Aktivität in Richtung mathematischen oder logischen Denkens erkannt werden. Die Bilddaten zeigen dagegen deutlich, dass bei den Versuchspersonen die Areale der linken Hirnhälfte aktiviert wurden, welche vor allem mit Sprachverständnis assoziiert sind. „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“; sagt Sven Apel. Die Ergebnisse ihrer Grundlagenforschung konnten die Wissenschaftler in der renommierten Fachzeitschrift „Communications of the ACM“ veröffentlichen, die von der weltgrößten Informatikervereinigung, der Association for Computing Machinery, herausgegeben wird.

Die Erkenntnisse des interdisziplinären Teams könnten weitreichende Folgen für das Programmieren haben, etwa beim Design von Programmiersprachen, in der Programmierausbildung oder bei der Beantwortung grundlegender Fragen, etwa, was komplizierten oder einfachen Programmcode ausmacht. Das Team will jetzt herausfinden, worin sich das Programmverständnis bei Experten und Anfängern unterscheidet, also ob sie Programmcode auf verschiedene Weise lesen und interpretieren.