Context-aware Code Summary Generation

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Su, Chia-Yi, Bansal, Aakash, Huang, Yu, Li, Toby Jia-Jun, McMillan, Collin
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929463036477440
author Su, Chia-Yi
Bansal, Aakash
Huang, Yu
Li, Toby Jia-Jun
McMillan, Collin
author_facet Su, Chia-Yi
Bansal, Aakash
Huang, Yu
Li, Toby Jia-Jun
McMillan, Collin
contents Code summary generation is the task of writing natural language descriptions of a section of source code. Recent advances in Large Language Models (LLMs) and other AI-based technologies have helped make automatic code summarization a reality. However, the summaries these approaches write tend to focus on a narrow area of code. The results are summaries that explain what that function does internally, but lack a description of why the function exists or its purpose in the broader context of the program. In this paper, we present an approach for including this context in recent LLM-based code summarization. The input to our approach is a Java method and that project in which that method exists. The output is a succinct English description of why the method exists in the project. The core of our approach is a 350m parameter language model we train, which can be run locally to ensure privacy. We train the model in two steps. First we distill knowledge about code summarization from a large model, then we fine-tune the model using data from a study of human programmer who were asked to write code summaries. We find that our approach outperforms GPT-4 on this task.
format Preprint
id arxiv_https___arxiv_org_abs_2408_09006
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Context-aware Code Summary Generation
Su, Chia-Yi
Bansal, Aakash
Huang, Yu
Li, Toby Jia-Jun
McMillan, Collin
Software Engineering
Code summary generation is the task of writing natural language descriptions of a section of source code. Recent advances in Large Language Models (LLMs) and other AI-based technologies have helped make automatic code summarization a reality. However, the summaries these approaches write tend to focus on a narrow area of code. The results are summaries that explain what that function does internally, but lack a description of why the function exists or its purpose in the broader context of the program. In this paper, we present an approach for including this context in recent LLM-based code summarization. The input to our approach is a Java method and that project in which that method exists. The output is a succinct English description of why the method exists in the project. The core of our approach is a 350m parameter language model we train, which can be run locally to ensure privacy. We train the model in two steps. First we distill knowledge about code summarization from a large model, then we fine-tune the model using data from a study of human programmer who were asked to write code summaries. We find that our approach outperforms GPT-4 on this task.
title Context-aware Code Summary Generation
topic Software Engineering
url https://arxiv.org/abs/2408.09006