Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.129.13.201] |
|
Сообщ.
#1
,
|
|
|
Создано «самозалечивающееся» ПО
Исследователи создали систему, которая автоматически исправляет ошибки в исходном коде. Для этого она использует бинарные файлы-доноры, которые могут быть написаны на другом языке программирования. Исследователи из Лаборатории вычислительной техники и искусственного интеллекта при Массачусетском технологическом институте разработали систему под названием Code Phage, автоматически исправляющую ошибки в приложениях с открытым исходным кодом. Code Phage способна исправлять ошибки, возникающие в результате выхода параметра за допустимые пределы, переполнения целочисленных значений и деления на ноль, говорится в публикации исследователей на сайте Ассоциации вычислительной техники. Для работы системы необходимо наличие двух входных параметров, которые вводятся в целевое приложение, с условием, что один из параметров вызывает сбой в работе программы. Code Phage, используя базу данных, ищет приложение-донора, которое смогло бы обработать оба входных параметра без сбоя. Предполагается, что такое приложение содержит некое проверочное условие, которое предотвращает сбой и отсутствует в целевом приложении. Цель заключается в том, чтобы перенести эту проверку из приложения-донора в целевое приложение, которое необходимо исправить. Чтобы найти проверочное условие в приложении-доноре и понять, как оно работает, Code Phage запускает приложение-донор сначала с «исправным», а затем — со «сбойным» параметром (то есть вызывающим сбой в оригинальной программе). При каждой «прогонке» система выстраивает цепочку логических операций, происходящих в программе, пока не найдет разветвление этих цепочек — то место, где находится проверочное условие. Исследователи создали систему, которая автоматически исправляет ошибки в исходном коде Используя результаты анализа, система интегрирует аналогичную проверку в исходное приложение на том языке, на котором оно было написано. При этом Code Phage работает с бинарными донорами, то есть ей не нужно знать исходный код приложений-доноров, так как она анализирует их логику. В своем эксперименте исследователи смогли исправить ошибки в семи популярных приложениях с открытым исходным кодом, используя 2-4 донора для каждого из них. На исправление каждой ошибки ушло от 2 до 10 минут. По словам исследователей, преимущество Code Phage заключается в том, что система может брать в качестве доноров программы, написанные на разных языках, лишь бы они работали аналогичным образом. В интернете находятся миллионы приложений, которые можно использовать в качестве доноров. Авторы работы считают, что изобретение позволит повысить надежность ПО и сократить время на его разработку. «В будущем вам не придется писать фрагмент кода, который кто-то уже написал до вас. Система сама найдет этот фрагмент и автоматически поместит его в вашу программу, чтобы она исправно работала», — поделился своим видением один из авторов проекта, профессор по вычислительной технике и электротехнике Массачусетского технологического института Мартин Ринард (Martin Rinard). Адрес новости: http://www.cnews.ru/news/top/index.shtml?2015/06/30/597051 |
Сообщ.
#2
,
|
|
|
ИИ всё ближе и ближе. Теперь программы могут учиться на чужих примерах и интегрировать их навыки себе в логику поведения.
|
Сообщ.
#3
,
|
|
|
Цитата Qraizer @ Да это как 1/n всё ближе и ближе к нулю. Толку маловато, хоть он и есть. ИИ всё ближе и ближе. |
Сообщ.
#4
,
|
|
|
МТИ трудится - может нам когда-нибудь покажут ИИ.
|