Change Coupling Between Software Artifacts: Learning from Past Changes

OLIVA, G. A.; GEROSA, MARCO A. "Change Coupling Between Software Artifacts: Learning from Past Changes". The Art and Science of Analyzing Software Data , pp. 285-324

Topics: Mining techniques and tools, Software evolution analysis , Mining, Statistical analysis

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 coupled to 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 introductory chapter, we describe the concept of change coupling in more details and present different techniques to detect it. In particular, we provide ready-to-use code that 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. (