Технологии / На русском

ИИ научили проверять перенос программ с COBOL на Java без исходных тестов

Исследователи предложили агентный метод Locksmith Loop, который автоматически ищет сложные ветви старого COBOL-кода и проверяет, одинаково ли ведёт себя перенесённая версия на Java.

При миграции старых корпоративных программ часто отсутствуют полноценные тестовые данные, поэтому сгенерированный ИИ код может повторять старые ошибки или добавлять новые. Метод запускает исходную программу COBOL и Java-версию в отдельных средах, создаёт входные данные для прохождения ещё не проверенных ветвей и сравнивает результаты.

В трёх экспериментах с программами объёмом от 430 до 4114 строк метод обеспечил почти полное покрытие двух открытых проектов и 91,9% ветвей внутренней программы, похожей на производственную. Во всех принятых тестах результат Java совпал с эталонным поведением COBOL.

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