Steffen Lehnert

Learn More
Change impact analysis is required for constantly evolving systems to support the comprehension, implementation, and evaluation of changes. A lot of research effort has been spent on this subject over the last twenty years, and many approaches were published likewise. However, there has not been an extensive attempt made to summarize and review published(More)
Most software is accompanied by frequent changes, whereas the implementation of a single change can affect many different parts of the system. Approaches for Impact Analysis have been developed to assist developers with changing software. However, there is no solid framework for classifying and comparing such approaches, and it is therefore hard to find a(More)
Changes play a central role in software evolution, where the types of changes are as multifarious as their consequences. When changing software, impact analysis and regression testing are required to preserve the quality of the system. However, without a consistent classification of types of change operations, a well-founded impact analysis methodology(More)
As model-based software development becomes increasingly important, the number of models to express various aspects of software at different levels of abstraction raises. Meanwhile evolutionary development and continuous changes demand for explicit dependencies between involved models to facilitate change impact analysis, software comprehension, or coverage(More)
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(More)
Evolution is the consequence of the continuous changes, which a software system has to perform due to changes in requirements and various maintenance activities. Regression testing provides a means to assure the wanted properties of the system after the introduction of the changes; however, testing requires high effort. Model-based regression testing (MBRT)(More)
Model-based development techniques enable a high efficiency and the mastering of complexity. For many domains more than one model has to be used to express the relevant information. Many methods use different models without a tight coupling, with a high risk of inconsistencies. Other approaches are based on metamodel extension or unified metamodels, with a(More)
The design and implementation of software require the usage of different perspectives and views to cope with its static structure, dynamic behavior, and requirements. Artifacts of different views are dependent on each other and subject of frequent changes. Anticipating those changes becomes difficult, as most impact analysis approaches are not designed to(More)