Abstract:To adapt to continually changing businesses, many software systems have to undergo evolutions through plugging new extensions into common base subsystems. Although it can facilitate concurrent development and deployment, this evolution strategy faces the problem of unexpected feature interactions between extensions. So far, formal method is still one of the most effective methods to detect feature interaction problems. The method has been proved to be successful by some small scale experiments. However, it also faces some challenges, e.g., the non-monotonicity of extension, the fast increase of extension combinations and the lack of extension details due to market competitions. Actually, many feature interactions are caused by the inappropriate modifications to the base subsystem and the existing extensions by new extensions. Based on this observation, the paper proposes a new approach for analyzing the causes of feature interactions and for formulating the corresponding constraints such that the conflicts with the same reason can be avoided. The approach has been applied to the analysis of the feature interactions of telecom systems. The experimental results show that most of the conflict-prone behaviors can be discovered quickly. In addition, the approach can help preserve the stability of the original base model and extension models, bypass the problem of extension combinations, and eliminate the requirement to publish the details of all extension models.