Toward an improved understanding of software change
Structural changes, including moving, renaming, merging and splitting are important design change decisions made by programmers. However, during the process of software evolution, this information often gets lost. Recovering instances of structural changes in the past, as well as understanding them, are essential for us to achieve a better understanding of how and why software changes. In this thesis, we propose an approach that helps to recover and understand the lost information of structural changes.