Determining the Intent of Code Changes to Sustain Attached Model Information During Code Evolution.
Michael Langhammer, Max E. Kramer · Softwaretechnik-Trends · 2014
If code is linked to models with additional information that cannot be represented in the code, changes in the code may have unwanted effects on these models. In such scenarios, the desired effect of code changes may be unclear and impossible to determine regardless of the used change recording or propagation mechanism. Existing round-trip engineering tools do not solve this problem as they just support models that contain only information that can be regenerated from the code or drop such information. In this position paper, we propose an approach for controlled code evolution that automatically maps unambiguous code changes to well-defined operations and that blocks ambiguous changes until the user clarified his intent. We present a case study for Java code and component-based architectures to show how such an approach would only permit code changes with unambiguous effects on the architecture. To stimulate discussions at the workshop, we argue why such an approach is necessary and describe benefits and drawbacks of such a solution.