English
Related papers

Related papers: COSPEX: A Program Comprehension Tool for Novice Pr…

200 papers

While program comprehension tools often use static program analysis techniques to obtain useful information, they usually work only with sufficiently scalable techniques with limited precision. A possible improvement of this approach is to…

Software Engineering · Computer Science 2025-03-21 Robert Husák , Jan Kofroň , Filip Zavoral

Code summarization has emerged as a fundamental technique in the field of program comprehension. While code language models have shown significant advancements, the current models and benchmarks are confined to high-readability code, which…

Software Engineering · Computer Science 2026-01-12 Wenhao Zeng , Yitian Chai , Hao Zhou , Fandong Meng , Jie Zhou , Xiaodong Gu

A code summary is a brief natural language description of source code. Summaries are usually only a single sentence long, and yet form the backbone of developer documentation. A short descriptions such as "changes all visible polygons to…

Software Engineering · Computer Science 2024-02-06 Chia-Yi Su , Collin McMillan

Source code summarization -- creating natural language descriptions of source code behavior -- is a rapidly-growing research topic with applications to automatic documentation generation, program comprehension, and software maintenance.…

Software Engineering · Computer Science 2019-02-07 Alexander LeClair , Siyuan Jiang , Collin McMillan

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Analyzing programs with loops is a challenging task, suffering from potential issues such as indeterminate number of iterations and exponential growth of control flow complexity. Loop summarization, as a static analysis method for concrete…

Programming Languages · Computer Science 2024-11-06 Kai Zhu , Chenkai Guo , Kuihao Yan , Xiaoqi Jia , Haichao Du , Qingjia Huang , Yamin Xie , Jing Tang

A source code summary of a subroutine is a brief description of that subroutine. Summaries underpin a majority of documentation consumed by programmers, such as the method summaries in JavaDocs. Source code summarization is the task of…

Software Engineering · Computer Science 2021-07-27 Alexander LeClair , Aakash Bansal , Collin McMillan

Reading, understanding and explaining code have traditionally been important skills for novices learning programming. As large language models (LLMs) become prevalent, these foundational skills are more important than ever given the…

Human-Computer Interaction · Computer Science 2024-03-12 Paul Denny , David H. Smith , Max Fowler , James Prather , Brett A. Becker , Juho Leinonen

As Large Language Models (LLMs) gain in popularity, it is important to understand how novice programmers use them. We present a thematic analysis of 33 learners, aged 10-17, independently learning Python through 45 code-authoring tasks…

Human-Computer Interaction · Computer Science 2023-09-26 Majeed Kazemitabaar , Xinying Hou , Austin Henley , Barbara J. Ericson , David Weintrop , Tovi Grossman

Automatic text summarisation has drawn considerable interest in the area of software engineering. It is challenging to summarise the activities related to a software project, (1) because of the volume and heterogeneity of involved software…

Software Engineering · Computer Science 2020-04-30 Mahfouth Alghamdi , Christoph Treude , Markus Wagner

Recent advances in Large Language Models (LLMs) have introduced a new paradigm for software development, where source code is generated from natural language prompts. While this paradigm significantly boosts development productivity,…

Human-Computer Interaction · Computer Science 2026-05-06 Jinsheng Ba , Sverrir Thorgeirsson , Zhendong Su

It is well-known, and often a topic of heated debates, that programs in some programming languages are more concise than in others. This is a relevant factor when comparing or aggregating volume-impacted metrics on source code written in a…

Programming Languages · Computer Science 2021-11-19 Lodewijk Bergmans , Xander Schrijen , Edwin Ouwehand , Magiel Bruntink

Source code summarization is the task of creating short, natural language descriptions of source code. Code summarization is the backbone of much software documentation such as JavaDocs, in which very brief comments such as "adds the…

Software Engineering · Computer Science 2021-01-11 Sakib Haque , Aakash Bansal , Lingfei Wu , Collin McMillan

Executing code is essential for various program analysis tasks, e.g., to detect bugs that manifest through exceptions or to obtain execution traces for further dynamic analysis. However, executing an arbitrary piece of code is often…

Software Engineering · Computer Science 2023-11-13 Beatriz Souza , Michael Pradel

To support software developers in understanding and maintaining programs, various automatic (source) code summarization techniques have been proposed to generate a concise natural language summary (i.e., comment) for a given code snippet.…

Software Engineering · Computer Science 2025-08-26 Weisong Sun , Yun Miao , Yuekang Li , Hongyu Zhang , Chunrong Fang , Yi Liu , Gelei Deng , Yang Liu , Zhenyu Chen

Source code summarization is the task of writing natural language descriptions of source code. A typical use case is generating short summaries of subroutines for use in API documentation. The heart of almost all current research into code…

Software Engineering · Computer Science 2023-09-06 Aakash Bansal , Chia-Yi Su , Collin McMillan

Current abstractive summarization models either suffer from a lack of clear interpretability or provide incomplete rationales by only highlighting parts of the source document. To this end, we propose the Summarization Program (SP), an…

Computation and Language · Computer Science 2023-02-03 Swarnadeep Saha , Shiyue Zhang , Peter Hase , Mohit Bansal

Coding agents produce rich trajectories while solving software-engineering tasks. To enable agent self-evolution, these trajectories can be distilled into reusable procedural skills that compactly encode experience to guide future behavior.…

Artificial Intelligence · Computer Science 2026-05-26 Yanzhou Li , Yiran Zhang , Xiaoyu Zhang , Xiaoxia Liu , Yang Liu

Several code summarization techniques have been proposed in the literature to automatically document a code snippet or a function. Ideally, software developers should be involved in assessing the quality of the generated summaries. However,…

Software Engineering · Computer Science 2023-12-27 Antonio Mastropaolo , Matteo Ciniselli , Massimiliano Di Penta , Gabriele Bavota

Context: Various approaches aim to support program comprehension by automatically detecting algorithms in source code. However, no empirical evaluations of their helpfulness have been performed. Objective: To empirically evaluate how…

Software Engineering · Computer Science 2025-04-29 Denis Neumüller , Alexander Raschke , Matthias Tichy