Eksperymenty na programistach

| Psychologia
Brigham Young University

Microsoft pracuje nad technologią wyłapywania błędów programistycznych w czasie rzeczywistym podczas tworzenia kodu. Pomysł polega na... badaniu sygnałów biologicznych przekazywanych przez organizm progamisty.

Badacze z Microsoft Research i Uniwersytetu w Zurichu poinformowali o swoich pracach w artykule Using Psycho-Physiological Measures to Assess Task Difficulty in Software Development [PDF].

Nowa technika polega na badaniu fal mózgowych, ruchu oczu oraz przewodnictwa elektrycznego skóry. Odebrane w ten sposób sygnały pozwalają na ocenę poziomu stresu u badanego. Gdy programista przygląda się już wytworzonemu kodowi, możemy przypuszczać, że im bardziej się stresuje, tym większą trudność sprawia mu zrozumienie kodu, który może być źle napisany, niezoptymalizowany. Im bardziej zaś stresuje się przy pisaniu kodu, z tym większym prawdopodobieństwem popełni błędy.

W ramach swoich badań specjaliści z Microsoftu i Uniwersytetu w Zurichu przyjrzeli się reakcji 15 programistów, u których śledzono fale mózgowe i ruchy gałki ocznej. Każdy z badanych bardzo dobrze znał język C# i miał co najmniej dwa lata doświadczenia w pisaniu oprogramowania. W czasie trwającego 1,5 godziny eksperymentu każdemu z programistów pokazano kod źródłowy napisany w C# i zadawano pytania, które miały wskazać na poziom zrozumienia kodu.

Dane z biometryczne pozwoliły na przewidzenie – w zależności od zadania - z precyzją od 64,59 do 84,38 procent trudności, na jakie napotykał programista.

Microsoft ma nadzieję, że dzięki dalszemu rozwojowi tej techniki będzie mógł w niedalekiej przyszłości wykorzystać dane biometryczne pochodzące od własnych programistów do zapewnienia im lepszej jakości szkoleń. Dzięki takim danym możliwe będzie bowiem określenie, który programista ma kłopoty z jakimi fragmentami kodu, a to pozwoli na udoskonalenie systemu wewnętrznej edukacji. Niewykluczone też, że pozwoli to na zastosowanie bardziej 'brutalnych' metod wymuszających zwiększenie koncentracji. Jak stwierdził bowiem jeden z badaczy, myślałem o tym, że może dzięki temu wymusimy lepszą pracę np. na pracownikach, którzy właśnie wrócili z przerwy obiadowej i nie skupili się jeszcze na zadaniu, nie zwracają zbytniej uwagi na kod, nad którym pracują. Jeśli takiemu pracownikowi zmniejszy się np. kontrast na monitorze, spowoduje, że fonty będą mniej czytelne, wymusi się nad nim większe skupienie na odczytaniu i zrozumieniu kodu, co z kolei spowoduje, że z mniejszym prawdopodobieństwem popełni on jakiś błąd.

Microsoft programista błąd fale mózgowe