Commenting Higher-level Code Unit: Full Code, Reduced Code, or Hierarchical Code Summarization

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Sun, Weisong, Zhang, Yiran, Zhu, Jie, Wang, Zhihui, Fang, Chunrong, Zhang, Yonglong, Feng, Yebo, Huang, Jiangping, Wang, Xingya, Jin, Zhi, Liu, Yang
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866916652316098560
author Sun, Weisong
Zhang, Yiran
Zhu, Jie
Wang, Zhihui
Fang, Chunrong
Zhang, Yonglong
Feng, Yebo
Huang, Jiangping
Wang, Xingya
Jin, Zhi
Liu, Yang
author_facet Sun, Weisong
Zhang, Yiran
Zhu, Jie
Wang, Zhihui
Fang, Chunrong
Zhang, Yonglong
Feng, Yebo
Huang, Jiangping
Wang, Xingya
Jin, Zhi
Liu, Yang
contents Commenting code is a crucial activity in software development, as it aids in facilitating future maintenance and updates. To enhance the efficiency of writing comments and reduce developers' workload, researchers has proposed various automated code summarization (ACS) techniques to automatically generate comments/summaries for given code units. However, these ACS techniques primarily focus on generating summaries for code units at the method level. There is a significant lack of research on summarizing higher-level code units, such as file-level and module-level code units, despite the fact that summaries of these higher-level code units are highly useful for quickly gaining a macro-level understanding of software components and architecture. To fill this gap, in this paper, we conduct a systematic study on how to use LLMs for commenting higher-level code units, including file level and module level. These higher-level units are significantly larger than method-level ones, which poses challenges in handling long code inputs within LLM constraints and maintaining efficiency. To address these issues, we explore various summarization strategies for ACS of higher-level code units, which can be divided into three types: full code summarization, reduced code summarization, and hierarchical code summarization. The experimental results suggest that for summarizing file-level code units, using the full code is the most effective approach, with reduced code serving as a cost-efficient alternative. However, for summarizing module-level code units, hierarchical code summarization becomes the most promising strategy. In addition, inspired by the research on method-level ACS, we also investigate using the LLM as an evaluator to evaluate the quality of summaries of higher-level code units. The experimental results demonstrate that the LLM's evaluation results strongly correlate with human evaluations.
format Preprint
id arxiv_https___arxiv_org_abs_2503_10737
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Commenting Higher-level Code Unit: Full Code, Reduced Code, or Hierarchical Code Summarization
Sun, Weisong
Zhang, Yiran
Zhu, Jie
Wang, Zhihui
Fang, Chunrong
Zhang, Yonglong
Feng, Yebo
Huang, Jiangping
Wang, Xingya
Jin, Zhi
Liu, Yang
Software Engineering
Artificial Intelligence
68-04
D.2.3; I.2.7
Commenting code is a crucial activity in software development, as it aids in facilitating future maintenance and updates. To enhance the efficiency of writing comments and reduce developers' workload, researchers has proposed various automated code summarization (ACS) techniques to automatically generate comments/summaries for given code units. However, these ACS techniques primarily focus on generating summaries for code units at the method level. There is a significant lack of research on summarizing higher-level code units, such as file-level and module-level code units, despite the fact that summaries of these higher-level code units are highly useful for quickly gaining a macro-level understanding of software components and architecture. To fill this gap, in this paper, we conduct a systematic study on how to use LLMs for commenting higher-level code units, including file level and module level. These higher-level units are significantly larger than method-level ones, which poses challenges in handling long code inputs within LLM constraints and maintaining efficiency. To address these issues, we explore various summarization strategies for ACS of higher-level code units, which can be divided into three types: full code summarization, reduced code summarization, and hierarchical code summarization. The experimental results suggest that for summarizing file-level code units, using the full code is the most effective approach, with reduced code serving as a cost-efficient alternative. However, for summarizing module-level code units, hierarchical code summarization becomes the most promising strategy. In addition, inspired by the research on method-level ACS, we also investigate using the LLM as an evaluator to evaluate the quality of summaries of higher-level code units. The experimental results demonstrate that the LLM's evaluation results strongly correlate with human evaluations.
title Commenting Higher-level Code Unit: Full Code, Reduced Code, or Hierarchical Code Summarization
topic Software Engineering
Artificial Intelligence
68-04
D.2.3; I.2.7
url https://arxiv.org/abs/2503.10737