🔥 Gemini Pro 18 miesięcy (voucher) 170 zł -43% do piątku Kup teraz →
Przejdź do treści
Umysł

Mózg programisty łapie bugi jak dwuznaczne zdanie. Nowe badanie EEG

Kiedy programista trafia na mylącą linię kodu, jego mózg reaguje tak samo jak na niespodziewany zwrot w rozmowie. Nowe badanie z EEG i eye-trackingiem ujawnia, że kod to nie sucha logika – to ukryty język, który mózg przetwarza jak konwersację.

4 min read
A close-up of a human silhouette with a glowing neural network inside the head, facing a wall of fragmented abstract geometric shapes and colored light patterns that resemble code but without any readable text. The shapes twist and shift in a subtle, disorienting way, evoking the feeling of a mental puzzle.

Wyobraź sobie, że czytasz zdanie: „Teo chce narąbać drewna, więc idzie po kurtkę”. Czujesz, że coś tu nie gra? Twój mózg też to czuje – i reaguje w ułamku sekundy charakterystyczną falą. Okazuje się, że dokładnie ten sam mechanizm uruchamia się, gdy programista natknie się na mylącą linijkę kodu. Mózg nie widzi różnicy między niespodziewanym rzeczownikiem a źle napisanym wyrażeniem w C++. To odkrycie zmienia sposób, w jaki myślimy o kodzie – i może zrewolucjonizować narzędzia dla programistów.

Fala późnej frontalnej pozytywności – czyli mózg mówi „moment”

Czytaj też: Nowe elektrody można wymalować na głowie. Czy badania mózgu przestaną być uciążliwe?

Międzynarodowy zespół badaczy z Uniwersytetu Saary postanowił przyjrzeć się, co dokładnie dzieje się w głowie programisty, gdy czyta on „atomy zamętu” – krótkie, podstępne fragmenty kodu, które komputer wykonuje bez problemu, ale które zupełnie mylą człowieka. Wyniki opublikowano w artykule, w którym udział wzięli m.in. Sven Apel (informatyk), Axel Mecklinger (neuropsycholog) i Vera Demberg (językoznawczyni komputerowa).

Uczeni połączyli elektroencefalografię (EEG) z szybkim eye-trackingiem, by rejestrować tzw. potencjały związane z fiksacją (FRP). Dzięki temu mogli uchwycić aktywność mózgu w dokładnej milisekundzie, w której wzrok programisty zatrzymywał się na konkretnej linii kodu. Gdy badany trafiał na „atom zamętu”, w jego mózgu pojawiała się fala późnej frontalnej pozytywności – sygnatura znana z psycholingwistyki.

Kurtka zamiast siekiery, pętla zamiast przypisania

Czytaj też: Sposób, w jaki pies chodzi, może zdradzić początek demencji. Liczą się przednie łapy

– W naszych eksperymentach nad przetwarzaniem języka nieoczekiwane słowa, takie jak „kurtka”, generują późną frontalną pozytywność – sygnał bardzo podobny do tego, który wywołują mylące fragmenty kodu – tłumaczy Axel Mecklinger. Innymi słowy: mózg programisty, widząc kod, który logicznie „nie pasuje”, uruchamia ten sam mechanizm korekty, co przy zdaniu z zaskakującym znaczeniem.

Badanie objęło 24 zawodowych programistów i ponad 1700 prób. Każdy z uczestników widział trzy bloki tematyczne, w których pojawiały się „atomy zamętu”. Zespół z Saarland University zsynchronizował dane co do milisekundy, by pokazać, że mózg programisty nie czyta kodu liniowo – skanuje całe bloki, przetwarzając kilka linii naraz.

Kod to nie tylko logika – to też język

Wcześniejsze badania sugerowały, że programowanie aktywuje obszary mózgu podobne do tych zaangażowanych w przetwarzanie języka naturalnego. Nowe wyniki idą o krok dalej: pokazują, że nie chodzi tylko o podobieństwo anatomiczne, ale o ten sam mechanizm neuronalny. Fala późnej frontalnej pozytywności to dowód, że mózg traktuje mylący kod jak niespodziewany zwrot w rozmowie – i natychmiast stara się go „naprawić”, odwołując się do pamięci długotrwałej.

„Kiedy programiści napotykają mylące fragmenty kodu, wykazują aktywność mózgu podobną do tej obserwowanej w eksperymentach językowych, w których uczestnicy czytają zdania z nieoczekiwanymi zwrotami. Mózg adaptuje się w ułamku sekundy, sprawdzając informacje względem pamięci długotrwałej i aktualizując reprezentację nowej sytuacji” – wyjaśnia Vera Demberg.

70–80 procent czasu na czytanie kodu – czy da się to ułatwić?

– Programiści spędzają od 70 do 80 procent swojego czasu pracy próbując zrozumieć kod. Dlatego ważne jest, aby wiedzieć, jak przebiegają te procesy myślowe – mówi Sven Apel. Odkrycie może pomóc w budowaniu inteligentniejszych środowisk programistycznych (IDE), które będą ostrzegać programistę nie tylko o błędach składniowych, ale i o „pułapkach poznawczych” – zanim jeszcze zostanie skompilowany jakikolwiek błąd.

Zamiast polegać wyłącznie na testach jednostkowych czy analizie statycznej, przyszłe narzędzia mogłyby monitorować reakcję mózgu programisty (np. przez EEG w słuchawkach) i sygnalizować, że dany fragment kodu jest potencjalnie mylący. To otwiera drogę do nowej generacji oprogramowania projektowanego z myślą o ludzkiej kognicji – nie tylko o maszynie.

Co dalej? Personalizacja i szkolenia

Badacze planują sprawdzić, czy różni programiści wykazują odmienne wzorce aktywności mózgu przy tych samych „atomach zamętu” – i czy te wzorce korelują z ich doświadczeniem. Jeśli tak, możliwe stanie się projektowanie spersonalizowanych kursów programowania, które uczą omijania konkretnych poznawczych pułapek.

Jedno jest pewne: kod to nie tylko sucha logika zaklęta w składni. To także język, który nasz mózg przetwarza w sposób głęboko ludzki – z tym samym zaskoczeniem, poprawkami i błyskawiczną reinterpretacją, co w codziennej rozmowie.

Redakcja noktus.pl

Redakcja noktus.pl

AUTHOR
Redaguje