Это не новая идея, но, похоже, она снова попала в заголовки газет. Почему бы не отслеживать уровень стресса программиста, чтобы обнаружить, когда все становится сложнее, и принять меры по предотвращению ошибок?
Вы знаете, каково это — вы только подходите к трудному моменту, и какой-то идиот входит и задает идиотский вопрос. В мгновение ока вы перегружены и напряжены, ваш пульс учащается, и вы изо всех сил пытаетесь справиться с этим. Теперь мы все знаем, что в этой ситуации, скорее всего, будут допущены ошибки.
Исследователи, изучающие этот феномен, Себастьян Мюллер и Томас Фриц, описывают свою работу в статье, представленной на 38-й Международной конференции по разработке программного обеспечения.
«Чтобы исследовать использование биометрии для прогнозирования проблем с качеством кода в Интернете, мы провели полевое исследование с десятью профессиональными разработчиками в канадской компании в течение двух недель. Мы собрали множество показателей, включая биометрические, такие как вариабельность сердечного ритма, а также более традиционные показатели, такие как сложность кода и отток. После каждого внесенного изменения и периодически на протяжении всего исследования мы просили разработчиков оценить воспринимаемую сложность элементов кода—методов и классов, с которыми они только что работали.»
Программисты работали на Java и использовали Eclipse IDE, модифицированную для записи того, над чем они работали, чтобы код был связан с уровнем стресса. Чтобы получить базовые биометрические данные, программистам разрешили посмотреть видео с плавающими рыбами. Каждые 90 минут их прерывала анкета, в которой им предлагалось оценить сложность того, над чем они работали.
Так это сработало?
«Наш анализ также показывает, что элементы кода, которые воспринимаются разработчиками более сложными, также в конечном итоге имеют больше проблем с качеством, обнаруженных в обзорах кода коллег, что подтверждает наше первоначальное предположение. Кроме того, результаты показывают, что биометрия помогла автоматически обнаружить 50% ошибок, обнаруженных в обзорах кода, и превзошла традиционные показатели в прогнозировании всех проблем с качеством, обнаруженных в обзорах кода.»
Размер выборки был очень мал, и есть опасения по поводу того, насколько хороши выводы, но это подтверждает предыдущие исследования. В них исследователи выразили некоторую озабоченность по поводу того, как программисты могут реагировать на то, что их подключают во время программирования. В текущем исследовании единственная выраженная озабоченность — это конфиденциальность, которая, по-видимому, не является проблемой.