Исследователи университета Дрекселя, США и университета Гёттингена, Германия, разработали методику, позволяющую выяснить личность программиста, анализируя созданный им код. Учёные отмечают, что у каждого программиста есть специфические профессиональные приёмы и привычки – потому в исходном коде остаются следы, выдающие автора, как почерк или отпечатки пальцев выдают человека. Компьютерный анализ вычисляет такой «отпечаток».

В основе метода лежит стилометрия – исследование стилистики, включающее статистический анализ текста. Алгоритм раскладывает код на блоки и строит синтаксическое дерево, в котором распознаются отдельные синтаксические конструкции и подсчитывается их количество. Программу испытывали на коде, написанном 250 программистами в течение нескольких лет, в среднем, по 630 строк кода на каждого. После этого программа продемонстрировала точность 95% при распознавании автора анонимного кода.

В ходе испытаний на выборке из 30 программистов с большим количеством исходного материала – от 1,9 тысяч строк – точность распознавания повысилась до 97%.


2015-02-02 • Просмотров [ 843 ]