AI Briefing

AI가 레거시 COBOL 프로그램을 Java로 마이그레이션했지만 버그도 함께 옮겼다

·2026.08.03 12:06

AI 에이전트가 COBOL-Java 변환 결과를 자동 테스트해 코드 경로 커버리지를 높였다.

COBOL 레거시 프로그램을 Java로 변환할 때 발생하는 기능 불일치를 검증하기 위해, 연구진이 **‘Locksmith Loop’**라는 agentic test-synthesis 방법을 제안했다.

COBOL 원본과 생성된 Java 코드를 각각 계측·모킹한 뒤, 두 프로그램을 메인프레임 외부의 범용 하드웨어에서 실행한다. AI 에이전트는 입력 mock을 탐색해 새로운 분기 경로를 찾고, 기존 동작과의 패리티를 유지하는 변이를 반복 생성한다.

분기 탐색이 막히면 분석기가 더 깊은 탐색을 방해하는 조건인 **‘Locked Paragraph’**를 식별하고, 이를 바탕으로 추가 테스트 입력을 생성한다.

  • 오픈소스 프로그램 2개와 내부 프로덕션 유사 COBOL 프로그램 1개를 대상으로 평가했다.
  • 대상 규모는 430~4,114 소스 라인이었다.
  • 오픈소스 프로그램 2개에서는 거의 완전한 커버리지에 도달했다.
  • 내부 프로그램에서는 91.90% branch coverage를 달성했다.
  • 승인된 모든 테스트 케이스에서 생성된 Java가 COBOL 기준 구현과 결정론적으로 일치했다.

연구 결과는 AI 코딩 에이전트가 생성한 코드의 정확성을 검증할 때, 원본 레거시 프로그램을 결정론적 oracle로 활용하는 방법을 제시한다. 다만 평가 대상은 3개 프로그램에 한정된 초기 연구 결과다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.