Daily Arxiv

전 세계에서 발간되는 인공지능 관련 논문을 정리하는 페이지 입니다.
본 페이지는 Google Gemini를 활용해 요약 정리하며, 비영리로 운영 됩니다.
논문에 대한 저작권은 저자 및 해당 기관에 있으며, 공유 시 출처만 명기하면 됩니다.

DynaCode: A Dynamic Complexity-Aware Code Benchmark for Evaluating Large Language Models in Code Generation

Created by
  • Haebom
Category
Empty

저자

Wenhao Hu, Jinhao Duan, Chunchen Wei, Li Zhang, Yue Zhang, Kaidi Xu

개요

본 논문은 기존의 정적인 코드 생성 벤치마크의 한계점을 극복하기 위해 동적인 복잡도 인식 벤치마크인 DynaCode를 제안합니다. 기존 벤치마크는 고정된 데이터셋으로 구성되어 있어 LLMs의 암기 학습 및 데이터 오염 문제를 야기하지만, DynaCode는 코드 복잡도와 콜 그래프 구조를 고려한 복잡도 인식 지표를 사용하여 LLMs를 체계적으로 평가합니다. 최대 1억 8900만 개의 고유한 중첩 코드 문제를 생성하며, 4가지 복잡도 수준과 16가지 유형의 콜 그래프를 포함합니다. 12개의 최신 LLMs에 대한 실험 결과, DynaCode는 기존 벤치마크인 MBPP+ 대비 평균 16.8%에서 45.7%의 성능 저하를 보이며, 복잡도가 증가할수록 성능 저하가 커지는 것을 확인했습니다. 이를 통해 DynaCode는 LLMs의 성능을 효과적으로 구분할 수 있음을 보여줍니다. 또한 콜 그래프를 활용하여 중첩 코드 내 하위 함수 상호 작용 처리에 대한 LLMs의 행동에 대한 통찰력을 제공합니다.

시사점, 한계점

시사점:
기존 정적 코드 생성 벤치마크의 한계점(암기, 데이터 오염)을 극복하는 새로운 동적 벤치마크 DynaCode 제시
코드 복잡도와 콜 그래프 구조를 고려한 복잡도 인식 평가 방식 제안
대규모 다양한 데이터셋을 통해 LLMs의 일반화 능력을 더욱 정확하게 평가 가능
LLMs의 중첩 코드 처리 방식에 대한 통찰력 제공
LLMs 간의 성능 차이를 효과적으로 구분
한계점:
DynaCode가 모든 유형의 코드 복잡성과 콜 그래프 구조를 완벽하게 포괄하는지는 추가 연구가 필요
DynaCode의 생성된 문제의 실제 코드 개발 시나리오와의 적합성에 대한 검증 필요
특정 유형의 코드나 콜 그래프 구조에 대한 편향 가능성 존재
👍