ControlFlag: инструмент для отладки кода

Intel выпустила выпуск значимой версии Флаг управления 1.0, который является система управления программным обеспечением позволяющий обнаруживать ошибки и аномалии в вашем коде источник с использованием системы машинного обучения, обученной на большом количестве существующего кода.

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

Согласно исследованиям, поиск и устранение ошибок в коде чаще всего выполняется вручную и отнимает более 50% рабочего времени разработчиков. 

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

О ControlFlag

Система обучается путем построения статистической модели из существующей матрицы исходного кода open опубликовано на GitHub и подобных публичных репозиториях. На этапе обучения система определяет типовые шаблоны для построения структур в коде и строит синтаксическое дерево связей между этими шаблонами, отражающее поток выполнения кода в программе.

В результате формируется справочное дерево решений, объединяющее опыт разработки всех проанализированных исходных текстов. Аналогичный процесс установки шаблона выполняется для тестируемого кода, который сравнивается с эталонным деревом решений. Большие расхождения с соседними ветвями указывают на аномалию в проверяемом паттерне.

Из характеристик Версии ControlFlag 1.0, выделена полная поддержка шаблонов C и способность обнаруживать аномалии в условных операторах «если».

Например, при разборе фрагмента кода «if (x = 7) y = x;» система обнаружит, что конструкция «переменная == число» обычно используется в операторе «если» для сравнения числовых значений, поэтому указание «переменная = число» в операторе «если», вероятно, вызвано типографской ошибкой.

комплект предоставляет скрипт, который позволяет загружать репозитории C, доступные на GitHub и используйте их для построения модели. Также доступны готовые модели, позволяющие сразу начать проверку кода.

Система является частью исследовательского проекта по машинному программированию (MPR) от Intel, основная цель которого - сократить время, необходимое для разработки программного обеспечения, в 1000 раз за счет автоматизации.

В частности, Intel в настоящее время работает над обучением Controlflag автоматическому исправлению обнаруженных ошибок. Также в 2020 году компания выпустила инструмент MISIM, разработанный совместно с лабораториями Массачусетского технологического института, который может изучать фрагменты кода, чтобы понять, для чего предназначен фрагмент кода. Система предназначена для использования разработчиками способов повышения эффективности кода.

«Ожидается, что отладка нанесет еще больший вред разработчикам и отрасли в целом», - заявила Intel. Объявление… «При полной реализации ControlFlag может помочь смягчить эту проблему, автоматизируя хлопоты разработки программного обеспечения, такие как тестирование, мониторинг и отладка».

«Главное преимущество неконтролируемого подхода ControlFlag к распознаванию образов состоит в том, что вы можете научиться адаптироваться к стилю разработчика. Поскольку программа имеет ограниченный ввод средств управления, которые необходимо оценить. ControlFlag может определять типографские вариации в языках программирования так же, как читатели могут распознавать полные различия между словами и использовать английские сокращения », - пишет Intel.

В конце концов если вам интересно узнать об этом больше Что касается ControlFlag, вы должны знать, что он написан на C ++ и имеет открытый исходный код под лицензией MIT и его кодом. размещен на GitHub.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.