← 최신 논문
💻 computer science

COBOLAssist: Analyzing and Fixing Compilation Errors for LLM-Powered COBOL Code Generation

이 논문은 LLM 이 생성한 COBOL 코드의 컴파일 오류를 분석하고, 컴파일 피드백을 기반으로 한 반복적 수정 프레임워크인 'COBOLAssist'를 제안하여 GPT-4o 등 주요 모델의 컴파일 성공률을 29.5%~41.8% 에서 64.38%~95.89% 로 획기적으로 개선하는 효과를 입증했습니다.

원저자: Anh T. V. Dau, Shin Hwei Tan, Jinqiu Yang, Nghi D. Q. Bui, Anh Tuan Nguyen

게시일 2026-04-07
📖 3 분 읽기☕ 가벼운 읽기

원저자: Anh T. V. Dau, Shin Hwei Tan, Jinqiu Yang, Nghi D. Q. Bui, Anh Tuan Nguyen

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

🏚️ 배경: 낡은 건물의 유지보수 문제

세상에는 은행, 보험, 정부 시스템 등 아주 중요한 일을 처리하는 COBOL이라는 오래된 컴퓨터 언어로 만들어진 프로그램들이 수백억 줄이나 돌아갑니다. 마치 1950 년대에 지어진 거대한 낡은 빌딩 같은 것이죠.

하지만 문제는 이 빌딩을 수리할 줄 아는 **전문 기술자 (개발자)**가 점점 사라지고 있다는 점입니다. 젊은이들은 이 낡은 언어를 배우기 싫어하고, 기존 기술자들은 은퇴합니다.

🤖 인공지능의 등장과 함정

그래서 연구자들은 "인공지능 (AI) 이 대신 코드를 짜주면 어떨까?"라고 생각했습니다. 하지만 AI 가 COBOL 코드를 작성하면 매우 엉망진창이 됩니다.

  • 비유: AI 는 최신 언어 (Python 등) 는 잘 하지만, 낡은 COBOL 언어의 엄격한 규칙을 잘 모릅니다. 마치 현대식 건축가에게 1950 년식 목조 주택 설계도를 그리라고 시켰을 때, 벽을 너무 높게 짓거나 문이 없는 방을 만들어 버리는 것과 비슷합니다.
  • 결과: AI 가 만든 코드는 컴퓨터가 실행조차 못 하는 (컴파일 오류) 경우가 70% 이상이나 됩니다.

🔍 연구 1: AI 가 주로 어떤 실수를 할까? (RQ1)

연구팀은 AI 가 만든 코드를 분석해서 실수 유형을 세 가지로 분류했습니다.

  1. 불완전한 코드 (Incomplete Code): 문장이 중간에 끊기거나, '끝'을 나타내는 표시를 안 하는 실수입니다. (예: "문장을 끝내세요"라는 말 없이 갑자기 다음 문장으로 넘어가는 것)
  2. 문법 오류 (Syntax Errors): COBOL 의 딱딱한 규칙을 어긴 것입니다. (예: COBOL 에서는 특정 명령어를 특정 순서로만 써야 하는데, AI 가 순서를 뒤섞음)
  3. 형식 관련 오류 (Type-related Errors): 숫자 자리에 글자를 넣거나, 데이터 크기가 맞지 않는 실수입니다.

재미있는 발견: 인간 개발자는 잘 안 하는 실수 (예: 내장 함수를 잘못 쓰는 것) 를 AI 가 유독 많이 저지릅니다. AI 는 COBOL 의 '구조'를 이해하는 데 아직 약점이 있습니다.

🛠️ 해결책: 'COBOLAssist' (코볼어시스트)

이제 이 문제를 해결하기 위해 연구팀이 개발한 **'COBOLAssist'**라는 도구를 소개합니다.

  • 비유: 이 도구는 AI 를 위한 '엄격한 감수자 (편집자)' 역할을 합니다.
    1. AI 가 코드를 작성하면, 감수자가 (컴파일러) "여기 문법이 틀렸어요, 41 줄에 오류가 있어요"라고 피드백을 줍니다.
    2. AI 는 그 피드백을 보고 코드를 수정합니다.
    3. 다시 감수자가 확인하고, 고칠 게 있으면 또 피드백을 줍니다.
    4. 이 과정을 수차례 반복하면 AI 는 점점 더 정확한 코드를 만들어냅니다.

📈 결과: 얼마나 효과가 있을까? (RQ2)

이 방법을 적용한 결과는 놀라웠습니다.

  • 성공률 급상승: AI 가 처음에 코드를 작성했을 때 실행 가능한 비율은 40% 정도였는데, COBOLAssist 를 쓰면 95% 이상으로 뛔어 올랐습니다.
    • 비유: 처음에 100 명 중 40 명만 건물을 제대로 지었는데, 감수자가 도와주니 100 명 중 95 명이 완벽하게 지은 셈입니다.
  • 기능성 향상: 단순히 문법만 고친 게 아니라, 실제로 작동하는 프로그램 (Pass@1) 도 2 배 이상 늘어났습니다.

🧐 남은 과제 (RQ3)

하지만 완벽하지는 않습니다.

  • 남은 문제: AI 는 간단한 문법 오류는 잘 고치지만, 복잡한 논리 구조의미가 통하지 않는 오류는 여전히 고치기 힘들어합니다.
  • 비유: 벽돌을 바르게 쌓는 것은 잘하지만, "왜 이 방은 창문이 없어야 하는지" 같은 건축의 철학이나 맥락을 이해하는 데는 아직 한계가 있습니다.

💡 결론: 왜 이 연구가 중요한가?

이 논문은 **"AI 가 낡은 시스템을 고칠 수 있지만, 그 자체로는 부족하고 인간의 피드백 (컴파일러 오류 메시지) 이 필요하다"**는 것을 증명했습니다.

  • 의미: 앞으로 은행이나 정부 같은 곳에서 COBOL 시스템을 유지보수할 때, AI 를 그냥 믿고 맡기는 게 아니라, AI 가 실수하면 바로 고쳐주는 '자동 수정 시스템'을 함께 쓰면 훨씬 효율적으로 낡은 시스템을 현대화할 수 있다는 희망을 보여줍니다.

한 줄 요약:

인공지능이 낡은 언어 (COBOL) 로 코드를 짤 때 자주 실수하지만, 컴퓨터가 알려주는 '오류 메시지'를 반복해서 보여주면 AI 가 스스로 고쳐서 거의 완벽하게 만든다는 것을 발견했습니다!

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →