English
Related papers

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

200 papers

The determination of block-entropies is a well established method for the investigation of discrete data, also called symbols (7). There is a large variety of such symbolic sequences, ranging from texts written in natural languages,…

Disordered Systems and Neural Networks · Physics 2007-05-23 Miguel Angel Jimenez-Montano , Werner Ebeling , Thorsten Poeschel

Code modification requires developers to comprehend code, plan changes, articulate intent, and validate outcomes, making it cognitively demanding. While natural language (NL) code summaries offer a promising external representation of this…

Human-Computer Interaction · Computer Science 2026-04-03 Ningzhi Tang , David Meininger , Gelei Xu , Yiyu Shi , Yu Huang , Collin McMillan , Toby Jia-Jun Li

Developers increasingly take to the Internet for code snippets to integrate into their programs. To save developers the time required to switch from their development environments to a web browser in the quest for a suitable code snippet,…

Software Engineering · Computer Science 2017-08-03 Brock Angus Campbell , Christoph Treude

Code summaries help developers comprehend programs and reduce their time to infer the program functionalities during software maintenance. Recent efforts resort to deep learning techniques such as sequence-to-sequence models for generating…

Computation and Language · Computer Science 2023-02-08 Shuzheng Gao , Cuiyun Gao , Yulan He , Jichuan Zeng , Lun Yiu Nie , Xin Xia , Michael R. Lyu

CodeRunner is a free open-source Moodle plugin for automatically marking student code. We describe our experience using CodeRunner for summative assessment in our first year undergraduate programming curriculum at Coventry University. We…

Computers and Society · Computer Science 2020-01-14 David Croft , Matthew England

Commit messages are valuable resources for describing why code changes are committed to repositories in version control systems (e.g., Git). They effectively help developers understand code changes and better perform software maintenance…

Software Engineering · Computer Science 2025-09-22 Hongyu Kuang , Ning Zhang , Hui Gao , Xin Zhou , Wesley K. G. Assunção , Xiaoxing Ma , Dong Shao , Guoping Rong , He Zhang

Making a Prolog program more efficient by transforming its source code, without changing its operational semantics, is not an obvious task. It requires the user to have a clear understanding of how the Prolog compiler works, and in…

Programming Languages · Computer Science 2007-11-01 Francois Gobert , Baudouin Le Charlier

Code reviews are popular in both industrial and open source projects. The benefits of code reviews are widely recognized and include better code quality and lower likelihood of introducing bugs. However, since code review is a manual…

Software Engineering · Computer Science 2021-05-20 Rosalia Tufano , Luca Pascarella , Michele Tufano , Denys Poshyvanyk , Gabriele Bavota

Large Language Models (LLMs) often produce code with subtle implementation-level bugs despite strong benchmark performance. These errors are hard for LLMs to spot and can have large behavioural effects; yet when asked to summarise code,…

Software Engineering · Computer Science 2025-11-25 Lukas Twist

Software change is the basic task of software evolution and maintenance. Phased Model for Software Change (PMSC) is a process model for software changes that localize in the code. It consists of several phases that cover both program…

Software Engineering · Computer Science 2019-04-12 Leon A. Wilson , Yoann Senin , Yibin Wang , Václav Rajlich

Code review is one of the key processes in the software development lifecycle and is essential to maintain code quality. However, manual code review is subjective and time consuming. Given its rule-based nature, code review is well suited…

Software Engineering · Computer Science 2025-07-25 Busra Icoz , Goksel Biricik

Context: Developing compilers and static analysis tools ("language tools") is a difficult and time-consuming task. We have previously presented *property probes*, a technique to help the language tool developer build understanding of their…

Programming Languages · Computer Science 2025-03-03 Anton Risberg Alaküla , Niklas Fors , Emma Söderberg

In software development, it is common for programmers to copy-paste or port code snippets and then adapt them to their use case. This scenario motivates the code adaptation task -- a variant of program repair which aims to adapt variable…

Software Engineering · Computer Science 2023-10-09 Xiaoyu Liu , Jinu Jang , Neel Sundaresan , Miltiadis Allamanis , Alexey Svyatkovskiy

Many reasoning, planning, and problem-solving tasks share an intrinsic algorithmic nature: correctly simulating each step is a sufficient condition to solve them correctly. This work studies to what extent Large Language Models (LLMs) can…

Retrieval-Augmented Generation (RAG) enhances coding tasks by incorporating retrieved code examples into prompts. However, lengthy prompts, often exceeding tens of thousands of tokens, introduce challenges related to limited context windows…

Software Engineering · Computer Science 2026-04-13 Pengfei He , Shaowei Wang , Tse-Hsun Chen

In recent years, code security has become increasingly important, especially with the rise of interconnected technologies. Detecting vulnerabilities early in the software development process has demonstrated numerous benefits. Consequently,…

Software Engineering · Computer Science 2024-07-22 José Gonçalves , Tiago Dias , Eva Maia , Isabel Praça

Summary descriptions of subroutines are short (usually one-sentence) natural language explanations of a subroutine's behavior and purpose in a program. These summaries are ubiquitous in documentation, and many tools such as JavaDocs and…

Software Engineering · Computer Science 2019-12-24 Zachary Eberhart , Alexander LeClair , Collin McMillan

"Explain in Plain English" (EiPE) questions are widely used to assess code comprehension skills but are challenging to grade automatically. Recent approaches like Code Generation Based Grading (CGBG) leverage large language models (LLMs) to…

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

Developing an algorithm for a visualization prototype often involves the direct comparison of different development stages and design decisions, and even minor modifications may dramatically affect the results. While existing development…

Software Engineering · Computer Science 2020-01-08 Fabian Bolte , Stefan Bruckner

Summarizing source code into natural language descriptions (code summarization) helps developers better understand program functionality and reduce the burden of software maintenance. Abstract Syntax Trees (ASTs), as opposed to source code,…

Software Engineering · Computer Science 2026-02-09 Shijia Dong , Haoruo Zhao , Paul Harvey