A State-of-the-Art Survey on Software Merging
IEEE Transactions on Software Engineering
Semantic Diff: A Tool for Summarizing the Effects of Modifications
ICSM '94 Proceedings of the International Conference on Software Maintenance
The UML as a Formal Modeling Notation
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Differences between versions of UML diagrams
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
A generic approach to supporting diagram differencing and merging for collaborative design
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Matching and Merging of Statecharts Specifications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Differencing logical UML models
Automated Software Engineering
ATL: A model transformation tool
Science of Computer Programming
Models in Conflict --- Towards a Semantically Enhanced Version Control System for Models
Models in Software Engineering
Differential symbolic execution
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Dependent and Conflicting Change Operations of Process Models
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Reasoning on UML class diagrams
Artificial Intelligence
From UML to Alloy and back again
Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
MontiCore: a framework for compositional development of domain specific languages
International Journal on Software Tools for Technology Transfer (STTT)
A manifesto for semantic model differencing
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
Proceedings of the 25th European conference on Object-oriented programming
Using a model merging language for reconciling model versions
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
ADDiff: semantic differencing for activity diagrams
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Proceedings of the 25th European conference on Object-oriented programming
CD2Alloy: class diagrams analysis using alloy revisited
Proceedings of the 14th international conference on Model driven engineering languages and systems
Structured merge with auto-tuning: balancing precision and performance
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
CAiSE'12 Proceedings of the 24th international conference on Advanced Information Systems Engineering
An introduction to model versioning
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Formal specification and testing of model transformations
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Searching for model migration strategies
Proceedings of the 6th International Workshop on Models and Evolution
Hi-index | 0.00 |
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 computed. The computation is based on a reduction to Alloy. The work is implemented in a prototype Eclipse plug-in. Examples show the unique contribution of our approach to the state-of-the-art in version comparison and evolution analysis.