Towards Efficient Model Comparison Using Automated Program Rewriting
summary
Rewrites Epsilon ECL comparison programs with a static analyzer, dependency-graph scheduler and a program rewriter that injects pre-filtering indexes and caches; executes rewritten scripts on the standard Epsilon ECL engine and yields a much smaller match trace while preserving all successful matches (equivalence testing). Experiments on class/sequence diagrams and synthetic OO–DB models (scaling toward millions of elements) show orders-of-magnitude reductions in execution time (baseline runs hit ~2 hours) at the cost of extra memory for the injected caches via the program rewriter.
AI-written summary · about
chapters (17)
- 0:00Efficient model comparison intro
- 1:07What are models in MDE
- 2:55Traditional vs rule-based comparison
- 4:03Epsilon and ECL overview
- 6:29How ECL programs work
- 7:11Large-scale comparison challenges
- 9:23Optimization approach overview
- 11:12Static analysis for type resolution
- 11:55Dependency graph generation
- 13:00Rule scheduling optimization
- 14:06Detecting optimizable rules
- 14:48Injecting caches
- 16:36Optimized ECL results
- 16:57Evaluation setup
- 17:39Performance vs traditional ECL
- 19:28Conclusion and future work
- 20:13Q&A
related talks
25mEGSTRA: E-Graph-Based Strategy for Test Suite Reduction and Abstraction
26mIs this really a refactoring? Automated equivalence checking for Erlang projects
17mContextual Equality Saturation
30megg: Fast and Extensible Equality Saturation
16mTermination Analysis for Evolving Programs: An Incremental Approach by Reusing Certified Modules
01h 09mSCCharts Twelve Years Later: A Reflection on Sequential Constructiveness and(…)
25mDomain-specific model differencing in visual concrete syntax
23mAutomatically Detecting Error Handling Bugs Using Error Specifications
