Abstract
While mining version control systems, researchers noticed that some artifacts frequently change together throughout software development. When a certain artifact co-changes repeatedly with another, we say that the former is change coupledto the latter. Researchers have found a series of applications for change coupling in software engineering. For instance, building on the idea that artifacts that changed together in the past are likely to change together in the future, researchers developed effective change prediction mechanisms. In this chapter, we describe the concept of change coupling in more detail and present different techniques to detect it. In particular, we provide ready-to-use code you can leverage as a starting step to detect change couplings in your own projects. In the last part of the chapter, we describe some of the main applications of change coupling analysis.
Original language | English (US) |
---|---|
Title of host publication | The Art and Science of Analyzing Software Data |
Publisher | Elsevier Inc. |
Pages | 285-323 |
Number of pages | 39 |
ISBN (Electronic) | 9780124115439 |
ISBN (Print) | 9780124115194 |
DOIs | |
State | Published - Sep 1 2015 |
Externally published | Yes |
Keywords
- Change coupling
- Change dependencies
- Change history
- Evolutionary coupling
- Evolutionary dependencies
- Historical co-changes
- Logical coupling
- Logical dependencies
- Revision control systems
- Software changes
- Version control systems
ASJC Scopus subject areas
- General Computer Science