Искусственный интеллект научился находить проблемы в коде

Искусственный интеллект научился находить проблемы в коде

27.04.2021      9190

Исследователи из МТИ (Массачусетского технологического института) разработали систему глубокого машинного обучения для поиска проблем в коде ПО. Она станет основой инструментов автоматического анализа, которые помогут найти и устранить слабые места в IDE для создания программ.

Разработка изнутри

Многие программисты используют интегрированные среды разработки (IDE) вроде Visual Studio или Eclipse, чтобы писать код продуктивнее. В таких средах автоматически предлагаются подходящие фрагменты кода: типы данных, функции объектов и т.д. 

Для подбора вариантов внутри IDE используются сложные языковые модели, обученные на миллионах примеров реальных фрагментов кода – например, с GitHub. Но такие системы имеют множество встроенных уязвимостей – так часто бывает при обучении на больших наборах данных без учителя, в отсутствие четко установленных правил и инструкций.

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

Новый подход

Шашанк Шрикант, аспирант факультета электротехники и информатики МТИ совместно с исследовательницей института Уной-Мэй О’Рейли и специалистом IBM Сиджи Лю описали автоматизированный метод поиска слабых мест в моделях обработки кода и их переподготовки. Такой подход должен повысить устойчивость IDE к хакерским атакам.

Ученые утверждают, что модели обработки кода в IDE обмануть легко. Достаточно, например, переименовать переменную, вставить ложный оператор вывода на экран или внести другие незначительные изменения в программный код, который модель попытается обработать.

В результате IDE сможет принять вредоносное ПО за безопасное и не выдаст никаких предупреждений. А функции автоматического дополнения строк станут предлагать неверные или потенциально опасные варианты. Разработчик, скорее всего, даже не будет подозревать, что IDE изменилась.

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

 

В зеленой рамке показана верно распознанная черепаха, в красных – черепахи, распознанные как винтовки, в черных – как другие предметы (ни черепахи, ни винтовки)

 

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

Алгоритм, который предложил Шрикант и его коллеги, действует иначе. Сначала он находит места в программе, где добавление или замена текста могут спровоцировать наиболее серьезные ошибки. Затем алгоритм определяет, какие изменения будут здесь опаснее всего.

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



Источник: https://infostart.ru/journal/news/tekhnologii/iskusstvennyy-intellekt-nauchilsya-nakhodit-problemy-v-kode_1433191/
Автор:
Ксения Шестакова Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nvv1970 27.04.21 21:36 Сейчас в теме
Знакомство с 1С будет его последним днём ))
2. chg 28.04.21 02:56 Сейчас в теме
(1)ИИ просто уничтожит код 1С посчитав его полностью не правильным
3. nvv1970 28.04.21 08:39 Сейчас в теме
(2) расовые предрассудки.
"За что они нас не любят?" (С)
Оставьте свое сообщение

См. также

В Google Play добавили новый раздел для разработчиков

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

В мае Google объявил о новом требовании для Android-приложений, которые будут публиковаться в официальном магазине. Теперь для этого в Google Play Console появился соответствующий раздел Data safety (безопасность данных).

вчера в 15:41    2968    user1015646    1       

Новости Windows 11: первое обновление и свежие параметры безопасности

Новость Windows Безопасность ИТ-новость

Компания Microsoft представила первое обновление свежей операционной системы. Кроме того, официально опубликовали финальную версию базовых параметров безопасности для установки Windows 11.

вчера в 13:16    1807    user1015646    3       

Google Chrome больше не сможет использовать протокол FTP

Новость Google Безопасность Интернет ИТ-новость

Разработчики браузерного движка Chromium к релизу Chrome 95 полностью отключили поддержку устаревшего протокола передачи файлов FTP. Другие браузеры отказались от него еще раньше.

вчера в 11:41    1244    VKuser24342747    0       

Microsoft начала тестировать запуск Android-приложений в Windows 11

Новость Windows Android ИТ-новость Мобильные приложения Новости компаний

Microsoft разрешила участникам предварительного тестирования Windows 11 устанавливать приложения для Android через Windows Store. Пока доступен только ограниченный набор программ.

26.10.2021    1041    VKuser24342747    0       

«Яндекс» разработал протокол для ускорения работы поисковых систем

Новость Интернет Искусственный интеллект ИТ-новость Яндекс

«Яндекс» совместно с Microsoft создали протокол IndexNow, который позволяет сайтам оповещать поисковые системы об изменениях. Технология поддерживается только в Bing и в поиске «Яндекса».

26.10.2021    1454    VKuser24342747    0       

Microsoft представила веб-версию редактора кода VS Code

Новость ИТ-новость Новости компаний Облачные технологии

Microsoft выпустила браузерный вариант приложения VS Code, который позволяет писать код онлайн. Для работы программы не потребуется установка дополнительных расширений.

25.10.2021    12021    VKuser24342747    6       

«Ростелеком» запустит облако на процессорах «Эльбрус»

Новость Импортозамещение ИТ-новость Микроэлектроника Новости компаний Облачные технологии

«Ростелеком» создаст облачную платформу на «Эльбрусах» для государственных предприятий и бизнеса. Организации смогут получить частное облако, работающее на полностью российских технологиях.

25.10.2021    3649    VKuser24342747    0       

GitLab вышел на биржу с капитализацией 11 млрд долларов США

Новость git ИТ-новость Новости компаний

Компания GitLab, которая разработала одноименную систему управления git-репозиториями, провела первичное размещение акций (IPO) на бирже Nasdaq. Капитализация разработчика достигла 11 млрд долларов США.

22.10.2021    1725    user1015646    1       

В России создали лицензию для свободного ПО

Новость Импортозамещение ИТ-новость Минкомсвязь

Специалисты Минцифры разработали государственную открытую лицензию для программного обеспечения. Официальной презентации документа не проводили – текст документа обнаружили в Git-репозитории.

21.10.2021    2117    user1015646    1       

Депутаты Госдумы предложили Google и YouTube обсудить исполнение российских законов

Новость Google Законодательство ИТ-новость Новости компаний

Депутаты Госдумы пригласили Google и YouTube 25 октября в формате видеоконференции обсудить соблюдение российского законодательства. ИТ-компании приняли предложение.

19.10.2021    2552    VKuser24342747    9       

Разработчик создал язык Ć для написания кода на С, Python и JavaScript одновременно

Новость ИТ-новость Языки программирования

Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, Java, Python и другие языки.

19.10.2021    13173    VKuser24342747    3       

Microsoft добавила подсистему Windows для Linux в Microsoft Store

Новость Windows ИТ-новость Новости компаний

Пользователям Windows 11 стала доступна предварительная версия подсистемы Windows для Linux (WSL). Ее можно установить из Microsoft Store.

18.10.2021    7941    SKravchenko    5       

Python вытеснил C с первого места в рейтинге языков программирования за октябрь

Новость ИТ-новость Рейтинг Языки программирования

Python впервые за 20 лет сумел обогнать Java и C по популярности и занять первую строчку в рейтинге TIOBE. Автор языка программирования Гвидо ван Россум поблагодарил сообщество за поддержку.

18.10.2021    5324    VKuser24342747    4       

Google сказал «SOS»: интернет-гигант поддержит новую программу вознаграждений

Новость Google ИТ-новость

Компания Google объявила о поддержке пилотной программы вознаграждений за поиск уязвимостей в софте с открытым исходным кодом. Ее назвали SOS (Secure Open Source, безопасное открытое ПО).

15.10.2021    2738    user1015646    0       

Samsung по ошибке предложил британцам предустановить российское ПО

Новость Импортозамещение ИТ-новость Мобильные приложения Новости компаний

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

14.10.2021    3336    VKuser24342747    2       

PostgreSQL 14: встречаем новую версию популярной СУБД с открытым кодом

Новость PostgreSQL ИТ-новость

Разработчики представили крупное обновление СУБД PostgreSQL. В свежей 14-й версии упростили доступ к информации в JSON-формате и добавили поддержку несмежных диапазонов, улучшили производительность и работу с распределенными данными.

13.10.2021    3668    user1015646    1       

Новые возможности Microsoft Office 2021

Новость ИТ-новость Новости компаний

5 октября Microsoft выпустила новую версию офисного пакета приложений Office 2021. Он предназначен для предприятий и пользователей, которые не хотят покупать Office 365, доступный только по подписке.

12.10.2021    16431    SKravchenko    0       

МГУ представил первый национальный стандарт для ИИ и больших данных

Новость Искусственный интеллект ИТ-новость

Национальный центр цифровой экономики МГУ подготовил к публичному обсуждению первую редакцию отечественного стандарта для работы с большими данными и нейросетями.

12.10.2021    4785    VKuser24342747    1       

Минцифры намерено встроить электронную подпись в SIM-карту

Новость ИТ-новость Минкомсвязь Цифровая подпись

Минцифры совместно с ФСБ, провайдерами и научными организациями разрабатывают технологию, которая позволит использовать электронную подпись при помощи стандартной SIM-карты.

11.10.2021    8721    VKuser24342747    2       

Крупнейшие российские ИТ-разработчики объединятся для развития Open Source

Новость Импортозамещение ИТ-новость Цифровая экономика

В Москве прошел форум Russia Open Source Summit. На нем лидеры российской ИТ-отрасли презентовали стратегию развития Open Source до 2024 года и анонсировали создание некоммерческой организации Russian Open Source Foundation.

11.10.2021    11083    ЕленаЧерепнева    2       

Язык программирования Python получил масштабное обновление

Новость ИТ-новость Языки программирования

В официальном блоге Python представлена последняя стабильная версия языка под номером 3.10.0. Из новинок – улучшенное отображение ошибок, поддержка структурного сопоставления и более строгого итерирования.

08.10.2021    14323    VKuser24342747    8       

Microsoft официально выпустила релизную версию Windows 11

Новость Windows ИТ-новость Новости компаний

Бесплатное обновление Windows 10 до одиннадцатой версии доступно для всех владельцев системы. Главные изменения – повышенная безопасность и улучшение дизайна.

07.10.2021    5474    VKuser24342747    7       

Крупное обновление для Ubuntu стало доступно для бета-тестирования

Новость Ubuntu ИТ-новость

Разработчики представили бета-версию Ubuntu 21.10 под названием Impish Indri. Последний раз операционная система получала крупный апдейт весной 2021 года.

05.10.2021    17018    VKuser24342747    4       

Привет, Java 17: что нового

Новость ИТ-новость Языки программирования

Вышла новая версия Java 17. Три ключевых изменения: использование только строгой семантики чисел с плавающей точкой, единый API (прикладной программный интерфейс) для генераторов псевдослучайных чисел и отдельный API сторонних функций и памяти.

04.10.2021    10143    user1015646    0       

Исследователи нашли способ передавать данные через полое оптоволокно

Новость Интернет ИТ-новость Телекоммуникации

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

04.10.2021    9580    VKuser24342747    2