idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instance:
Share on: 
06/03/2020 17:20

Dem Gehirn beim Programmieren zuschauen

Matthias Fejes Pressestelle und Crossmedia-Redaktion
Technische Universität Chemnitz

    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.



    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@informatik.tu-chemnitz.de



    Prof. Dr. Sven Apel

    Lehrstuhl für Software Engineering

    Universität des Saarlandes

    Tel.: +49 (0)681 302-57211

    E-Mail: apel@cs.uni-saarland.de



    Dr. André Brechmann

    Combinatorial NeuroImaging Core Facility

    Leibniz-Institute for Neurobiology

    Tel: +49 (0)391/62639-2161

    E-Mail: andre.brechmann@lin-magdeburg.de


    Contact for scientific information:

    Prof. Dr.-Ing. Janet Siegmund

    Professur Software Engineering

    Tel.: +49 (0)371 531 34310

    E-Mail: janet.siegmund@informatik.tu-chemnitz.de


    Original publication:

    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


    More information:

    http://www.mytuc.org/lpgg


    Images

    Criteria of this press release:
    Journalists
    Information technology
    transregional, national
    Research results
    German


     

    Help

    Search / advanced search of the idw archives
    Combination of search terms

    You can combine search terms with and, or and/or not, e.g. Philo not logy.

    Brackets

    You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).

    Phrases

    Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.

    Selection criteria

    You can also use the advanced search without entering search terms. It will then follow the criteria you have selected (e.g. country or subject area).

    If you have not selected any criteria in a given category, the entire category will be searched (e.g. all subject areas or all countries).