ABSTRACT

Chapter Summary It is very much in the spirit of reuse-based evolution to identify and leverage all kinds of similarity patterns arising during evolution. Spotting patterns of evolutionary changes affecting software over time is essential to avoid complications during evolution. By similarity patterns we mean, for example, groups of similar components within a single released system or across released systems. In the first part of this chapter, we take a closer look at the software similarity phenomenon and the repetitions (software clones) it spawns. We make observations from empirical studies. We discuss one such study, the Java Buffer library, JDK 1.5, in detail. We briefly describe other studies, and comment on the main results.