Прошлые поколения оставили нам не столько готовые решения вопросов, сколько самые вопросы.

Сенека

 

Связь с редакцией
Рассылка новостей

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

09.12.2020 15:34

В рамках 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 Labs (Пресс-кит).
  • Intel Labs 2020 (Пресс-кит).
  • MISM: An End-to-End Neural Code Similarity System.
  • Why More Software Development Needs to Go to the Machines.
  • Three Pillars of Machine Programming.
  • newsroom.intel.com  и  intel.com

    Продукты

    Адрес редакции: 117997, Москва, Профсоюзная ул., д. 65, оф. 360
    Телефон: (926) 212-60-97.
    E-mail: info@avtprom.ru или avtprom@ipu.ru

    © ООО Издательский дом "ИнфоАвтоматизация", 2003-2024 гг.

    РассылкиSubscribe.Ru
    Автоматизация в
    промышленности