A Manifesto for Semantic Model Differencing
Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe

TL;DR
This paper advocates for developing semantic model differencing techniques that compare models based on their meaning rather than syntax, enabling more accurate change management in software engineering.
Contribution
It introduces the concept of semantic diff operators for models, illustrating their potential with class and activity diagram examples, and discusses their development and application.
Findings
Semantic diff operators can identify models that are semantically equivalent despite syntactic differences.
Proposed algorithms aim to compute semantic differences effectively.
Semantic differencing enhances change management in model-driven engineering.
Abstract
Models are heavily used in software engineering and together with their systems they evolve over time. Thus, managing their changes is an important challenge for system maintainability. Existing approaches to model differencing concentrate on heuristics matching between model elements and on finding and presenting differences at a concrete or abstract syntactic level. While showing some success, these approaches are inherently limited to comparing syntactic structures. This paper is a manifesto for research on semantic model differencing. We present our vision to develop semantic diff operators for model comparisons: operators whose input consists of two models and whose output is a set of diff witnesses, instances of one model that are not instances of the other. In particular, if the models are syntactically different but there are no diff witnesses, the models are semantically…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Business Process Modeling and Analysis · Advanced Software Engineering Methodologies
