Abstract

Model-based languages such as MATLAB/Simulink play an essential role in the model-driven development of software systems.
During their development, these systems can be subject to modification numerous times. For large-scale systems, to manually
identify performed modifications is infeasible. However, their precise identification and subsequent validation is essential
for the evolution of model-based systems. If not fully identified, modifications may cause unaccountable behavior as the
system evolves and their redress can significantly delay the entire development process. In this paper, we propose a fully
automated technique called Reverse Signal Propagation Analysis, which identifies and clusters variations within evolving
MATLAB/Simulink models. With each cluster representing a clearly delimitable variation point between models, we allow model
engineers not only to specifically focus on single variations, but by using their domain knowledge, to also relate and verify
them. By identifying variation points, we assist model engineers in validating the respective parts and reduce the risk of
improper system behavior as the system evolves. To assess the applicability of our technique, we present a feasibility study
with real-world models from the automotive domain and show our technique to be very fast and highly precise.

Keywords: MATLAB/Simulink, variation point, clustering