Fine-Grained Analysis of Change Couplings

Fine-Grained Analysis of Change Couplings

inproceedings
Beat Fluri, Harald C. Gall, Martin Pinzger
In software evolution analysis, many approaches analyze release history data available through versioning systems. The recent investigations of CVS data have shown that commonly committed files highlight their change couplings. However, CVS stores modifications on the basis of text but does not track structural changes, such as the insertion, removing, or modification of methods or classes. A detailed analysis whether change couplings are caused by source code couplings or by other textual modifications, such as updates in license terms, is not performed by current approaches. The focus of this paper is on adding structural change information to existing release history data. We present an approach that uses the structure compare services shipped with the Eclipse IDE to obtain the corresponding fine-grained changes between two subsequent versions of any Java class. This information supports filtering those change couplings which result from structural changes. So we can distill the causes for change couplings along releases and filter out those that are structurally relevant. The first validation of our approach with a medium-sized open source software system showed that a reasonable amount of change couplings are not caused by source code changes.
Fine-Grained Analysis of Change Couplings
2005
IEEE Computer Society
Proceedings of the 5th International Workshop on Source Code Analysis and Manipulation
October
66--74
s.e.a.l.