AI가 레거시 COBOL 프로그램을 Java로 마이그레이션했는데, 버그도 함께 옮겨왔다
AI migrated legacy COBOL programs to Java, bugs included

레거시 COBOL 프로그램을 Java로 전환하는 것은 방대한 테스트를 필요로 하지만, 테스트 데이터 부족과 모든 경계 조건 검증의 어려움으로 복잡해진다. 이 논문은 'Locksmith Loop'라는 새로운 에이전트 기반 테스트 합성 방법을 제안한다. COBOL 소스와 생성된 Java 타깃 각각에 목(mock)을 장착하고 오프메인프레임 환경에서 실행한 뒤, 반복적인 에이전트 루프가 입력 목을 탐색하며 분기를 관통하고 패리티 보존 변이를 수행한다. 라우팅 경계에 도달하면 분석기가 더 깊은 탐색을 막는 조건인 'Locked Paragraph'를 식별한다. 430~4,114줄 규모의 세 가지 COBOL-Java 사례 연구에서, Locksmith는 입력 탐색 정체 지점을 넘어 두 오픈소스 프로그램에서 거의 완전한 커버리지에 도달했고, 내부 프로덕션 유사 COBOL 프로그램에서는 91.90%의 분기 커버리지를 달성했다. 생성된 Java는 모든 수용된 테스트 케이스에서 결정론적 패리티 검사를 통과했다. 이는 에이전트 코딩 출력을 결정론적 오라클로 검증하는 새로운 접근법을 보여준다.
생성된 Java는 모든 수용된 테스트 케이스에서 결정론적 패리티 검사를 통해 COBOL 참조 구현과 일치했다.