[논문 리뷰] ComFormer: Code Comment Generation via Transformer and Fusion Method-based Hybrid Code Representation
ComFormer는 AST 탐색을 통한 Sim_SBT와 Byte-BPE를 이용한 식별자 서브워드 토큰화를 통해 어휘적 및 구문적 코드 특징을 융합하는 하이브리드 코드 표현 방식을 결합한 Transformer 아키텍처를 사용하는 새로운 코드 주석 생성 모델을 제안한다. 이는 대규모 자바 코퍼스에서 최신 기술(SOTA) 성능을 달성하여 BLEU, METEOR, ROUGE-L 지표에서 일곱 개의 SOTA 기준 모델을 초월하며, 인간 평가를 통해 높은 수준의 주석 품질을 확인하였다.
Developers often write low-quality code comments due to the lack of programming experience, which can reduce the efficiency of developers program comprehension. Therefore, developers hope that code comment generation tools can be developed to illustrate the functionality and purpose of the code. Recently, researchers mainly model this problem as the neural machine translation problem and tend to use deep learning-based methods. In this study, we propose a novel method ComFormer based on Transformer and fusion method-based hybrid code presentation. Moreover, to alleviate OOV (out-of-vocabulary) problem and speed up model training, we further utilize the Byte-BPE algorithm to split identifiers and Sim_SBT method to perform AST Traversal. We compare ComFormer with seven state-of-the-art baselines from code comment generation and neural machine translation domains. Comparison results show the competitiveness of ComFormer in terms of three performance measures. Moreover, we perform a human study to verify that ComFormer can generate high-quality comments.
연구 동기 및 목표
- 개발자의 경험 부족 및 시간 제약으로 인한 낮은 품질 또는 누락된 코드 주석 문제를 해결하기 위해.
- 소스 코드에 대해 정확하고 기능적인 주석을 자동으로 생성하여 프로그램 이해 효율을 향상시키기 위해.
- 기존 방법의 한계, 예를 들어 OOV(어휘 외 단어) 문제 및 구문적 구조 처리 부족 문제를 극복하기 위해.
- 어휘적 및 구문적 코드 표현을 효과적으로 융합하는 강력한 엔드 투 엔드 딥 러닝 모델을 개발하기 위해.
- 자동화된 지표와 인간 평가를 통해 모델의 성능을 검증하기 위해.
제안 방법
- 시퀀스 투 시퀀스 코드 주석 생성을 위해 Transformer 기반 인코더-디코더 아키텍처를 사용한다.
- AST 기반(구문적) 특징과 토큰 수준(어휘적) 특징을 융합하는 하이브리드 코드 표현 방식을 도입하며, AST 탐색에 Sim_SBT를 활용한다.
- 식별자에 대해 Byte-BPE 알고리즘을 적용하여 서브워드 인코딩을 수행함으로써 학습 중 OOV 문제를 감소시킨다.
- 어휘적 및 구문적 표현을 융합하기 위한 세 가지 전략—Jointly Encoder, Shared Encoder, Single Encoder—을 탐색한다.
- 두 가지 코드 표현으로부터 공동으로 학습하는 Single Encoder 융합 방식을 사용하며, 이는 가장 뛰어난 성능을 달성한다.
- 학습 및 평가를 위해 후 등 등이 제공한 대규모 고품질 자바 코드-주석 데이터셋(485,812개의 쌍)을 활용한다.

실험 결과
연구 질문
- RQ1하이브리드 코드 표현 방식을 사용하는 Transformer 기반 모델이 기존 SOTA 기준 모델보다 코드 주석 생성에서 뛰어난 성능을 내는가?
- RQ2어휘적 및 구문적 코드 표현 융합 전략의 차이가 모델 성능에 어떤 영향을 미치는가?
- RQ3Byte-BPE 서브워드 토큰화가 코드 주석 생성에서 OOV 문제를 어느 정도 완화하는가?
- RQ4긴 메서드에 대해서도 ComFormer이 잘 일반화되는가, 특히 긴 코드 길이에 대해 어떻게 성능을 유지하는가?
- RQ5인간 평가에서 ComFormer은 주석의 품질과 관련성 측면에서 베스트라인 모델인 Hybrid-DeepCom과 비교해 어떻게 성능을 내는가?
주요 결과
- ComFormer는 코드 주석 생성 분야의 일곱 개의 SOTA 기준 모델과 신경 기계 번역 모델을 모두 상회하는 BLEU, METEOR, ROUGE-L 세 가지 표준 지표에서 뛰어난 성능을 기록하였다.
- Single Encoder 융합 전략이 Jointly 및 Shared Encoder 설정을 모두 능가하는 최상의 성능을 기록하였다.
- 긴 코드 스니펫(최대 125 토큰)에서도 강력한 성능을 유지하였지만, 데이터 희소성으로 인해 그 이상의 길이에서는 성능이 약간 떨어졌다.
- 인간 평가를 통해 ComFormer이 생성한 주석은 인간 평가자들로부터 Hybrid-DeepCom(가장 뛰어난 성능을 보인 베스트라인)보다 더 정확하고 자연스럽다고 평가받았다.
- Byte-BPE를 통해 OOV 용어에 대한 강건성을 확보하여 학습 및 추론 과정에서 어휘 관련 문제를 크게 감소시켰다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.