Skip to main content
QUICK REVIEW

[논문 리뷰] An Extractive-and-Abstractive Framework for Source Code Summarization

Weisong Sun, Chunrong Fang|arXiv (Cornell University)|2022. 06. 15.
Software Engineering Research인용 수 4
한 줄 요약

이 논문은 딥러닝 기반 문장 추출과 개괄적 생성을 결합한 새로운 추출형 및 개괄형 프레임워크인 EACS를 제안한다. 전체 코드 스니펫과 추출된 중요한 문장을 함께 처리함으로써, 여섯 가지 프로그래밍 언어와 세 개의 데이터셋에서 최신 기술보다 더 자연스럽고 정보가 풍부하며 사실적으로 정확한 요약을 생성한다. BLEU, METEOR, ROUGE-L 지표에서 기존 기법을 능가하며, 인간 평가에서도 뛰어난 품질을 보였다.

ABSTRACT

(Source) Code summarization aims to automatically generate summaries/comments for a given code snippet in the form of natural language. Such summaries play a key role in helping developers understand and maintain source code. Existing code summarization techniques can be categorized into extractive methods and abstractive methods. The extractive methods extract a subset of important statements and keywords from the code snippet using retrieval techniques, and generate a summary that preserves factual details in important statements and keywords. However, such a subset may miss identifier or entity naming, and consequently, the naturalness of generated summary is usually poor. The abstractive methods can generate human-written-like summaries leveraging encoder-decoder models from the neural machine translation domain. The generated summaries however often miss important factual details. To generate human-written-like summaries with preserved factual details, we propose a novel extractive-and-abstractive framework. The extractive module in the framework performs a task of extractive code summarization, which takes in the code snippet and predicts important statements containing key factual details. The abstractive module in the framework performs a task of abstractive code summarization, which takes in the entire code snippet and important statements in parallel and generates a succinct and human-written-like natural language summary. We evaluate the effectiveness of our technique, called EACS, by conducting extensive experiments on three datasets involving six programming languages. Experimental results show that EACS significantly outperforms state-of-the-art techniques in terms of all three widely used metrics, including BLEU, METEOR, and ROUGH-L.

연구 동기 및 목표

  • 기존의 추출형 및 개괄형 코드 요약 기법의 한계를 해결하기 위해, 자연스러움이 떨어지거나 사실 정보를 누락하는 문제를 해결하고자 한다.
  • 추출형 기법의 사실 정확성과 개괄형 기법의 유창성을 결합하여 코드 요약을 향상시키고자 한다.
  • 추출형 및 개괄형 구성 요소를 통합한 확장성 있고 모듈러한 프레임워크를 개발하여 요약 품질을 향상시키고자 한다.
  • 다양한 프로그래밍 언어에서 다양한 데이터셋을 대상으로 프레임워크를 평가하여 일반화 능력과 강건성을 확보하고자 한다.

제안 방법

  • 추출 모듈은 딥러닝 기반 분류기를 사용하여 입력 코드 스니펫에서 핵심 사실 정보를 담고 있는 문장을 식별하고 추출한다.
  • 개괄 모듈은 전체 코드 스니펫과 추출된 중요한 문장을 병렬 입력으로 받아 자연어 요약을 생성한다.
  • 프레임워크는 코드와 중요한 문장을 별도로 인코딩한 후 융합하여 요약 생성을 수행하는 듀얼 인코더 아키텍처를 사용한다.
  • 개괄 모듈은 어텐션 메커니즘을 갖춘 시퀀스 투 시퀀스 모델을 활용하여 자연스럽고 인간이 작성한 것 같은 요약을 생성한다.
  • 모델은 모듈러하고 확장 가능한 아키텍처로 설계되어 있으며, 다양한 사전 학습 모델이나 향후 대규모 언어 모델(Large Language Models, LLMs)과의 통합이 가능하다.
  • 모델은 엔드 투 엔드로 학습되며, 시퀀스 생성 손실을 사용하여 사실 완전성과 자연어의 유창성을 동시에 최적화한다.
Figure 1. Example of Code Snippet and Summary
Figure 1. Example of Code Snippet and Summary

실험 결과

연구 질문

  • RQ1순수하게 추출형 또는 개괄형 기법과 비교해 볼 때, 하이브리드 추출형-개괄형 프레임워크는 코드 요약의 사실 정확성과 자연스러움을 향상시킬 수 있는가?
  • RQ2전체 코드와 추출된 문장을 함께 처리하는 방식이 여러 프로그래밍 언어에서 요약 품질에 어떤 영향을 미치는가?
  • RQ3EACS는 BLEU, METEOR, ROUGE-L와 같은 표준 평가 지표에서 최신 기술을 얼마나 뛰어나게 성능을 내는가?
  • RQ4인간 평가자들은 EACS가 생성한 요약이 기존 기법에 비해 정보량, 관련성, 자연스러움 측면에서 얼마나 높은 평가를 받는가?

주요 결과

  • EACS는 여섯 가지 프로그래밍 언어와 세 개의 데이터셋에서 모든 세 가지 표준 지표(BLEU, METEOR, ROUGE-L)에서 최신 기술을 뛰어나게 성능을 내었다.
  • 인간 평가 결과, EACS가 생성한 요약은 기존 기법에 비해 더 자연스럽고 정보가 풍부하며 입력 코드 스니펫과 관련성이 높은 것으로 확인되었다.
  • 추출 모듈은 사실 정보를 담고 있는 핵심 문장을 효과적으로 식별하여, 개괄 모듈이 정확한 요약을 생성하는 데 기여하였다.
  • 전체 코드 스니펫과 함께 추출된 문장을 함께 입력으로 제공받은 개괄 모듈은, 단지 코드 스니펫만을 사용하는 모델보다 더 자연스럽고 맥락적으로 일관된 요약을 생성하였다.
  • 프레임워크는 다양한 프로그래밍 언어와 코드 구조에 걸쳐 뛰어난 일반화 능력을 보이며 광범위한 적용 가능성을 시사한다.
  • 결과적으로, 추출형과 개괄형 구성 요소를 통합된 프레임워크 안에서 통합하는 것이 각각를 별도로 사용하는 것보다 더 효과적임을 시사한다.
Figure 2. Framework of DL-based Code Summarization
Figure 2. Framework of DL-based Code Summarization

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.