[Paper Review] ADDiff: Semantic Differencing for Activity Diagrams
ADDiff introduces a semantic differencing approach for activity diagrams that identifies execution traces present in one diagram but not in another, enabling deeper understanding of behavioral changes during model evolution. It uses symbolic computation with BDDs and forward search to detect 'diff witnesses'—semantically significant differences—offering a more meaningful alternative to syntactic model comparison.
Activity diagrams (ADs) have recently become widely used in the modeling of workflows, business processes, and web-services, where they serve various purposes, from documentation, requirement definitions, and test case specifications, to simulation and code generation. As models, programs, and systems evolve over time, understanding changes and their impact is an important challenge, which has attracted much research efforts in recent years. In this paper we present addiff, a semantic differencing operator for ADs. 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, addiff considers the Semantics of the diagrams at hand and outputs a set of diff witnesses, each of which is an execution trace that is possible in the first AD and is not possible in the second. We motivate the use of addiff, formally define it, and show two algorithms to compute it, a concrete forward-search algorithm and a symbolic xpoint algorithm, implemented using BDDs and integrated into the Eclipse IDE. Empirical results and examples demonstrate the feasibility and unique contribution of addiff to the state-of-the-art in version comparison and evolution analysis.
Motivation & Objective
- To address the limitation of syntactic model comparison in capturing meaningful behavioral changes in evolving activity diagrams.
- To provide a method for identifying execution traces that are valid in one activity diagram but not in another, representing true semantic differences.
- To support software engineers in understanding the impact of model evolution on system behavior during requirements analysis, testing, and maintenance.
- To integrate the differencing technique into the Eclipse IDE for practical use in model-driven development workflows.
Proposed method
- ADDiff computes semantic differences by identifying execution traces that exist in the first activity diagram but are not possible in the second, termed 'diff witnesses'.
- It employs a concrete forward-search algorithm to explore all possible execution paths in the source and target diagrams.
- A symbolic fixed-point algorithm using Binary Decision Diagrams (BDDs) is used to efficiently represent and compare large state spaces.
- The approach leverages model semantics rather than syntax, focusing on behavioral equivalence and divergence.
- The algorithms are implemented and integrated into the Eclipse IDE for real-time analysis of model evolution.
- The method supports both manual inspection and automated analysis of behavioral changes in workflow and service models.
Experimental results
Research questions
- RQ1How can we detect meaningful behavioral differences between two versions of an activity diagram beyond syntactic changes?
- RQ2What is a formal and computationally feasible way to identify execution traces that are present in one diagram but not in another?
- RQ3Can symbolic computation with BDDs effectively scale to detect semantic differences in complex activity diagrams?
- RQ4How does the proposed semantic differencing approach improve upon traditional syntax-based model comparison techniques?
- RQ5What is the practical utility of diff witnesses in real-world model evolution and software maintenance tasks?
Key findings
- ADDiff successfully identifies semantic differences in activity diagrams by detecting execution traces that are possible in one model but not in another, providing insight into behavioral changes.
- The symbolic fixed-point algorithm using BDDs enables scalable analysis of large and complex activity diagrams by compactly representing state spaces.
- Empirical evaluation demonstrates that ADDiff detects meaningful behavioral changes that are missed by purely syntactic comparison tools.
- The integration of ADDiff into the Eclipse IDE enables interactive, real-time analysis of model evolution, supporting developers during maintenance and refactoring.
- Case studies show that diff witnesses help developers understand the impact of changes on system behavior, especially in workflows and web services.
- The approach reveals that syntactic changes often mask or obscure significant semantic differences, highlighting the need for semantic-aware model comparison.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.