
아메리칸익스프레스 연구진이 arXiv에 공개한 논문에 따르면, COBOL 프로그램을 Java로 옮긴 뒤 두 구현의 동작 일치를 검증하는 에이전트형 테스트 기법 ‘Locksmith Loop’가 제안됐다. AI 에이전트가 테스트로 도달하기 어려운 실행 경로를 여는 변경안을 만들고, 결정론적 도구가 컴파일과 동작 일치 여부를 판정하는 구조다.
연구진은 AI가 이관된 프로그램을 직접 작성하고 스스로 정답을 판정하도록 두지 않았다. COBOL 원본과 생성된 Java 대상은 같은 입력과 모의 외부 환경에서 실행된다. ‘패리티 게이트’는 두 프로그램이 들어간 코드 구간, 외부 작업의 순서, 최종 상태를 비교해 차이가 있는 제안을 거부한다. AI 기반 ‘저작 계층’은 일반적인 입력 탐색이 막혔을 때만 테스트 하네스나 변환기의 변경안을 제시한다.
실험 대상은 공개 COBOL 배치 프로그램 2개와 내부 생산환경 유사 프로그램 1개였다. 코드 규모는 430줄에서 4천114줄까지다. 연구진은 입력 조합 탐색과 퍼징 등 여러 방법이 비슷한 지점에서 커버리지 한계에 도달하면, AI 에이전트가 COBOL과 Java 양쪽에 대칭적인 변경을 적용해 이전에는 접근할 수 없던 경로를 연다고 설명했다. 새 경로가 추가되고 패리티 검사를 통과한 변경만 남는다.
430줄 규모 공개 프로그램에서는 문단과 전이 커버리지 100%, 분기 커버리지 96.8%를 기록했다. 다른 공개 프로그램의 분기 커버리지는 74.0%였으며, AI 기반 변경 단계가 기존 탐색만으로 도달하지 못한 문단 8개와 전이 19개를 추가로 열었다. 연구진은 이 사례에서 에이전트가 앞선 변경의 학습을 관련 경로에 적용하지 못해 사람이 개입한 경우도 있었다고 밝혔다.
4천114줄 규모 내부 생산환경 유사 프로그램에서는 분기 432개 가운데 397개를 실행해 분기 커버리지 91.90%를 기록했다. 문단 커버리지는 95.1%, 전이 커버리지는 69.2%였다. 전체 166개 테스트는 세 가지 패리티 기준을 모두 통과했다. 이 실험은 사람 개입 없이 진행됐지만, 연구진은 남은 경로가 파일과 데이터베이스의 모의 응답을 정교하게 조정해야 하는 구조 뒤에 있었다고 설명했다.
검증 과정에서는 스트림 종료 방식, 제어 흐름, 데이터 배치와 자료형, 데이터베이스·모의 백엔드 동작, 파일 입출력 순서 등에서 차이가 발견됐다. 연구진은 이런 차이를 생성된 Java 코드에 개별적으로 덧대는 대신 변환기나 COBOL 모의 환경을 수정한 뒤 다시 검사했다. AI의 제안을 실행 결과로 걸러내는 방식이 핵심인 셈이다.
다만 패리티 통과가 프로그램의 의미적 정확성을 뜻하지는 않는다. 논문은 기존 COBOL을 기준으로 삼기 때문에 오래된 시스템에 버그가 있으면 Java 구현도 같은 버그를 재현한다고 명시했다. 이 방식은 기능을 개선하는 재설계보다 기존 동작을 그대로 옮기는 호환성 이관에 적합하다. 정확성 자체를 검증하려면 별도의 외부 명세가 필요하다.
연구 범위도 제한적이다. 실험은 3개 프로그램에 그쳤고, 높은 분기 커버리지가 모든 결함 탐지를 보장하지 않는다. 패리티 게이트가 관찰하지 않는 중간 상태나 부동소수점 반올림, JVM 고유 예외 경로에서는 동작 차이를 놓칠 가능성도 있다. 내부 생산환경 유사 프로그램의 세부 코드는 공개되지 않았으며, 논문은 arXiv 초고로 공개돼 동료평가 완료 여부가 확인되지 않았다.
이번 연구는 AI 코딩 에이전트의 신뢰성을 모델의 자체 판단이 아니라 실행 가능한 검증 기준으로 통제하려는 흐름을 보여준다. 레거시 시스템 이관에서는 새 코드가 더 그럴듯해 보이는지보다, 실제 운영에서 축적된 예외 동작까지 어디까지 재현했는지를 확인하는 절차가 중요하다. 동시에 호환성과 정확성을 분리해 다루지 않으면 오래된 결함까지 현대 시스템에 고정할 수 있다는 점도 드러난다.
출처: 아메리칸익스프레스 연구진 논문 https://arxiv.org/abs/2607.28271
출처: 논문 HTML 본문 https://arxiv.org/html/2607.28271
출처: 논문 PDF https://arxiv.org/pdf/2607.28271v1









