Wenn menschliche Programmierer Code analysieren und gedanklich nachvollziehen, löst ihr Gehirn ganz bestimmte Aktivitätsmuster aus. Diese Muster verraten, welche Eigenschaften der betrachtete Code hat, und sind denen, die von künstlichen neurologischen Netzen bei der gleichen Aufgabe erzeugt werden, erstaunlich ähnlich. Das haben Forscher des Massachusetts Institute of Technology (MIT) herausgefunden.
Mit Hilfe der funktionellen Magnetresonanztomographie (fMRI) fanden sie heraus, dass sich das Lesen von Programmcode deutlich von dem unterscheidet, wie Menschen normalen Text lesen. Beim Betrachten und Analysieren von Code waren nicht nur der visuelle Kortex und das Sprachzentrum aktiv. Auch das so genannte Multiple Demand Network (MDN) zeigte eine signifikante Aktivität. Dieses wird mit komplexen Aufgaben wie logischem Denken und Problemlösen in Verbindung gebracht.
Die Forscher ließen die Probanden 72 Python-Skripte lesen und analysieren. Sie hatten den Code in vier verschiedene Kategorien von Aufgaben eingeteilt. In einer Kategorie musste zum Beispiel der Kontrollfluss eines Programms verstanden und das Ergebnis vorhergesagt werden. In einem anderen Experiment ließen die Forscher verschiedene künstliche neuronale Netze dieselben Programmcodes lesen und bewerten wie die menschlichen Probanden. Dabei zeigte sich, dass Menschen und Maschinen ganz ähnliche Aktivitätsmuster und neuronale Repräsentationen erzeugen. Die Kodierung im MD-System des menschlichen Gehirns zeigte eine besonders hohe Übereinstimmung mit den künstlichen Netzen.
Die Forscher stellten ihre Arbeit auf der Konferenz Neural Information Processing Systems vor. Dennoch konnten sie einen wesentlichen Unterschied feststellen: Im Gegensatz zu menschlichen Probanden nutzte die KI nur das Sprachzentrum. Der Mensch verarbeitet Programmcode auf komplexere Weise. Die Forscher erhoffen sich von ihren Erkenntnissen neue Denkanstöße für die Entwicklung von Quellcode-verstehender KI.