English
Related papers

Related papers: Understanding Code Change with Micro-Changes

200 papers

We apply machine learning to version control data to measure the quantity of effort required to produce source code changes. We construct a model of a `standard coder' trained from examples of code changes produced by actual software…

Software Engineering · Computer Science 2019-03-07 Ian Wright , Albert Ziegler

The dynamic nature of Web data gives rise to a multitude of problems related to the identification, computation and management of the evolving versions and the related changes. In this paper, we consider the problem of change recognition in…

Databases · Computer Science 2015-01-13 Yannis Roussakis , Ioannis Chrysakis , Kostas Stefanidis , Giorgos Flouris , Yannis Stavrakas

There are often multiple ways to implement the same requirement in source code. Different implementation choices can result in code snippets that are similar, and have been defined in multiple ways: code clones, examples, simions and…

Software Engineering · Computer Science 2020-06-16 Venkatesh Vinayakarao , Devika Sondhi , Sumit Keswani , Rahul Purandare , Anita Sarma

Class diagrams (CDs), which specify classes and the relationships between them, are widely used for modeling the structure of object-oriented systems. As models, programs, and systems evolve over time, during the development lifecycle and…

Software Engineering · Computer Science 2014-09-09 Shahar Maoz , Jan Oliver Ringert , Bernhard Rumpe

Despite decades of engineering and scientific research efforts, separation of concerns in software development remains not fully achieved. The challenge has been to avoid the crosscutting of concerns phenomenon, which has no apparent…

Software Engineering · Computer Science 2021-10-11 Júlio G. S. F. da Costa , Reinaldo A. Petta , Samuel Xavier-de-Souza

Complex software systems evolve frequently, e.g., when introducing new features or fixing bugs during maintenance. However, understanding the impact of such changes on system behavior is often difficult. Many approaches have thus been…

Software Engineering · Computer Science 2020-01-09 Thomas Krismayer , Michael Vierhauser , Rick Rabiser , Paul Grünbacher

Language models have shown strong capabilities across a wide range of tasks in software engineering, such as code generation, yet they suffer from hallucinations. While hallucinations have been studied independently in natural language and…

Software Engineering · Computer Science 2025-08-13 Chunhua Liu , Hong Yi Lin , Patanamon Thongtanunam

We are trying to find source code comments that help programmers understand a nontrivial part of source code. One of such examples would be explaining to assign a zero as a way to "clear" a buffer. Such comments are invaluable to…

Software Engineering · Computer Science 2022-03-18 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

To refactor already working code while keeping reliability, compatibility and perhaps security, we can borrow ideas from micropass/nanopass compilers. By treating the procedure of software refactoring as composing code transformations, and…

Software Engineering · Computer Science 2023-08-15 Yu Liu

Despite the popularity and importance of modern code review, the understanding of the cognitive processes that enable reviewers to analyze code and provide meaningful feedback is lacking. To address this gap, we observed and interviewed ten…

Software Engineering · Computer Science 2025-03-28 Pavlína Wurzel Gonçalves , Pooja Rani , Margaret-Anne Storey , Diomidis Spinellis , Alberto Bacchelli

We formulate the novel task of automatically updating an existing natural language comment based on changes in the body of code it accompanies. We propose an approach that learns to correlate changes across two distinct language…

Computation and Language · Computer Science 2020-04-29 Sheena Panthaplackel , Pengyu Nie , Milos Gligoric , Junyi Jessy Li , Raymond J. Mooney

Reliable handling of code diffs is central to agents that edit and refactor repositories at scale. We introduce Diff-XYZ, a compact benchmark for code-diff understanding with three supervised tasks: apply (old code $+$ diff $\rightarrow$…

Software Engineering · Computer Science 2025-11-18 Evgeniy Glukhov , Michele Conti , Egor Bogomolov , Yaroslav Golubev , Alexander Bezzubov

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program's…

Software Engineering · Computer Science 2013-07-09 Jason Dagit , Matthew Sottile

Refactoring is a well-known technique that is widely adopted by software engineers to improve the design and enable the evolution of a system. Knowing which refactoring operations were applied in a code change is a valuable information to…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Marco Tulio Valente

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

This paper presents Megadiff, a dataset of source code diffs. It focuses on Java, with strict inclusion criteria based on commit message and diff size. Megadiff contains 663 029 Java diffs that can be used for research on commit…

Software Engineering · Computer Science 2021-08-11 Martin Monperrus , Matias Martinez , He Ye , Fernanda Madeiral , Thomas Durieux , Zhongxing Yu

Novice programmers often struggle to comprehend code due to vague naming, deep nesting, and poor structural organization. While explanations may offer partial support, they typically do not restructure the code itself. We propose code…

Software Engineering · Computer Science 2026-04-20 Subarna Saha , Alif Al Hasan , Fariha Tanjim Shifat , Mia Mohammad Imran

Spoken language change detection (LCD) refers to identifying the language transitions in a code-switched utterance. Similarly, identifying the speaker transitions in a multispeaker utterance is known as speaker change detection (SCD). Since…

Audio and Speech Processing · Electrical Eng. & Systems 2024-06-19 Jagabandhu Mishra , S. R. Mahadeva Prasanna

Cognitive-Driven Development (CDD) is a coding design technique that aims to reduce the cognitive effort that developers place in understanding a given code unit (e.g., a class). By following CDD design practices, it is expected that the…

Software Engineering · Computer Science 2022-06-23 Leonardo Barbosa , Victor Hugo Santiago , Alberto Luiz Oliveira Tavares de Souza , Gustavo Pinto