우리는 COBOL-to-Python 엔진을 15,552개의 실제 프로그램에 검증했습니다. 98.78%가 유효한 Python을 생성합니다. LLM은 전혀 사용되지 않았습니다.
Source: Dev.to
코퍼스
15,552개의 COBOL 소스 파일 – 합성 벤치마크가 아니라, 5개 대륙에 걸친 131개의 오픈‑소스 리포지터리에서 수집한 실제 프로그램:
- 노르웨이, 프랑스, 브라질, 인도, 일본, 미국
- GitHub, HuggingFace, CBT Tape, GnuCOBOL, IBM 공개 리포지터리
- 상용 COBOL, GnuCOBOL 확장, TypeCOBOL, 메인프레임 방언
선택 편향 없음, 큐레이션된 샘플 없음 – 찾을 수 있었던 모든 것.
결과
| 버전 | 처리된 파일 수 | 유효한 Python | 실패 | 순증가 |
|---|---|---|---|---|
| v5.6 (이전) | 14,508 | 14,020 (96.84 %) | – | – |
| v5.8e (이후) | 15,552 (+1,044) | 15,362 (98.78 %) | 456 | +1,342 파일 |
원본 v5.7 레퍼런스 코퍼스에서는 성공률이 99.25 %였으며, 289건의 실패 중 180건이 단일 세션에서 수정되었습니다.
“유효한 파이썬”이란 무엇인가
우리는 LLM, 문자열 비교, 또는 스타일 검사를 사용하지 않습니다. 검증은 ast.parse() 로 수행됩니다:
- 생성된 파이썬 코드가
SyntaxError를 발생시키지 않고 파싱되면 유효한 것으로 간주됩니다. SyntaxError가 발생하면 실패합니다.
이 이진적이고 결정적인 검사는 해석이나 환상의 여지를 전혀 남기지 않습니다.
무엇이 실패하고 왜
190개의 파일이 여전히 실패합니다. 이들의 분류는 다음과 같습니다:
| 카테고리 | 대략적인 개수 | 전형적인 문제 |
|---|---|---|
| TypeCOBOL | ~60 | 다중 레벨 자격, REPLACE, 타입된 표현식 |
| GnuCOBOL extensions | ~40 | GUI, 비트 연산 조합, 객체 지향, SCREEN SECTION |
| Non‑standard COBOL | ~30 | WebSocket, brainfuck 인터프리터, .NET GUI |
| Deep STRING/UNSTRING | ~25 | 이색 메인프레임 구조 |
| Exotic mainframe | ~35 | 복잡한 중첩, 다중 구분자 |
| CICS inline / EXEC SQL | – | 복잡한 EXEC SQL, 중첩된 카피북 |
이것들은 파싱 버그가 아니라 표준 COBOL 파서가 처리할 수 있는 범위의 외곽에 위치한 구조물입니다. 파서가 이해하지 못한 부분은 정리 도구가 수정할 수 없습니다. 우리는 현재 이를 적극적으로 해결하고 있습니다.
작동 원리
AGUELLID CODE는 COBOL을 Python으로 직접 변환하지 않습니다. 그것은:
- COBOL을 의미론적 중간 표현으로 변환합니다.
- 행동‑별로, 라인‑별이 아닌, 증명 가능한 동등성을 가진 Python을 생성합니다.
신경망, 프롬프트, 또는 샘플링이 포함되지 않습니다. 변환은 결정적이며, 동일한 입력은 항상 동일한 출력을 생성하고, 이는 감사 및 추적이 가능합니다. 블랙 박스가 없습니다.
왜 이것이 중요한가
- 추정 2,200억 줄의 COBOL이 여전히 운영 중입니다.
- 대부분은 조직이 더 이상 유지 관리할 수 없는 시스템에서 실행되며, 원래 엔지니어들은 은퇴했고 문서는 불완전합니다.
- 이 코드를 현대화하는 것은 많은 산업에 있어 생존 문제이며, 스타일 선택이 아닙니다.
현재 접근 방식
- 수동 재작성 – 비용이 많이 들고, 느리며, 오류가 발생하기 쉽습니다.
- LLM 번역 – 비결정적이며, 감사 불가능하고, 레거시 구문에서 환각 위험이 높습니다.
- 트랜스파일러 – 깨지기 쉽고, 얕으며, 복잡한 구조에서 실패합니다.
AGUELLID CODE는 98.78 % 성공률(15,552개의 실제 파일)과 LLM 전혀 사용하지 않음을 제공하는 결정론적이고 감사 가능한 솔루션을 제공합니다.
다음은 무엇인가
남은 190개의 실패는 특정 파서 격차에 해당합니다. 우리는 이들을 이득/위험 비율에 따라 해결하고 있으며, 일부 TypeCOBOL 패턴만으로도 단일 마이크로‑패치를 통해 20–30개의 파일을 복구할 수 있습니다.
목표: 전체 확장 코퍼스에서 99.2 %–99.5 % 성공률 달성.
포지는 아직도 불타고 있습니다.
KIVUMIA — AGUELLID CODE v5.8e
검증일: 2026‑04‑05 03:27 UTC
코퍼스: 131개 소스, 15,552개 파일, 5대륙
엔진: 결정론적, LLM 없음
