Как стать автором
Обновить
0

Intel ControlFlag — система машинной отладки человеческих ошибок кода

Время на прочтение 2 мин
Количество просмотров 1.7K
Человеку, как известно, свойственно ошибаться. Самые вопиющие ошибки попадают в учебники, а с миллионами остальных нам приходится как-то жить и тратить свой рабочий ресурс на их исправление. По подсчетам исследователей из Университета Пенсильвании, на отладку кода уходит порядка 50% бюджета разработки ПО. Это чудовищно много, но надежда у человечества все-таки есть — будущее за машинными дебаггерами. На прошедшей совсем недавно конференции Intel Labs Day Intel представила ControlFlag — аналитическую систему машинного программирования, способную самостоятельно обнаруживать ошибки в программном коде.



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

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

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

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

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

Как вы понимаете, публичная история Intel ControlFlag еще только начинается, информации о системе пока еще совсем мало. Нам очень интересна эта тема — надеемся, и вам тоже. Мы твердо рассчитываемся к ней вернуться — уже с конкретными фактами и данными.
Теги:
Хабы:
+1
Комментарии 3
Комментарии Комментарии 3

Публикации

Информация

Сайт
www.intel.ru
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
США
Представитель
Анастасия Казантаева

Истории