Microsoft может похвастаться 99-процентной точностью обнаружения ошибок AI
Программные ошибки были проблемой для программистов в течение почти 75 лет, так как программист Грейс Мюррей Хоппер сообщил о причине ошибки в раннем компьютере Harvard Mark II: моли застряли между контактами реле. Таким образом, термин “ошибка” и родился.
Ошибки варьируются от небольших компьютерных сбоев до катастроф. В восьмидесятые годы, по крайней мере, пять пациентов умерли после того, как устройство лучевой терапии Therac-25 вышло из строя из-за ошибки неопытного программиста. В 1962 году управление полетами NASA уничтожило космический зонд “Маринер I”, когда он отклонился от предполагаемого пути над Атлантическим океаном – был обвинен неправильно расшифрованный рукописный код. В 1982 году программная ошибка, позже предположительно внедренная ЦРУ в советский транссибирский газопровод, спровоцировала один из крупнейших неядерных взрывов в истории.
По данным фирмы по управлению данными Coralogix, программисты выдают 70 ошибок на 1000 строк кода, причем каждое решение для ошибок требует в 30 раз больше часов, чем прежде всего необходимо для написания кода. По оценкам компании, Соединенные Штаты тратят 113 миллиардов долларов в год на выявление и устранение ошибок.
Так что недавнее объявление Microsoft о том, что она успешно создала модель машинного обучения, которая может точно определять высокоприоритетные ошибки безопасности в 97 процентах случаев, является отрадной новостью.
В своем отчете, опубликованном ранее в этом месяце, Скотт Кристиансен, старший менеджер программы безопасности в Microsoft, сказал: “Мы обнаружили, что, сопоставляя модели машинного обучения с экспертами по безопасности, мы можем значительно улучшить выявление и классификацию ошибок безопасности”.
Модель имеет еще более высокий показатель успеха – 99 процентов – различая ошибки безопасности и ошибки, не связанные с безопасностью.
Microsoft использовала два статистических метода для разработки своей системы обнаружения ошибок. Один из них, называемый термином частотно-обратный алгоритм определения частоты документов (TF-IDF), анализирует массивные наборы документов на ключевые слова и вычисляет их релевантность. Другая, модель логической регрессии, определяет вероятность существования определенного класса или события.
Программа сначала классифицировала ошибки безопасности и не связанные с безопасностью, а затем была улучшена, чтобы классифицировать степени угрозы как “критические”, “важные” или “с низким уровнем воздействия”.
Кристиансен сказал, что целью Microsoft было разработать систему обнаружения ошибок “с уровнем точности, максимально приближенным к уровню эксперта по безопасности”.
Ключевым прорывом этого проекта, пояснил Кристиансен, является то, что “отчеты об ошибках могут быть выполнены, даже если для обучения и оценки доступен только заголовок”.
“Насколько нам известно, это самая первая работа, которая реализовала это”, – сказал он.
Microsoft в конечном итоге сделает свои выводы в виде открытого исходного кода на GitHub.
“Каждый день разработчики программного обеспечения изучают длинный список функций и ошибок, которые необходимо устранить”, – сказал Кристиансен. – “Специалисты по безопасности пытаются использовать автоматизированные инструменты для определения приоритетов ошибок безопасности, но слишком часто инженеры тратят время на ложные срабатывания или пропускают критическую уязвимость безопасности, которая была ошибочно классифицирована. Чтобы решить эту проблему, ученые и специалисты по безопасности собрались вместе, чтобы выяснить, как машинное обучение может помочь”.
По материалам Techxplore
Разместить у себя на сайте или блоге:
На любом форуме в своем сообщении: