PyMETA: Python 인터프리터 기반 레이블을 활용한 계층적 학생 코드 오류 분류를 위한 벤치마크 데이터셋
요약
학생들의 Python 코드 오류를 계층적으로 분류하기 위한 대규모 벤치마크 데이터셋인 PyMETA를 제안합니다. 48,646개의 샘플을 포함하며, LLM의 코드 오류 분류 성능과 한계를 분석하여 연구 기반을 제공합니다.
핵심 포인트
- 48,646개의 학생 제출물을 포함한 대규모 Python 오류 데이터셋 PyMETA 공개
- Python 예외 계층 구조에 기반한 3단계 계층적 분류 체계 적용
- Gemini 2.5 Pro가 다중 오류 프롬프팅에서 가장 우수한 성능 기록
- LLM이 코드를 논리 오류(Logic Error)로 과잉 분류하는 경향 확인
대규모 언어 모델 (LLMs)의 발전과 함께, 코드 오류 탐지는 전통적인 IDE 진단을 넘어 교육적 시나리오에서의 문맥 민감형 디버깅(context-sensitive debugging)으로 확장되었습니다. 그러나 기존 방식들은 대규모 데이터셋, 다중 오류 분석(multi-error analysis), 그리고 통합된 오류 분류 체계(error taxonomies)가 부족한 실정입니다. 이를 해결하기 위해, 우리는 48,646개의 학생 제출물을 포함하는 대규모 Python 코드 오류 분류 데이터셋인 PyMETA를 소개합니다. 이 데이터셋은 모든 샘플에 대한 단일 오류 레이블(single-error labels)과 97개의 전문가 주석이 달린 다중 오류 샘플로 구성된 진단 서브셋(diagnostic subset)을 제공합니다. 이 데이터셋은 이진 오류/무오류(error/no-error) 분할부터 Python의 공식 예외 계층 구조(exception hierarchy)에 기반한 14가지 세부 오류 유형에 이르기까지 3단계 계층적 분류 체계를 사용합니다. 우리는 두 개의 미세 조정(finetuned) 모델과 프롬프팅(prompting)을 사용하는 네 개의 LLM을 대상으로 다단계 분류 작업을 평가하여, 이들의 분류 성능과 실행 비용(runtime cost)을 비교했습니다. 다중 오류 프롬프팅의 경우, 가장 우수한 모델인 Gemini 2.5 Pro는 "포함(contains)" 기준 하에서 81.8%의 macro F1을 달성했습니다. 우리는 다음과 같은 사실을 관찰했습니다: 1) 프롬프팅된 LLM은 여전히 미세 조정된 더 작은 모델보다 성능이 낮습니다; 2) 모델들은 오류 유형에 따라 상당한 격차를 보입니다; 3) 대부분의 LLM은 코드를 논리 오류(Logic Error)로 과잉 분류하며, GPT-3.5가 가장 높은 논리 오류 과잉 예측률(Logic Error Overprediction Rate)을 보였고 Gemini 2.5 Pro가 가장 낮았습니다. 우리의 연구는 데이터 기반을 구축하고 LLM 기반의 코드 오류 연구를 위한 통찰력을 제공합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기