Вы когда-нибудь проводили бесчисленные дни и ночи, пытаясь воплотить идею в продукте? Вы выпускали продукт на рынок только для того, чтобы через несколько дней узнать, что в коде есть ошибки? Что ж, все эти вопросы остались бы в прошлом, когда Intel представила MISIM — совместную инициативу Intel, MIT и Технологического института Джорджии.

Что такое МИСИМ?

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

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

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

Возможные применения MISIM

Ускоренный вывод программных продуктов на рынок

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

Устранение неэффективности существующего исходного кода

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

Меньшие уязвимости безопасности

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

Давайте посмотрим на другую сторону медали

С добавлением в MISIM большей стабилизации и функций его преимущества наверняка возрастут.

Теперь поговорим о недостатках MISIM.

Я уверен, что заголовка этого поста было достаточно, чтобы эта картинка вспыхнула у вас в голове.

Однако, когда стрелка изгибается в сторону отрицательной шкалы, она вполне может повернуться на букву «U». Непрограммисты со злым умыслом могут легко использовать этот инструмент. Ваш сосед может создать программу-шпион, чтобы следить за вашим сетевым трафиком. Фишинг может быть на подъеме. Кто-то, хорошо разбирающийся в фондовой бирже, может использовать его для краха системы. Список можно продолжать!

Но разве не то же самое со всеми великими и мощными технологиями!

Конечно, это очень волнительное время для технологов. Однако всегда следует помнить, что

С большой властью приходит большая ответственность

Ссылка

https://arxiv.org/pdf/2006.05265.pdf

https://newsroom.intel.com/news/intel-mit-georgia-tech-machine-programming-code-similarity-system/#gs.c3wqyu