An Exploratory Study of Macro Co-changes. Jaafar, F., Gu�h�neuc, Y., Hamel, S., & Antoniol, G. In Pinzger, M. & Poshyvanyk, D., editors, Proceedings of the 18<sup>th</sup> Working Conference on Reverse Engineering (WCRE), pages 325–334, October, 2011. IEEE CS Press. 10 pages.
An Exploratory Study of Macro Co-changes [pdf]Paper  abstract   bibtex   
The literature describes several approaches to identify the artefacts of programs that change together to reveal the (hidden) dependencies among these artefacts. These approaches analyse historical data, mined from version control systems, and report co-changing artefacts, which hint at the causes, consequences, and actors of the changes. We introduce the novel concepts of \emphmacro co-changes (MCC), ıe of artefacts that co-change within a large time interval, and of \emphdephase macro co-changes (DMCC), ıe macro co-changes that always happen with the same shifts in time. We describe typical scenarios of MCC and DMCC and we use the Hamming distance to detect approximate occurrences of MCC and DMCC. We present our approach, Macocha, to identify these concepts in large programs. We apply Macocha and compare it in terms of precision and recall with UMLDiff (file stability) and association rules (co-changing files) on four systems: ArgoUML, FreeBSD, SIP, and XalanC, developed with three different languages (C, C++, and Java) and of sizes ranging from 597 to 3,603 files and from 6,050 to 735,324 changes over periods of eight to 15 years. We also use external information to validate the (approximate) MCC and DMCC found by Macocha. We thus answer two research questions showing the existence and usefulness of theses concepts and explaining scenarios of hidden dependencies among artefacts.

Downloads: 0