Variability mining of state charts
International Workshop on Feature-Oriented Software Development (FOSD 2016)
Contribution to Conference
Companies commonly use state charts to reduce the complexity of software development. To create variants with slightly different functionality from existing products, it is common practice to copy the corresponding state charts and modify them to changed requirements. Even though these so-called clone-and-own approaches save money in the short-term, they introduce severe risks for software evolution and product quality in the long term as the relation between the software variants is lost so that all products have to be maintained separately. In previous work, we introduced variability mining algorithms to identify the relations between related MATLAB/Simulink model variants regarding their common and varying parts. In this paper, we adapt these algorithms for state charts by applying guidelines from previous work to make them available for developers to better understand the relations between a set of state chart variants. Using this knowledge, maintenance of related variants can be improved and migration from clone-and-own based single variant development to more elaborate reuse strategies is possible to increase maintainability and the overall product quality. We demonstrate the feasibility of variability mining for state charts by means of a case study with models of realistic size.