Eksperymenty na programistach
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.
Komentarze (3)
pogo, 16 lipca 2014, 12:53
Bardzo wyidealizowane podejście... ja najwięcej błędów popełniam na prostych rzeczach, które stresują mnie co najwyżej na zasadzie: "za co ja muszę pisać coś tak nudnego?"
glaude, 16 lipca 2014, 14:42
Według mnie to totalna bzdura i jedynie medialny "szoł". Już na wariografach pokazano, że daleko im do 100% weryfikowalności. Dziś ocena z takiego badania jest dla sądu makulaturą.
Tu sprawa jeszcze ciekawsza, bo ocena musi być indywidualna- dla każdego programisty osobna. Ponieważ nie będzie tego robił człowiek (w sensie neurofizjolog kliniczny; dla każdego programisty inny, do tego w czasie rzeczywistym), więc algorytm komputerowy nie podoła temu zadaniu.
Do dziś nikt przecież nie nauczył maszyn klastrowania (grupowania systemowego), więc z czym oni wyskakują?
Nikt, nawet czysto hipotetycznie, nie ma pomysłu jak to osiągnąć przy pomocy dzisiejszych technologii!!!
P.S.
Były już programy rozpoznające emocje w ludzkich twarzach o skuteczności ... 60%.
Gdyby to było tak proste, wszyscy pracownicy Działów Zapewnienia Jakości (itp.) we wszystkich firmach na świecie staliby się bezrobotni!
Maszyna nie jest nawet w stanie rozpoznać dokładnie stołu w zbiorze podobnych elementów. Jedni twórcy programu ośmieszyli się kiedyś, gdy ich program sklasyfikował jako stół ... osła.
Też miał 4 nogi.
Maszyna nawet nie zarejestruje się na forum internetowym, gdzie trzeba przepisać ciąg liter i cyfr rozstrzelonych w przestrzeni, nabazgranych pod różnym kontem.
GRUPOWANIE SYSTEMOWE- i szumne zapowiedzi rozmywają się w rzeczywistości.
ThePX, 17 lipca 2014, 07:51
Dodadzą jeszcze kilka takich sposobów "kontroli" i człowiek stanie się tylko narzędziem pilnowanym przez inne narzędzia...