Coming: a Tool for Mining Change Pattern Instances from Git Commits

10/19/2018
by   Matias Martinez, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/04/2019

Identification and Assessment of Software Design Pattern Violations

The validation of design pattern implementations to identify pattern vio...
research
06/03/2021

How does Software Change?

Software evolves with changes to its codebase over time. Internally, sof...
research
09/02/2021

Semantic Slicing of Architectural Change Commits: Towards Semantic Design Review

Software architectural changes involve more than one module or component...
research
04/11/2019

Empirical Study of Phased Model of Software Change

Software change is the basic task of software evolution and maintenance....
research
03/01/2020

Change Point Detection in Software Performance Testing

We describe our process for automatic detection of performance changes f...
research
03/27/2017

A Visual Measure of Changes to Weighted Self-Organizing Map Patterns

Estimating output changes by input changes is the main task in causal an...
research
04/16/2023

Automated Self-Admitted Technical Debt Tracking at Commit-Level: A Language-independent Approach

Software and systems traceability is essential for downstream tasks such...

Please sign up or login with your details

Forgot password? Click here to reset