Back to Search
Start Over
[Research Paper] Untangling Composite Commits Using Program Slicing
- Source :
- SCAM
- Publication Year :
- 2018
- Publisher :
- IEEE, 2018.
-
Abstract
- Composite commits are a common mistake in the use of version control software. A composite commit groups many unrelated tasks, rendering the commit difficult for developers to understand, revert, or integrate and for empirical researchers to analyse. We propose an algorithmic foundation for tool support to identify such composite commits. Our algorithm computes both a program dependence graph and the changes to the abstract syntax tree for the files that have been changed in a commit. Our algorithm then groups these fine-grained changes according to the slices through the dependence graph they belong to. To evaluate our technique, we analyse and refine an established dataset of Java commits, the results of which we also make available. We find that our algorithm can determine whether or not a commit is composite. For the majority of commits, this analysis takes but a few seconds. The parts of a commit that our algorithm identifies do not map directly to the commit's tasks. The parts tend to be smaller, but stay within their respective tasks.
- Subjects :
- Theoretical computer science
Java
Computer science
020207 software engineering
02 engineering and technology
Commit
Rendering (computer graphics)
Software bug
020204 information systems
Program Dependence Graph
0202 electrical engineering, electronic engineering, information engineering
Program slicing
Graph (abstract data type)
Abstract syntax tree
computer
computer.programming_language
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM)
- Accession number :
- edsair.doi...........8ba8bd1eeccbe7da38b331485281e52d
- Full Text :
- https://doi.org/10.1109/scam.2018.00030