Дорогие читатели, Нашему шестнадцатилетнему, волонтёрскому и некоммерческому проекту для создания новой, современной версии N-N-N.ru, очень нужно посоветоваться касательно платформы нашего сайта – SYMFONY & DRUPAL 8. Платформа не простая, но обещаем – мы не займём много времени, просто нужна консультационная поддержка квалифицированного разраба. Если вы можете помочь, то связаться с нами можно на страницах Facebook.com здесь и здесь.

Глубокое обучение успешно применили для поиска ошибок в коде ПО

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

Исследователи из фирмы Draper и Бостонского университета использовали алгоритмы машинного обучения для повышения эффективности и быстродействия созданного ими лексического анализатора исходного кода C/C++.

Они объединили технологию обработки естественного языка (Natural Language Processing, NLP) на основе свёрточных нейронных сетей и мощный алгоритм Случайный Лес (Random Forest, RM), который строит деревья решений на базе произвольно выбранных подмножеств тренировочного набора данных.

Для тренировки системы был скомпилирован массив, включающий миллионы функциональных примеров исходного кода C и C++, взятых из дистрибутива Debian Linux, тестового пакета SATEIV Juliet и публичных репозиториев на GitHub.

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

Испытания системы на реальных программных пакетах и на эталонном наборе данных NIST STATE IV продемонстрировали, что глубокое обучение на исходном коде является перспективным подходом для автоматизации выявления уязвимостей ПО.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 4.3 (4 votes)
Источник(и):

ko.com.ua