Change Coupling Between Software Artifacts: Learning from Past Changes

Gustavo Ansaldi Oliva, Marco Aurélio Gerosa

Research output: Chapter in Book/Report/Conference proceedingChapter

12 Scopus citations


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 languageEnglish (US)
Title of host publicationThe Art and Science of Analyzing Software Data
PublisherElsevier Inc.
Number of pages39
ISBN (Electronic)9780124115439
ISBN (Print)9780124115194
StatePublished - Sep 1 2015
Externally publishedYes


  • 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


Dive into the research topics of 'Change Coupling Between Software Artifacts: Learning from Past Changes'. Together they form a unique fingerprint.

Cite this