핵심 개념
기능형 프로그래밍 언어인 Haskell에서 코드 완성 모델의 성능을 평가하고, 이를 통해 Haskell 코드 완성의 주요 어려움을 파악한다.
초록
이 연구는 Haskell 프로그래밍 언어에서 코드 완성 모델의 성능을 평가합니다. 두 가지 코드 완성 모델인 CodeGPT와 UniXcoder를 사용하여 실험을 진행했습니다.
먼저 Blastwind 데이터셋을 사용하여 모델을 fine-tuning했습니다. Blastwind 데이터셋은 Haskell 함수 구현체로 구성되어 있습니다. 이후 fine-tuned 모델과 base 모델을 Blastwind 테스트 셋과 직접 번역한 HumanEval-Haskell 데이터셋에 적용하여 성능을 평가했습니다.
Blastwind 데이터셋 평가 결과, fine-tuned 모델이 base 모델에 비해 크게 향상된 성능을 보였습니다. 이는 Haskell과 같은 기능형 언어에 대한 지식이 기존 모델에 충분히 반영되지 않았음을 시사합니다.
HumanEval-Haskell 데이터셋에 대한 수동 평가에서는 CodeGPT가 빈 예측을 많이 생성하는 반면, UniXcoder는 불완전하거나 잘못된 예측을 더 많이 생성하는 것으로 나타났습니다. 그러나 두 모델 모두 Haskell 코드 완성의 특정 측면에서 뛰어난 성능을 보이지 않았습니다. 이는 Haskell에 대한 고품질 데이터셋과 모델 개선이 필요함을 시사합니다.
통계
Haskell 함수 구현체 데이터셋인 Blastwind에는 총 277,337개의 샘플이 포함되어 있습니다.
HumanEval-Haskell 데이터셋은 164개의 Haskell 함수로 구성되어 있습니다.