Was im Gehirn von Entwicklern vorgeht, wenn der Programmcode verwirrend ist

Shes a genius programmer. Cropped shot of a young computer programmer looking through data
Bild: ©Cecilie Skjold Wackerhausen/peopleimages.com/stock.adobe.com

Wie Softwareentwickler reagieren, wenn sie auf Programmcode stoßen, den sie nicht intuitiv verstehen, haben Neuropsychologen der Universität des Saarlandes und der TU Chemnitz untersucht. Dazu haben die Wissenschaftlerinnen und Wissenschaftler Hirnströme von Entwicklern gemeinsam mit deren Augenbewegungen erfasst. Die Ergebnisse zeigen Parallelen zu Mustern aus der Sprachverarbeitung.

„Software prägt unseren Alltag. Ist sie fehlerhaft, kann das fatale Folgen haben. Vor diesem Hintergrund ist es wichtig, dass Programmierer ihren Code verstehen und keine Fehler übersehen oder neu einbauen, wenn sie weitere Funktionen ergänzen“, sagt Sven Apel, Informatik-Professor der Universität des Saarlandes. Für eine Studie hat er vor drei Jahren Axel Mecklinger, Professor für experimentelle Neuropsychologie der Saar-Universität, mit ins Boot genommen. Gemeinsam haben sie dafür die Elektroenzephalografie (EEG) mit der Überwachung der Augenbewegungen kombiniert, im Fachjargon spricht man von fixationskorrelierten Potenzialen (FRP). „Der Vorteil dieser Methode ist, dass man die Hirnströme zeitlich genau in dem Moment erfassen kann, in dem die Augen aufhören, sich zu bewegen und sich auf ein bestimmtes Ziel fokussieren“, erklärt Axel Mecklinger.

Wie reagieren Entwickler?

Das Forscherteam wollte damit herausfinden, wie Softwareentwickler reagieren, wenn sie verwirrende Codeschnipsel, sogenannte ‚Atoms of Confusion‘, sehen. Diese kleinsten Einheiten kommen häufiger im Quellcode vor. Sie sind für den Computer eindeutig auszuführen, erschließen sich dem Programmierer aber nicht intuitiv, sodass es passieren kann, dass dieser die Funktionsweise des Programms falsch versteht. Anna-Maria Maurer, Informatik-Doktorandin bei Professor Apel, hat für die Studie diese Art von verwirrendem Code in ihre Versuchsanordnung aufgenommen. Als Versuchspersonen dienten 24 Programmierer, deren Hirnströme und Augenbewegungen in rund 1.700 Durchgängen gemessen wurden.

Für die Auswertung griff das Forscherteam auf Methoden und Erfahrungen aus der Psycholinguistik zurück, die sie jedoch nicht ohne Weiteres auf die Softwareprogrammierung übertragen konnten. Aus früheren Studien war ihnen zwar bekannt, dass die Programmiertätigkeit ähnliche Hirnregionen aktiviert wie die natürliche Sprache. Die Forschenden verweisen jedoch darauf, dass das Vorgehen eines Programmierers anders ist als beim Sprachverstehen. „Wenn wir wissen möchten, wie das Gehirn bestimmte Gesprächssituationen verarbeitet, lassen wir die Versuchspersonen kurze Textabschnitte lesen und gleichen dies mit dem EEG und Eyetracking ab. Ein Programmierer erfasst beim Codelesen jedoch größere Zusammenhänge, er liest mehrere Codezeilen quer und nimmt komplexere Strukturen als eine Einheit wahr“, erklärt Computerlinguistik-Professorin Vera Demberg, die mit ihrem Team an der Auswertung der Daten beteiligt war. Das Team musste somit die Versuchsanordnung anpassen: In drei Themenblöcken mit 24 Einzelversuchen wurde ein Codeschnipsel präsentiert und EEG und Augendaten auf die Millisekunde genau synchronisiert.

Ähnlichkeiten zu sprachwissenschaftlichen Untersuchungen

Beim Vergleich der EEG-Signale aus früheren Sprachstudien mit den aktuellen Ergebnissen aus der Softwareprogrammierung stellte das Team EEG-Signale fest, die in der Neuropsychologie als späte frontale Positivität bezeichnet werden. Für die Forschenden war dies ein überraschendes Ergebnis: „Wenn die Programmierer auf die verwirrenden Codeschnipsel stießen, zeigten sie ähnliche Hirnaktivitäten wie bei Probanden aus der Sprachwissenschaft, die Sätze mit unerwarteten Wendungen lesen. Das Gehirn passt sich dann blitzschnell an und gleicht die Informationen mit dem Langzeitgedächtnis ab, um die ungewöhnliche Situation einordnen zu können“, erklärt Vera Demberg. Als Beispiel für die unerwartete Wendung eines Gesprächs nennt Axel Mecklinger den Satz: „Theo will Holz hacken, er holt sich eine Jacke“. Zwar erscheint ‚Jacke‘ plausibel, kommt aber in dem Kontext überraschend, da man eher das Wort ‚Axt‘ erwartet hätte. „In solchen Situationen generieren Wörter wie Jacke in unseren EEG-Experimenten zur Sprachverarbeitung eine späte frontale Positivität, die dem EEG-Signal auf die verwirrenden Codeschnipsel sehr stark ähnelt“, sagt Neuropsychologe Mecklinger.

„70 bis 80 Prozent ihrer Zeit verwenden Programmierer darauf, Programmcode zu verstehen. Hierfür ist es wichtig, dass wir nachvollziehen können, wie ihre Denkprozesse ablaufen. Das hilft dabei, bessere Werkzeuge zu entwickeln, um Fallstricke von vornherein auszuschließen oder einfacher zu erkennen. Auch die Schulung von Softwareentwicklern kann auf diesen Erkenntnissen aufbauen“, sagt Apel. Er will in weiteren Studien herausfinden, ob Programmierer andere Hirnaktivitäten zeigen, wenn der verwirrende Code tatsächlich fehlerhaft ist oder wenn Codezeilen gezeigt werden, die kein spontanes Umdenken erfordern.

Ihre Studie hat das interdisziplinäre Team nun im Fachmagazin ‚Scientific Reports‘ publiziert. Mitgewirkt haben Annabelle Bergum, Anna-Maria Maurer, Norman Peitek, Regine Bader, Axel Mecklinger, Janet Siegmund, Vera Demberg und Sven Apel. Bis auf Janet Siegmund von der Technischen Universität Chemnitz forschen alle Beteiligten an der Universität des Saarlandes.

Hier gelangen Sie zur Publikation: doi.org



  • Cyberattacken oft zu spät entdeckt

    Cyberattacken oft zu spät entdeckt

    Mangelnde Reaktionsgeschwindigkeit ist für den Mittelstand die größte Herausforderung bei Cyberangriffen. Dabei stehen laut einer Studie von Deloitte Mitarbeiter bei der Abwehr von Risiken im Brennpunkt. Phishing-Mails, Betrugs-Websites und Erpressungssoftware…

    mehr lesen: Cyberattacken oft zu spät entdeckt

  • KI ist wichtig, die Umsetzung läuft noch schleppend

    KI ist wichtig, die Umsetzung läuft noch schleppend

    Die Unternehmen sprechen der künstlichen Intelligenz eine herausragende Bedeutung zu, tun sich aber schwer damit, die Technologie praktisch einzusetzen. Dies geht aus einer branchenübergreifenden Umfrage des Digitalverbands Bitkom unter 603…

    mehr lesen: KI ist wichtig, die Umsetzung läuft noch schleppend

  • Hilpert vertreibt Critical Manufacturing-MES in der Schweiz

    Hilpert vertreibt Critical Manufacturing-MES in der Schweiz

    Das MES von Critical Manufacturing können Schweizer Unternehmen künftig auch von Hilpert Electronic beziehen. Der Spezialist für Applikationen rund um die Mikroelektronikfertigung ist neuer Vertriebspartner des weltweit agierenden MES-Herstellers mit…

    mehr lesen: Hilpert vertreibt Critical Manufacturing-MES in der Schweiz

  • Anzeige
    Retarus beschleunigt Datenaustausch in der Produktion

    Retarus beschleunigt Datenaustausch in der Produktion

    Die Digitalisierungs- und Automatisierungslösungen von Retarus ermöglichen effiziente Abläufe ohne manuellen Aufwand oder Kompromisse bei der Datensouveränität

    mehr lesen: Retarus beschleunigt Datenaustausch in der Produktion

  • Algorithmen automatisiert trainieren

    Algorithmen automatisiert trainieren

    Durch künstliche Intelligenz (KI) können Maschinen Objekte erkennen. Dafür werden Algorithmen mit Bilddaten manuell trainiert. Das am Karlsruher Institut für Technologie (KIT) entstandene Start-up Kimoknow hat eine Technologie entwickelt, um…

    mehr lesen: Algorithmen automatisiert trainieren

  • Übungen als Schutz vor Cyberrisiken?

    Übungen als Schutz vor Cyberrisiken?

    Immer mehr IT-Abteilungen vertrauen auf Penetrationstests oder Bug-Bounty-Programme und simulieren Cyberattacken, um ihre Mitarbeiter zu sensibilisieren. Grund dafür ist der explosionsartige Anstieg von Cyberbedrohungen. 

    mehr lesen: Übungen als Schutz vor Cyberrisiken?

  • Stephan Klokow in Vorstand des Cluster IT Mitteldeutschland gewählt

    Stephan Klokow in Vorstand des Cluster IT Mitteldeutschland gewählt

    Stephan Klokow, Direktor DPI (Deep Packet Inspection) beim Rohde & Schwarz Tochterunternehmen Ipoque, wurde während der Mitgliederversammlung am 18. Mai 2020 in den Vorstand des Branchennetzwerks Cluster IT Mitteldeutschland e.V.…

    mehr lesen: Stephan Klokow in Vorstand des Cluster IT Mitteldeutschland gewählt

  • Netzwerk-Firewall für interne Segmentierung

    Netzwerk-Firewall für interne Segmentierung

    Fortinet stellt mit der FortiGate 4200F eine leistungsstarke Netzwerk-Firewall vor. Diese basiert auf dem NP7, dem von Fortinet entwickelten Netzwerkprozessor der siebten Generation. Indem sie Networking mit Security verbindet, ermöglicht…

    mehr lesen: Netzwerk-Firewall für interne Segmentierung

  • Industrie rechnet weiter mit Rückgang der Produktion

    Industrie rechnet weiter mit Rückgang der Produktion

    Trotz eines Anstiegs im Vergleich zum Vormonat bleiben die Ifo-Produktionserwartungen im negativen Bereich. Die deutsche Industrieunternehmen erwarten somit einen weiteren Rückgang der Produktion.

    mehr lesen: Industrie rechnet weiter mit Rückgang der Produktion

  • Harald Rackel wird COO bei SSI Schäfer

    Harald Rackel wird COO bei SSI Schäfer

    Zum 1. Oktober hat die SSI Schäfer Gruppe die Position des Chief Operating Officer besetzt. Der Beirat der Unternehmensgruppe hat Harald Rackel in das Amt berufen.

    mehr lesen: Harald Rackel wird COO bei SSI Schäfer

  • Fusionen und Übernahmen 2019 stabil auf niedrigem Niveau

    Fusionen und Übernahmen 2019 stabil auf niedrigem Niveau

    Deutsche Unternehmen waren im Jahr 2019 an weniger Fusionen und Übernahmen beteiligt als im Vorjahr. Für die zweite Jahreshälfte ermittelte der ZEW-Zephyr M&A-Index sogar den tiefsten Stand seit Beginn der…

    mehr lesen: Fusionen und Übernahmen 2019 stabil auf niedrigem Niveau

  • Arbeitsmarktbarometer fängt sich auf niedrigem Niveau

    Arbeitsmarktbarometer fängt sich auf niedrigem Niveau

    Nach seinem Tiefststand im Vormonat, ist das IAB-Arbeitsmarktbarometer im Mai wieder leicht gestiegen.

    mehr lesen: Arbeitsmarktbarometer fängt sich auf niedrigem Niveau