Model-Based Systems Engineering (MBSE) elevates models as first-class artifacts throughout the development process of a system's lifecycle. This makes it easier to develop standard tools for automated analysis and overall management of a system process; thereby, saving cost and minimizing errors. Like all systems artifacts, models are subject to continuous change and the execution of changes may significantly affect model maintenance. Existing work has already investigated processes and techniques to support, analyze and mitigate the impact of changes to models. However, most of these works often focus on the analysis of changes between two sets of models and do not take a holistic approach to the entire version history of models. To support change analysis across the entire version history, we developed a Change Analyzer that can be used to query and extract change information across successive versions of a model. We then used the Change Analyzer to mine several versions of Simulink models, computed the differences across the versions, and classified the computed differences into appropriate maintenance categories in order to generate information related to understanding the rationale of the design decisions that necessitated the observed changes. To study the impact of changes on the models, we used the Change Analyzer to analyze the evolution of seven bad smells in 81 LabVIEW models across 10 open-source repositories, and four bad smells in 575 Simulink models across 31 open-source repositories. The evaluation of the Change Analyzer indicates that it can be used to construct concise queries that execute faster than a generic model-based query engine. The results of the change analysis process also show a high similarity of the recovered design decisions with the manually identified decisions, even though the manual identification process takes much more time and often does not provide additional information about the changes executed to implement the design decisions. Furthermore, we discovered that adaptive maintenance tasks often lead to an increase in the number of smells in systems models, but corrective maintenance tasks often correlate with a decrease in the number of smells.
Index Terms
- Change Analysis across Version Histories of Systems Models
Recommendations
Mining version histories for change impact analysis in business process model repositories
HighlightsWe propose a novel approach to change impact analysis in an organization's repository of business process models.Our approach mines the revision history of a process model repository and uses this knowledge for change impact estimation.The ...
Static change impact analysis techniques
We present a comparative study of different static CIA techniques, Columbus, ROSE, and IRC2M.IRC2M and ROSE achieve relatively better accuracy compared to Columbus.Combination of different CIA techniques can obviously improve the accuracy over their ...
Learning dependency-based change impact predictors using independent change histories
Context: Recent studies showed that combining present data, which are derived from the current software version, with past data, which are derived from previous software versions, can improve the accuracy of change impact predictions. However, for a ...