Система машинного программирования Intel MISIM
Корпорация Intel представила новую автоматическую систему машинного программирования Machine Inferred Code Similarity (MISIM), которая способна распознавать, для чего предназначена та или иная часть программного продукта. Система изучает структуру исходного кода и анализирует код программ с аналогичными свойствами, точность ее до 40 раз превосходит современные системы проверки кода. MISIM была разработана Intel совместно с Массачусетским технологическим институтом (MIT) и Технологическим институтом Джорджии.
Как поясняют в компании, современным компьютерам по-прежнему крайне сложно определять степень схожести двух фрагментов программы на основе анализа их исходного кода, а также понимать, что оба фрагмента выполняют одни и те же функции. Система MISIM способна наиболее точно на сегодняшний день определять, когда два фрагмента исходного кода выполняют аналогичные вычисления, даже если они имеют разные алгоритмы и структуру данных. Решение может использоваться для широкого спектра задач – от рекомендаций по программированию до автоматического исправления ошибок.
Ключевое отличие MISIM от существующих систем определения схожего кода –новая контекстно-зависимая семантическая структура (contest-aware semantic structure, CASS). CASS определяет, для чего предназначен тот или иной фрагмент кода, и может быть настроена на определенный контекст – это позволяет эффективнее собирать информацию, описывающую код.
Как только структура кода интегрируется в CASS, несколько нейронных сетей оценивают степень сходства двух фрагментов на основе задач, которые они должны решать. То есть, если две части кода выглядят разными по структуре, но выполняют одни и те же функции, нейросети оценят их как схожие.
Другая особенность MISIM в том, что она не использует компилятор. Это позволяет системе анализировать неполные фрагменты кода, которые находятся в процессе разработки, что является одним из важнейших свойств для реализации системы подсказок и автоматического исправления ошибок.
Объединив все эти подходы в единую систему, исследователи Intel, MIT и Технологического института Джорджии выяснили, что MISIM позволяет до 40 раз точнее идентифицировать схожие фрагменты кода, чем другие существующие сегодня решения.
В настоящее время MISIM находится в стадии доработки, однако проект уже перешел от исследовательской стадии к демонстрационным моделям. Они должны реализовать механизм рекомендаций к исходному коду для программистов, которые создают приложения, работающие в гетерогенных архитектурах. Такая система сможет распознавать задачи разрабатываемого алгоритма непосредственно в процессе его создания и предлагать семантически схожие, но более эффективные варианты его реализации.