Coming: a Tool for Mining Change Pattern Instances from Git Commits
This tool addresses a specific need for software engineering researchers by automating the detection of change patterns in Git repositories, though it is incremental as it builds on existing methods for change analysis.
The authors tackled the lack of open-source tools for mining change pattern instances from Git commits by developing Coming, which analyzes fine-grained changes in repositories and found instances of change patterns involving If conditions in 26 out of 28 revisions from Defects4J.
Software repositories such as Git have become a relevant source of information for software engineer researcher. For instance, the detection of Commits that fulfill a given criterion (e.g., bugfixing commits) is one of the most frequent tasks done to understand the software evolution. However, to our knowledge, there is not open-source tools that, given a Git repository, returns all the instances of a given change pattern. In this paper we present Coming, a tool that takes an input a Git repository and mines instances of change patterns on each commit. For that, Coming computes fine-grained changes between two consecutive revisions, analyzes those changes to detect if they correspond to an instance of a change pattern (specified by the user using XML), and finally, after analyzing all the commits, it presents a) the frequency of code changes and b) the instances found on each commit. We evaluate Coming on a set of 28 pairs of revisions from Defects4J, finding instances of change patterns that involve If conditions on 26 of them.