Skip to main content

생성형 AI의 테스트케이스 이해 및 활용 능력

· 6 min read
김정인
경북대학교 컴퓨터학부 소프트웨어테스팅연구실 석사과정생
경북대학교 컴퓨터학부 소프트웨어테스팅연구실 담당교수

논문 정보

  • 제목 (Title): 생성형 AI의 테스트케이스 이해 및 활용 능력 (A Study on the Capability of Generative AI to Understand and Utilize Test Cases)
  • 저자 (Authors) 및 소속 (Affiliations): 김정인 (경북대학교 컴퓨터학부), 이우진 (경북대학교 컴퓨터학부)
  • 학회 또는 저널명 (Conference or Journal Name): Korea Computer Congress 2025 (추정)
  • 제출일 또는 발행일 (Submission or Publication Date): 2025년 8월 21일 (추정)
  • 키워드 (Keywords): 생성형 AI, LLM, 테스트케이스, 코드 생성, 경쟁 프로그래밍, GPT-4.1, Zero-Shot 프롬프팅
  • 초록 (Abstract): LLM의 코드 생성 능력은 주목받고 있으나, 생성된 코드의 정확성과 신뢰성은 여전히 중요한 과제이다. 개발자의 신뢰도 향상 기법으로 활용되는 테스트케이스(TC)가 LLM의 코드 생성 정확도를 높일 수 있는지 알아보기 위해, 본 논문에서는 GPT-4.1 모델이 Zero-Shot 프롬프팅으로 경쟁 프로그래밍 문제를 해결하는 과정에서 TC 정보가 미치는 영향과 모델의 TC 생성 및 이해 능력을 분석한다.
  • 주요 연구 내용 (Main Research Content/Methodology):
    • 대상 모델 및 과제: GPT-4.1을 대상으로 경쟁 프로그래밍(CP) 문제 해결 능력을 평가했다.
    • 데이터셋: 백준 온라인 저지(BOJ)의 6개 알고리즘 유형(백트래킹, 이분 탐색, 비트 연산, 그리디, 수학, 정렬)에 대해 난이도(쉬움, 보통, 어려움)별로 각 3문제씩, 총 54개 문제를 선정했다.
    • 실험 설계: Zero-Shot 프롬프팅을 사용하여 세 가지 조건으로 코드 생성 정확도를 비교했다: 1) 문제 정의만 제공, 2) 문제 정의와 TC 함께 제공, 3) 입출력 조건과 TC만 제공.
    • TC 이해도 분석: TC 제공의 효과가 미미한 원인을 파악하기 위해, GPT-4.1의 Edge Case TC 생성 능력과 주어진 TC의 유효성을 검증하는 능력을 별도로 실험했다.
  • 주요 결과 및 결론 (Key Findings and Conclusion):
    • 전반적 성능 저하: TC를 추가로 제공하는 것이 GPT-4.1의 코드 생성 정답률을 전반적으로 향상시키지 못했다 (문제 정의만 제공 시 71.2%, TC 추가 시 69.9%).
    • 난이도별 영향: 쉬운 문제에서는 조건 간 성능 차이가 미미했으나, 보통 또는 어려운 문제에서는 TC를 추가할 경우 오히려 정답률이 감소하는 경향이 나타났다.
    • TC 이해 능력의 한계: GPT-4.1은 Edge Case TC를 정확하게 생성하거나 제공된 TC의 유효성을 올바르게 검증하는 데 명확한 한계를 보였다.
    • 결론: 현재 GPT-4.1은 개발자처럼 TC를 통해 문제의 요구사항이나 잠재적 오류를 추론하는 단계에 이르지 못했으며, TC 정보가 오히려 혼란을 야기할 수 있음을 시사한다.
  • 기여점 (Contributions):
    • LLM 코드 생성 과정에 TC를 직접 제공하는 방식의 효과를 실험적으로 검증하고, TC 정보가 항상 긍정적인 영향을 미치지 않는다는 것을 실증적으로 보였다.
    • 단순 코드 생성 능력 평가를 넘어 LLM의 TC 자체에 대한 생성 및 이해 능력을 분석하여, 성능 변화의 근본적인 원인을 탐구했다.
    • 일반 사용자의 활용 환경과 유사한 Zero-Shot 프롬프팅 조건에서 실험하여, 별도의 엔지니어링 없이 TC를 활용할 때의 한계점을 명확히 제시했다.
  • DOI (Digital Object Identifier): 정보 없음

요약

초록 (Abstract)

LLM의 코드 생성 능력은 주목받고 있으나, 생성된 코드의 정확성과 신뢰성은 여전히 중요한 과제이다. 개발자의 신뢰도 향상 기법으로 활용되는 테스트케이스(TC)가 LLM의 코드 생성 정확도를 높일 수 있는지 알아보기 위해, 본 논문에서는 GPT-4.1 모델이 Zero-Shot 프롬프팅으로 경쟁 프로그래밍 문제를 해결하는 과정에서 TC 정보가 미치는 영향과 모델의 TC 생성 및 이해 능력을 분석한다.

서론 (Introduction)

최근 대규모 언어 모델(LLM)은 방대한 코드 데이터셋 학습을 통해 코드 생성 분야에서 주목받고 있으며, 특히 명확한 요구사항이 존재하는 경쟁 프로그래밍(CP) 영역에서 그 능력을 검증하는 연구가 활발히 진행되고 있다. 그러나 LLM이 생성하는 코드는 통계적 패턴에 기반하기 때문에 논리적 결함이나 요구사항 누락이 발생할 수 있어 정확성과 신뢰성 문제가 제기된다.

소프트웨어 개발에서는 테스트 주도 개발(TDD) 방법론과 같이 테스트케이스(TC)를 먼저 정의하여 코드의 정확성을 높인다. 이러한 아이디어에 착안하여, 본 연구는 LLM에게 코드 생성 시 TC 정보를 제공하면 개발자처럼 이를 활용하여 더 정확한 코드를 생성할 것이라는 가설을 세웠다. 이에 따라 "LLM은 TC를 활용하여 코드의 정확성을 얼마나 향상시키는가?"와 "LLM은 TC에 내포된 요구사항을 정확히 이해하는가?"라는 두 가지 연구 질문을 설정하고 실험을 진행했다.

본론 (Main Content)

1. 테스트케이스 활용 능력 분석

실험 설계: 본 연구는 GPT-4.1 모델을 사용하여 백준 온라인 저지(BOJ)의 54개 CP 문제를 해결하는 실험을 설계했다. 문제는 6개의 주요 알고리즘 유형과 3개의 난이도(쉬움, 보통, 어려움)로 구성되었다. 실험은 Zero-Shot 프롬프팅을 기반으로 세 가지 조건으로 진행되었다:

  1. 문제 정의만 제공
  2. 문제 정의와 Edge Case를 고려한 5쌍의 입출력 TC를 함께 제공
  3. 문제의 핵심 내용인 입출력 조건과 TC만 제공

각 조건별로 20회씩 코드를 생성하여 BOJ 시스템에서 채점한 정답률을 비교했다.

실험 결과: 실험 결과, 전체 문제에 대한 평균 정답률은 '문제 정의만 제공'했을 때가 71.2%로 가장 높았으며, '문제 정의 + TC'는 69.9%, '입출력 정보 + TC'는 66.2%로 뒤를 이었다. 이는 TC 정보 추가가 전반적인 정답률 향상으로 이어지지 않았음을 의미한다.

특히 문제 난이도가 '보통'이나 '어려움'으로 높아질수록 TC를 추가했을 때 오히려 정답률이 감소하는 경향이 뚜렷하게 나타났다. 반면, 백트래킹이나 그리디 접근법과 같은 특정 알고리즘 유형에서는 소폭의 성능 향상이 관찰되기도 했다.

2. 테스트케이스 생성 및 이해 능력 분석

실험 설계: 앞선 실험에서 TC 제공이 성능 향상으로 이어지지 않은 원인을 탐색하기 위해, GPT-4.1의 TC 이해 및 생성 능력을 직접적으로 평가하는 추가 실험을 진행했다. 이전 실험에서 TC 제공 시 성능이 상승, 미미, 하락했던 문제 각 2개씩을 선정하여, 문제 정의만 제공했을 때와 정답 코드까지 함께 제공했을 때 각각 5개의 Edge Case TC를 생성하도록 요청했다. 또한, 정답 및 오답 TC 세트를 제시하고 유효성을 판단하는 검증 실험도 병행했다.

실험 결과: 실험 결과, GPT-4.1은 Edge Case에 해당하는 유효한 TC를 정확하게 생성하는 능력에 명확한 한계를 보였다. 또한, 주어진 TC 세트가 유효한지 검증하는 능력도 부족했으며, 기능적 요구사항을 이해한 것처럼 설명하면서도 실제 값은 부정확한 경우가 빈번했다.

흥미로운 점은, 정답 코드를 함께 제공했을 때 오히려 환각(Hallucination) 현상이 관찰되며 TC 생성 및 검증 정확도가 저하되었다는 것이다.

결론 (Conclusion)

본 연구는 GPT-4.1 모델이 Zero-Shot 환경에서 경쟁 프로그래밍 문제를 해결할 때, 테스트케이스(TC) 정보가 코드 생성 정확도에 미치는 영향을 분석했다. 실험 결과, 일반적인 기대와 달리 TC를 추가로 제공하는 것은 전반적인 성능 향상으로 이어지지 않았으며, 특히 문제가 복잡해질수록 오히려 성능을 저하시키는 요인으로 작용했다.

이러한 결과의 주된 원인은 GPT-4.1이 TC에 담긴 의도나 중요성을 깊이 이해하고 이를 문제 해결에 통합하는 능력이 아직 부족하기 때문으로 분석된다. 즉, LLM은 아직 개발자처럼 TC를 통해 문제의 제약 조건이나 잠재적 오류를 추론하는 단계에는 이르지 못했을 가능성이 크다.

본 연구의 결과는 특정 LLM(GPT-4.1), 프롬프팅 방식(Zero-Shot), 도메인(CP)에 한정될 수 있으므로 일반화에는 주의가 필요하다. 향후 연구에서는 다양한 LLM 모델과 정교한 프롬프팅 기법을 적용하여 TC 활용 전략의 효과를 다각도로 검증할 필요가 있다.

직접 쓴 논문이지만 처음 방향성과 달리 여러 번 전향하여 연구 내용과 양 자체가 아쉬웠다.

다음 논문에서는 조금 더 만반의 준비를 하여 연구 내용과 양을 늘려 더 나은 논문을 작성할 예정이다.