Американцы создали самообучающуюся программу для исправления багов

Американцы создали самообучающуюся программу для исправления багов

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

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

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

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

При работе с исходным кодом программы Prophet использует статический и динамический анализ кода, что позволяет не только выявить некорректные и потенциально нерабочие участки, но и локализовать ошибки с высокой точностью. Для выбора и изменения обнаруженных патчей и последующего их применения к программному коду также используется динамический анализ. Кроме того, как и Code Phage алгоритм Prophet способен «отмечать» потенциально опасные участки — при их исполнении с ошибкой исправленная программа просто закроется.

Тестирование Prophet раззработчики проводили на 69 известных ошибках в восьми программах с открытым исходным кодом. Результаты работы алгоритма сравнивали с другими такими программами — SPR, Kali, GenProg и AE. На анализ исходного кода и применение патчей всем испытуемым алгоритмам отводились 12 часов. За этот период Prophet сумел найти 19 патчей для 69 дефектов, 18 из которых оказались корректными. Причем 15 из 19 исправлений были подобраны алгоритмом с первой попытки.

В свою очередь SPR за 12 часов смогла найти только 16 правильных патчей из 19, причем только 11 корректных исправлений были подобраны с первой попытки. Kali, GenProg и AE сумели подобрать два, один и два корректных исправления соответственно.

Василий Сычёв

N+1

Похожие новости:
Самым безопасным браузером признан Google Chrome
Компания Accuvant опубликовала результаты проведенного по заказу Google исследования безопасности наиболее популярных на сегодняшний день веб-браузеров: Google Chrome, Internet Explorer и Mozilla Firefox. Суммарно они занимают около 91,55% рынка браузеров. Самым безопасным специалисты признали Chrome, ..
2011-12-13 1649 0 Интернет, IT
0
Ученые доказали, что компьютеры могут писать статьи
Современные компьютерные программы могут управлять автомобилями и самолетами, могут писать музыку, играть в шахматы и еще много чего умеют, сообщает «TG Daily». Но могут ли они имитировать творческие возможности человека и писать статьи? Исследователи из Чикагской компании Narrative Science ..
2012-05-15 1348 0 Интернет, IT
0
Mozilla решит проблемы безопасности в браузере Firefox
2012 год будет насыщен для компании Mozilla, именно в 2012 году компания намеревается внести кардинальные изменения в систему безопасности браузера Firefox. Упор будет сделан на улучшение безопасности выполнения JavaScript-кода, а точнее компиляции байт-кода в машинный код (JIT компиляция), когда ..
2012-01-10 1514 0 Интернет, IT
0
Android 4.4.1 добрался до пользователей Nexus-устройств
Google начала поставку операционной системы Android 4.4.1 — KitKat владельцам Nexus устройств, а также предоставила исходный код новой версии платформы в AOSP, сообщает it-site.net. Обновление знаменует собой различные исправления и улучшения для Google Nexus 4, Nexus 5 и Nexus ..
2013-12-7 1278 0 Интернет, IT
0
Google Earth покажет Землю с воздушного змея
Компания Google добавила в программу Google Earth (в русском переводе - "Google Планета Земля") снимки земной поверхности, сделанные с аэростатов и с воздушных змеев.  В данный момент доступны снимки более чем сорока мест со "впечатляющим" разрешением, отмечает Google ..
2012-04-23 1484 0 Интернет, IT
0
Юный пользователь соцсети Instagram обнаружил дефект в системе
Пожалуй, сложно в наше время найти таких людей, кто хотя бы один раз в день не посещал глобальную сеть Интернет. Причины посещения сети самые разнообразные: кому-то необходимы возможности поисковых сетей, кто-то использует потенциал глобальной сети, чтобы ..
2016-05-04 2564 0 Интернет, IT
0
Microsoft заплатит $100 тыс за найденные уязвимости
Компания Microsoft готовит обновление операционной системы Windows 8 под названием Windows 8.1. Новая версия будет содержать различные исправления и баги, которые были в Windows 8. Руководство Microsoft перед выпуском новой Windows 8.1 решила как следует испытать систему ..
2013-06-22 1397 0 Интернет, IT
0
В мультимедийном движке для Android нашли потенциальную угрозу безопасности
Содержащиеся в мультимедийном движке Stagefright уязвимости представляют собой потенциальную угрозу для большинства смартфонов на Android. Об этом отыскавшие брешь специалисты по информационной безопасности из команды Zimperium сообщили изданию Forbes. Согласно отчету Zimperium, были найдены семь уязвимостей, которые ..
2015-07-28 2194 0 Интернет, IT
0
Microsoft выпустила обновление Windows и убила компьютеры
Корпорация Microsoft приостановила распространение обновления безопасности для Windows, которое закрывает уязвимости Meltdown и Spectre. Патч стал причиной полного отключения компьютеров с процессорами AMD. Об этом во вторник, 9 января, сообщает The Verge.«Microsoft получила жалобы от обладателей чипов AMD о том, ..
2018-01-10 2503 0 Интернет, IT
0
Microsoft устранит во вторник 23 уязвимости
Во вторник, Microsoft выпустит восемь бюллетеней безопасности, два из которых оцениваются как критические и шесть – как важные. Их целью является устранение 23 уязвимостей в Internet Explorer, .NET Framework и Silverlight, Microsoft Windows, Microsoft Forefront UAG и Microsoft Host Integration Server. Критические ..
2011-10-10 2083 0 Интернет, IT
0
Вирус Flame разработали США и Израиль
Обвинения в том, что США и Израиль совместно создали компьютерный вирус Flame, были озвучены газетой Washington Post. Газета ссылается на анонимные источники в службах безопасности США.Обвинения в том, что США и Израиль совместно создали компьютерный вирус Flame, были озвучены газетой ..
2012-06-21 1636 0 Интернет, IT
0
За неверной супругой присмотрит умный бюстгальтер
Американцы создали "умный бюстгальтер". Внешне от обычных он отличается не сильно. Все дело в его назначении. Это электронное чудо текстильной промышленности следит за состоянием пациенток. Контролирует давление, температуру тела, частоту дыхания и даже определенную нейронную активность. Но что самое важное, все данные ..
2012-05-10 1180 0 Интернет, IT
0
Программа предскажет завтрашние новости
Ученые создали программу, которая, основываясь на материалах СМИ, сможет предупреждать о грядущих вспышках эпидемии или насилия. Анализируя уже произошедшие события, система пытается выявить общие закономерности между ними и предсказать, что произойдет в недалеком будущем. Прототип ПО создали исследователь ..
2013-02-5 1150 0 Интернет, IT
0
Facebook продемонстрировала новый язык программирования
Соцсеть Facebook продемонстрировала новый язык программирования Hack. Это непосредственный потомок языка PHP. В его основе лежит синтаксис этого языка. Как сообщает официальный сайт компании, посвященный новинке, значительную часть соцсети уже перевели на новый язык. Основное требование к Hack ..
2014-03-30 1674 0 Интернет, IT
0
Обновление iOS в два раза снизило скорость работы iPhone
Исследователь Мелвин Мугхал (Melvin Mughal) обнаружил, что обновление iOS привело к снижению производительности его iPhone. В некоторых случаях скорость уменьшилась на 50 процентов, говорится в исследовании специалиста.Мугхал тестировал собственный iPhone 6 с iOS 11.2.2 до и после установки патча. Тесты проводились в одинаковых условиях ..
2018-01-13 2769 0 Интернет, IT
-1