CDDiff: Semantic Differencing for Class Diagrams
Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe

TL;DR
This paper introduces cddiff, a semantic differencing tool for class diagrams that compares models based on their meaning rather than syntax, aiding in effective change management during software evolution.
Contribution
cddiff is the first semantic diff operator for class diagrams, utilizing Alloy for computation and providing more meaningful change insights than syntactic methods.
Findings
cddiff effectively identifies semantic differences in class diagrams.
The approach outperforms syntactic comparison methods in evolution analysis.
Prototype implementation in Eclipse demonstrates practical applicability.
Abstract
Class diagrams (CDs), which specify classes and the relationships between them, are widely used for modeling the structure of object-oriented systems. As models, programs, and systems evolve over time, during the development lifecycle and beyond it, effective change management is a major challenge in software development, which has attracted much research efforts in recent years. In this paper we present cddiff, a semantic diff operator for CDs. Unlike most existing approaches to model comparison, which compare the concrete or the abstract syntax of two given diagrams and output a list of syntactical changes or edit operations, cddiff considers the semantics of the diagrams at hand and outputs a set of diff witnesses, each of which is an object model that is possible in the first CD and is not possible in the second. We motivate the use of cddiff, formally define it, and show how it is…
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
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Model-Driven Software Engineering Techniques
