Разработчики: | Microsoft |
Дата премьеры системы: | апрель 2020 г |
Технологии: | Средства разработки приложений |
2020: Microsoft выложила исходники инструмента, который находит 97% критических ошибок в ПО
В середине апреля 2020 года Microsoft сообщила о разработке системы, которая, как заявляют в компании, точно выявляет критические, высокоприоритетные ошибки безопасности в 97% случаев и находит ошибки в остальном ПО в 99% случаев. Софтверный гигант выложил исходники этого инструмента на GitHub вместе с примерами моделей и другими ресурсами.
Система была обучена на наборе данных из 13 млн рабочих элементов и ошибок 47 000 разработчиков в Microsoft. Предполагается, что она могла бы использоваться для поддержки экспертов-людей, ведь, по оценкам Coralogix, разработчики допускают 70 ошибок на 1000 строк кода, а исправление ошибки занимает в 30 раз больше времени, чем написание строки кода.
Microsoft утверждает, что в ходе разработки модели эксперты по безопасности утвердили данные обучения, а для отбора достаточного объема данных для анализа использовалась статистическая выборка. Затем эти данные были закодированы в представления, называемые векторами признаков, и исследователи Microsoft приступили к проектированию системы с использованием двухэтапного процесса. Сначала модель научилась классифицировать ошибки безопасности и другие ошибки, а затем научилась применять метки серьезности — "критические", "важные" или !с низким уровнем воздействия" — к ошибкам безопасности.
Модель Microsoft использует два метода для предсказания ошибок. Первый — это «инверсия частоты, с которой некоторое слово встречается в документах коллекции». Второй метод — модель логистической регрессии, которая оценивает вероятность существования определенного класса или события.Экосистема PROMT: больше, чем перевод
В Microsoft говорят, что эта модель развернута внутри производства и постоянно переобучается с помощью данных, утвержденных экспертами по безопасности, которые отслеживают ошибки, возникающие при разработке программного обеспечения.[1]
Примечания
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)