Главная   Аналитика   Безопасность    Наука и технологии   Проекты    Soft   Hard   О том, о сём    Контакты

Новая система машинного программирования от Intel способна находить ошибки в программном коде

4.12.2020

В рамках Intel Labs Day компания Intel представила ControlFlag — аналитическую систему машинного программирования, способную самостоятельно обнаруживать ошибки в программном коде. Для этого решение использует машинное программирование, сплав машинного обучения, формальных методов, языков программирования, компиляторов и компьютерных систем. Так, в ходе предварительных испытаний ControlFlag проанализировала более 1 млрд. немаркированных строк промышленного кода и обнаружила в них новые дефекты.

Как это работает. В своей работе ControlFlag использует специфическую функцию – «выявление аномалий». Подобно тому, как люди, наблюдая определенные закономерности в обычной жизни, учатся считать их «нормальными», ControlFlag обучается на заранее проверенных примерах определять «нормальные» паттерны, выявляя на их основе аномалии в коде. ControlFlag способна обнаруживать их независимо от используемого языка программирования.

Одно из ключевых преимуществ метода самообучения ControlFlag для распознавания паттернов – это способность программы адаптироваться к стилю разработчика. ControlFlag способна определять даже стилистические вариации в языке программирования — аналогично тому, как читатели распознают различия между полными словами и их сокращениями.

В процессе работы ControlFlag учится определять и маркировать стилистические варианты кода. Решение также может настраивать идентификацию ошибок и выдавать рекомендации по их устранению, опираясь на собственные знания. Эти опции помогают ControlFlag не считать за ошибку стилистические вариации кода, используемые разными командами разработчиков.

Почему это важно. В мире, который все больше зависит от ПО, разработчики продолжают тратить непропорционально много времени на исправление ошибок в коде. Из $1,25 трлн., которые IT-индустрия ежегодно тратит на разработку ПО, на отладку кода уходит порядка 50% средств.

Ожидается, что в будущем задача отладки кода будет еще сильнее влиять на разработчиков и IT-индустрию в целом. По мере развития технологий возрастает роль гетерогенных архитектур, в которых используются специализированные процессоры для управления большими массивами данных. Параллельно усложняется и программное обеспечение, необходимое для управления такими системами – это значительно повышает риск возникновения ошибок. Кроме того, все сложнее найти специалистов с опытом безошибочного, эффективного и безопасного программирования на различном оборудовании. Это также повышает риск появления новых и трудно обнаруживаемых ошибок в коде.

Как только ControlFlag будет полностью реализован, он сможет решить эту проблему путем автоматизации тестирования, мониторинга и отладки кода. Это не только повысит продуктивность разработчиков, предоставив им больше времени для творчества, но и поможет решить проблему высокой стоимости разработки ПО.

Что дальше. ControlFlag уже продемонстрировал способность выявлять скрытые ошибки в широко используемом промышленном коде, который заранее проверили разработчики. Например, ControlFlag проанализировал cURL и выявил неизвестную ранее аномалию. В результате это побудило разработчиков cURL выпустить исправленную версию инструмента

Компания Intel начала использовать ControlFlag для выявления ошибок в процессе создания собственного ПО и прошивок. Это один из ключевых элементов проекта Intel Rapid Analysis for Developers, задача которого — повысить производительность путем предоставления экспертной поддержки.

Ранее Intel представила автоматическую систему машинного программирования – Machine Inferred Code Similarity (MISIM), которая способна распознавать, для чего предназначена та или иная часть программного продукта.

Пресс-служба Intel

Тема:Наука и технологии

© 2014. ИТ-Текст. Все права защищены.