Measuring The Distance Between High-Level Models In A Reengineering Process - Cassol, Ignacio (2019)
When refactoring high-level models, measuring the differences between the original and the refactored model helps the designers know how the original model was modified and if the transformation added more complexity or/and improved the model. In our previous work, we developed the M2K methodology that parses legacy C code, maps it in a high-level model to represent the domain concepts and proposes a refactored model to improve the mapped design. Based on both models, we propose a distance to indicate, from the domain viewpoint, if the original identified concept keeps the same structure or, conversely, if the refactorings modify the concepts represented in the original model. Our approach is based on models generated through the M2K methodology and does not take into account syntactical variations between models. To show the applicability and the validation of our approach, firstly we show how we apply it on a trivial case study. Then, we show the results of applying our proposal to thirteen case studies (small-scale real projects implemented in C) that were also used to validate the M2K methodology.