  Model transformations play a fundamental role in model-driven software
development. They can be used to solve or support central tasks, such as
creating models, handling model co-evolution, and model merging. In the past,
various (semi-)automatic approaches have been proposed to derive model
transformations from meta-models or from examples. These approaches require
time-consuming handcrafting or recording of concrete examples, or they are
unable to derive complex transformations. We propose a novel unsupervised
approach, called Ockham, which is able to learn edit operations from model
histories in model repositories. Ockham is based on the idea that meaningful
edit operations will be the ones that compress the model differences. We
evaluate our approach in two controlled experiments and one real-world case
study of a large-scale industrial model-driven architecture project in the
railway domain. We find that our approach is able to discover frequent edit
operations that have actually been applied. Furthermore, Ockham is able to
extract edit operations in an industrial setting that are meaningful to
practitioners.
