Создано «самозалечивающееся» ПО

Вторник, 30 июня 2015 г.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e

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

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

Code Phage способна исправлять ошибки, возникающие в результате выхода параметра за допустимые пределы, переполнения целочисленных значений и деления на ноль, говорится в публикации исследователей на сайте Ассоциации вычислительной техники.

Для работы системы необходимо наличие двух входных параметров, которые вводятся в целевое приложение, с условием, что один из параметров вызывает сбой в работе программы.

Code Phage, используя базу данных, ищет приложение-донора, которое смогло бы обработать оба входных параметра без сбоя. Предполагается, что такое приложение содержит некое проверочное условие, которое предотвращает сбой и отсутствует в целевом приложении. Цель заключается в том, чтобы перенести эту проверку из приложения-донора в целевое приложение, которое необходимо исправить.

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


Исследователи создали систему, которая автоматически исправляет ошибки в исходном коде

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

При этом Code Phage работает с бинарными донорами, то есть ей не нужно знать исходный код приложений-доноров, так как она анализирует их логику.

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

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

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

«В будущем вам не придется писать фрагмент кода, который кто-то уже написал до вас. Система сама найдет этот фрагмент и автоматически поместит его в вашу программу, чтобы она исправно работала», — поделился своим видением один из авторов проекта, профессор по вычислительной технике и электротехнике Массачусетского технологического института Мартин Ринард (Martin Rinard).

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e


Просмотров: 354
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003

Май 2023: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31