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

отметили
71
человек
в архиве
Создано программное обеспечение, способное исправлять ошибки в себе самом и в других программах без вмешательства человека
Группа исследователей из MIT представили программное обеспечение, которое способно динамически исправлять ошибки и уязвимости. Исправлять способно в любом коде, не обязательно в себе самом. Исходники не нужны. Только под Windows.

Оригинальный PDF c публикацией «Automatically Patching Errors in Deployed Software» вот здесь.

Область практической применимости очевидна и огромна. «Deployed Software» это коммерческий софт.
Утверждается, что лучше всего работает в кластерах, уязвимости обнаруженные на одном из хостов, автоматически накатываются на все остальные.

Идея такова: это самое «Deployed Software» постоянно мониторится на подозрительную активность, например переполнение буферов, подозрительные передачи управления и прочее некорректное поведение. Это само по себе не новость, обычно после обнаружения такой активности приложение прерывается, при повторении — блокируется.
Тут на самом деле две проблемы:
1. Если система high availability — ни о каком прерывании или блокировках не может быть и речи.
2. Скорость латания дыр в коммерческом софте не велика — буквально через месяц программисты выпускают патч.

Новость тут в том, что ClearView, так называется система, обещает чинить баги и устранять уязвимости в реальном времени без рестартов и человеческого вмешательства.
Добавил Vlad2000Plus Vlad2000Plus 2 Ноября 2009
Комментарии участников:
xiongmao
+3
xiongmao, 2 Ноября 2009 , url
обещанного как говорится до второго прихода ждут
Rational уже обещала такое и что мы имеем ?
а вопщето только быдлокодерам непонятно что кровавый фиксинг это зло, и возможно только на лиспе.
acefsm
+4
acefsm, 2 Ноября 2009 , url
да lisp рулит
в пример — исправление ошибки на удаленном спутнике
И даже более впечатляющий пример удаленной отладки произошел в миссии NASA «Deep Space 1» в 1998 году. Через полгода после запуска космического корабля, небольшой код на Lisp должен был управлять космическим кораблем в течении двух дней для проведения серии экспериментов. Однако, неуловимое состояние гонки (race condition) в коде не было выявлено при тестировании на земле и было обнаружено уже в космосе. Когда ошибка была выявлена в космосе (100 миллионов миль от Земли) команда смогла произвести диагностику и исправление работающего кода, что позволило завершить эксперимент15). Один из программистов сказал об этом следующее:

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


Practical Common Lisp — перевод catap
comander
-2
comander, 2 Ноября 2009 , url
ерунда какая-то
www.metallibrary.ru-balrog.id
+7
www.metallibrary.ru-balrog.id, 2 Ноября 2009 , url
переполнение буферов, подозрительные передачи управления
Это не самые частые источники багов в коммерческом софте. В Java, например, это вообще разруливается на уровне языка (исключения), а многие сервера приложений написаны на Java.
Большинство багов — неправильная реализация алгоритма бизнес-процесса, а это автоматически разрулить не реально. Выявить их ещё можно с помощью комплексного тестирования, но исправить — вряд ли.
comander
+2
comander, 2 Ноября 2009 , url
а потом девелоперы изучают логи с этими эксепшинами и чешут репу :) сомнительное разрулиывание.
но на счет бизнес-логики поддержу. технические проблемы — это фигня по сравнению с одной маленькой недоработкой на этапе анализа бизнеспроцесса. например заказчик не вспомнил вовремя какую-то деталь… через полгода эксплуатации всплывает несколько тысяч логически неверных записей в БД, на которых уже пара квартальных отчетов построено…
и так везде :)
www.metallibrary.ru-balrog.id
0
www.metallibrary.ru-balrog.id, 3 Ноября 2009 , url
а потом девелоперы изучают логи с этими эксепшинами и чешут репу
Это лучше, чем копаться в core dump.
Кстати, видео на тему.
Beast
+4
Beast, 2 Ноября 2009 , url
Винда начнет себя исправлять и намертво зависнет в бесконечном цикле :)))
twist111.livejournal.com
+2
twist111.livejournal.com, 2 Ноября 2009 , url
Когда ж уже скайнет?
ch3
+1
ch3, 2 Ноября 2009 , url
Батлерианский джихад грядет!
PS автоисправление это мечта со времен расцвета НФ
evilKabab
+2
evilKabab, 2 Ноября 2009 , url
Две мысли:
1. Скоро уволят всех QA.
2. Уволят и программистов. Достаточно будет написать main {} и "программное обеспечение" доисправит его до уровня готовой аппликации, операционной системы например.


Войдите или станьте участником, чтобы комментировать