Withdraw
Loading…
Mining Fine-Grained Code Changes to Detect Unknown Change Patterns
Negara, Stas; Codoban, Mihai; Dig, Danny; Johnson, Ralph E.
Loading…
Permalink
https://hdl.handle.net/2142/45825
Description
- Title
- Mining Fine-Grained Code Changes to Detect Unknown Change Patterns
- Author(s)
- Negara, Stas
- Codoban, Mihai
- Dig, Danny
- Johnson, Ralph E.
- Issue Date
- 2013-09-25
- Keyword(s)
- mining code changes
- mining continuous sequence of code changes
- detecting code change patterns
- identifying unknown program transformations
- Abstract
- Identifying repetitive code changes benefits developers, tool builders, and researchers. Tool builders can automate the popular code changes, thus improving the productivity of developers. Researchers can better understand the practice of code evolution, advancing existing code assistance tools and benefiting developers even further. Unfortunately, existing research either predominantly uses coarse-grained Version Control System (VCS) snapshots as the primary source of code evolution data or considers only a small subset of program transformations of a single kind --- refactorings. We present the first approach that identifies previously unknown frequent code change patterns from a fine-grained sequence of code changes. Our novel algorithm effectively handles challenges that distinguish continuous code change pattern mining from the existing data mining techniques. We evaluated our algorithm on 1,520 hours of code development collected from 23 developers, and showed that it is effective, useful, and scales to large amounts of data. We analyzed some of the mined code change patterns and discovered ten popular kinds of high-level program transformations. More than half of our 420 survey participants acknowledged that eight out of ten transformations are relevant to their programming activities.
- Type of Resource
- text
- Language
- en
- Permalink
- http://hdl.handle.net/2142/45825
Owning Collections
Manage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…