Нейронная сеть MISIM поможет программистам с кодированием

Нейронная сеть MISIM поможет программистам с кодированием

Система под названием MISIM может независимо извлекать значение фрагмента кода подобно тому, как естественные системы обработки языка (NLP) могут читать абзацы, написанные на заданном языке.

За проект отвечает группа во главе с Джастином Готчлихом, директором команды Intel и институт MIT. Они изучают возможности самокодирования машин.

От карандаша до нейронной сети

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

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

MISIM делает все по-другому

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

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

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

Успех машин

Готшлих и его коллеги сообщили, что MISIM в 40 раз точнее, чем предыдущие системы, которые пытались сделать то же самое. Они также говорят, что трудно научить нейронную сеть различать “ложь” и “истину”, если только она не была четко определена человеком. Тем не менее, MISIM также избегает эту проблему. Система использует машинное обучение для обнаружения сходства между программами, а не для выявления ошибок напрямую. Сравнивая новый код с существующим программным обеспечением, которое, как известно, является правильным, она показывает программисту значительные различия, которые могут оказаться ошибками.

Intel планирует использовать этот инструмент в качестве внутренней системы рекомендаций по коду для программистов, предлагая альтернативные способы написания кода (быстрее или эффективнее). Поскольку MISIM не привязана к синтаксису конкретной программы, она потенциально может сделать намного больше. Например, ее можно использовать для перевода кода, написанного на старом языке, таком как COBOL, на более современный язык, например, Python. Это очень ценный навык, потому что многие учреждения, включая правительства разных стран, все еще полагаются на программное обеспечение, написанное на языках, с которыми сегодня мало кто из программистов может справиться.

Роман
Оцените автора
Безопасник
Добавить комментарий