English
Related papers

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

200 papers

The lack of proper documentation makes program comprehension a cumbersome process for developers. Source code summarization is one of the existing solutions to this problem. Lots of approaches have been proposed to summarize source code in…

Software Engineering · Computer Science 2020-08-31 Alireza Aghamohammadi , Maliheh Izadi , Abbas Heydarnoori

Current approaches for text summarization are predominantly automatic, with rather limited space for human intervention and control over the process. In this paper, we introduce SummHelper, a 2-phase summarization assistant designed to…

Computation and Language · Computer Science 2023-10-17 Aviv Slobodkin , Niv Nachum , Shmuel Amar , Ori Shapira , Ido Dagan

Source code summarization is the task of writing natural language descriptions of source code behavior. Code summarization underpins software documentation for programmers. Short descriptions of code help programmers understand the program…

Artificial Intelligence · Computer Science 2023-07-24 Aakash Bansal , Siyuan Jiang , Sakib Haque , Collin McMillan

Even relatively simple code analysis can be a daunting task for many first year students. Perceived complexity, coupled with foreign and harsh syntax, often outstrips the ability for students to take in what they are seeing in terms of…

Human-Computer Interaction · Computer Science 2008-03-05 Christopher Pearson , Celina Gibbs , Yvonne Coady

Traditionally, we have two possibilities to design tools for program comprehension and analysis. The first option is to create a standalone program, independent of any source code editor. This way, the act of source code editing is…

Software Engineering · Computer Science 2018-08-31 Matúš Sulír , Jaroslav Porubän , Ondrej Zoričák

Descriptive comments play a crucial role in the software engineering process. They decrease development time, enable better bug detection, and facilitate the reuse of previously written code. However, comments are commonly the last of a…

Computation and Language · Computer Science 2019-04-02 Jessica Moore , Ben Gelman , David Slater

(Source) code summarization is the task of automatically generating natural language summaries (also called comments) for given code snippets. Recently, with the successful application of large language models (LLMs) in numerous fields,…

Software Engineering · Computer Science 2024-12-10 Tingting Xu , Yun Miao , Chunrong Fang , Hanwei Qian , Xia Feng , Zhenpeng Chen , Chong Wang , Jian Zhang , Weisong Sun , Zhenyu Chen , Yang Liu

Code summarization aims to generate natural language descriptions of source code, facilitating programmers to understand and maintain it rapidly. While previous code summarization efforts have predominantly focused on method-level, this…

Software Engineering · Computer Science 2024-01-29 Yanlin Wang , Yanxian Huang , Daya Guo , Hongyu Zhang , Zibin Zheng

Automatic code completion helps improve developers' productivity in their programming tasks. A program contains instructions expressed via code statements, which are considered as the basic units of program execution. In this paper, we…

Software Engineering · Computer Science 2019-11-19 Son Nguyen , Tien N. Nguyen , Yi Li , Shaohua Wang

Existing studies show that code summaries help developers understand and maintain source code. Unfortunately, these summaries are often missing or outdated in software projects. Code summarization aims to generate natural language…

Software Engineering · Computer Science 2023-09-08 Jia Li , Yongmin Li , Ge Li , Xing Hu , Xin Xia , Zhi Jin

Software documentation is essential for program comprehension, developer onboarding, code review, and long-term maintenance. Yet producing quality documentation manually is time-consuming and frequently yields incomplete or inconsistent…

Software Engineering · Computer Science 2026-04-20 Afia Farjana , Zaiyu Cheng , Antonio Mastropaolo

Understanding source code is a topic of great interest in the software engineering community, since it can help programmers in various tasks such as software maintenance and reuse. Recent advances in large language models (LLMs) have…

Software Engineering · Computer Science 2025-04-25 Michele Carissimi , Martina Saletta , Claudio Ferretti

Reading and understanding code are fundamental skills for novice programmers, and especially important with the growing prevalence of AI-generated code and the need to evaluate its accuracy and reliability. ``Explain in Plain English''…

Computers and Society · Computer Science 2025-03-18 David H. Smith , Max Fowler , Paul Denny , Craig Zilles

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

Developing models that can automatically generate detailed code explanation can greatly benefit software maintenance and programming education. However, existing code-to-text generation models often produce only high-level summaries of code…

Computation and Language · Computer Science 2022-11-29 Haotian Cui , Chenglong Wang , Junjie Huang , Jeevana Priya Inala , Todd Mytkowicz , Bo Wang , Jianfeng Gao , Nan Duan

Software engineering education and training have obstacles caused by a lack of basic knowledge about a process of program execution. The article is devoted to the development of special tools that help to visualize the process. We analyze…

(Source) code summarization aims to automatically generate succinct natural language summaries for given code snippets. Such summaries play a significant role in promoting developers to understand and maintain code. Inspired by neural…

Software Engineering · Computer Science 2024-07-03 Chunrong Fang , Weisong Sun , Yuchen Chen , Xiao Chen , Zhao Wei , Quanjun Zhang , Yudu You , Bin Luo , Yang Liu , Zhenyu Chen

Large language models have been successfully applied to programming assistance tasks, such as code completion, code insertion, and instructional code editing. However, these applications remain insufficiently automated and struggle to…

Computation and Language · Computer Science 2025-05-14 Hao Jiang , Qi Liu , Rui Li , Shengyu Ye , Shijin Wang

Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise…

Programming Languages · Computer Science 2025-10-21 Moida Praneeth Jain , Venkatesh Choppella

Reading computer program code and documentation written by others is, we are told, one of the best ways to learn the art of writing intelligible and maintainable code and documentation. The software resurrection exercise, introduced in this…

Software Engineering · Computer Science 2022-09-13 Abhishek Dutta