Institute for Software Research International
School of Computer Science, Carnegie Mellon University
Differencing and Merging of Architectural Views
Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas,
Revised March 2006 as CMU-ISRI-05-128R.
To overcome some of the above limitations, we propose differencing and merging architectural views based on structural information. To that effect, we generalize a published polynomial-time tree-to-tree correction algorithm (that detects inserts, renames and deletes) into a novel algorithm to additionally detect restricted moves and support forcing and preventing matches between view elements. We implement a set of tools to compare and merge component-and-connector (C&C) architectural views, incorporating the algorithm. Finally, we provide an empirical evaluation of the algorithm and the tools on case studies with real software, illustrating the practicality of the approach to find and reconcile interesting divergences between architectural views.