DeepAI AI Chat
Log In Sign Up

A Systematic Review on Learning and Suggesting Source Code Changes in Version History

by   Leandro Ungari Cayres, et al.

Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be reused as an advantage in the development process. We conducted a systematic review related to primary studies about source code changes. The search approach identified 2410 studies, up to and including 2012, which resulted in a final set of 40 selected papers. We grouped the studies according to each established research question. This review investigates how source code changes, which were performed in the past of software, can support the improvement of the software project. The main implication of this review is that, source code changes as examples, to support the improvement of coding practice during the development process, in which we presented some relevant strategies to guide each step, since identifying until the suggesting of source code changes.


page 1

page 2

page 3

page 4


The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History

Software Heritage is the largest existing public archive of software sou...

Processing Large Datasets of Fined Grained Source Code Changes

In the era of Big Code, when researchers seek to study an increasingly l...

SimSCOOD: Systematic Analysis of Out-of-Distribution Behavior of Source Code Models

While large code datasets have become available in recent years, acquiri...

CORE: Automating Review Recommendation for Code Changes

Code review is a common process that is used by developers, in which a r...

The Impact of Human Factors on the Participation Decision of Reviewers in Modern Code Review

Modern Code Review (MCR) plays a key role in software quality practices....

The Impact of Systematic Edits in History Slicing

While extracting a subset of a commit history, specifying the necessary ...

The List is the Process: Reliable Pre-Integration Tracking of Commits on Mailing Lists

A considerable corpus of research on software evolution focuses on minin...