Разработана система для автоматического переноса старого кода в новое ПО
Команда исследователей из Лаборатории искусственного интеллекта Массачусетского технологического института (CSAIL) представила новую систему для автоматического переноса кода из одной программы в другую. Система, получившая название CodeCarbonCopy (CCC), способна сравнивать исполнение двух программ, а затем переносить имена переменных, представление данных и другие значения из кода программы-донора в код программы-хоста.
Для выполнения данных задач требуется понимание процессов в работе программ, например, как именно определенная переменная в определенном контексте будет влиять на работу ПО. CCC решает данную проблему, отправляя программам один и тот же входной файл и наблюдая за их работой, в результате получая символьное отображение каждого значения, вычисляемого обеими программами. CCC также может идентифицировать функции донорского кода, не являющиеся полезными для программы-хоста.
Исследователи провели серию экспериментов по переносу кода между шестью реальными программами, в числе которых были VLC, mtPaint и MPlayer. В семи случаях из восьми эксперимент прошел успешно и функциональность программ не была нарушена. Неудача была обусловлена тем, что CCC не смогла перенести код из программы mtPaint в bmp2tiff из-за ряда специфических особенностей структурирования данных.
Тем не менее система все же требует значительного человеческого участия. Программист должен определить, какой именно код должен быть перенесен, проверить данные на релевантность, а впоследствии протестировать работоспособность программы-хоста. Также эксперты отметили, что перенос кода с помощью CCC занимает сравнительно много времени - один из экспериментов занял порядка 12 минут.
VLC (VideoLAN Client) — свободный кроссплатформенный медиаплеер. mtPaint — растровый графический редактор. MPlayer — кроссплатформенный медиаплеер.
Читайте также
- Ошибка в API Facebook предоставляла доступ к фото 6,8 млн пользователей
- Одного ноутбука оказалось достаточно для компрометации всей корпоративной сети
- Депутаты Госдумы разработали план по обеспечению работы Рунета на случай отключения от Сети
- Морские суда часто подвергаются кибератакам
- 25 декабря состоится встреча сообщества специалистов по кибербезопасности АСУ ТП / RUSCADASEC
- Уязвимость в приложении Logitech позволяла удаленно инициировать нажатие клавиш