Skip to Main Content
Typical software engineering activities, such as program maintenance or reengineering, result in frequent changes of software which are often accompanied by unintended side effects. Consequently, research on impact analysis put forth approaches to assess the adverse effects of changes. However, understanding and implementing these changes is often aggravated by inconsistencies and dependencies between different types of software artifacts. Likewise, most impact analysis approaches are not able to detect the possible side effects of changes when different types of software artifacts are involved. We present an approach that combines impact analysis and multi-perspective modeling for analyzing the change propagation between heterogeneous software artifacts. Our approach assists developers with understanding the consequences of changes by identifying impacted artifacts and determining how they are affected. We utilize a model repository for combining UML models, Java source code, and JUnit tests by mapping them on a unifying meta-model. We introduce a novel impact propagation approach that analyzes dependencies between software artifacts according to the type of change which is applied upon them. Our approach is implemented by a set of impact propagation rules which are evaluated by a case study.