CVSM Bibliography, Entry [ ShPKK2014CSRD ]


Shariat Yazdi, Hamed; Pietsch, Pit; Kehrer, Timo; Kelter, Udo: Synthesizing Realistic Test Models; Computer Science - Research and Development, Springer Vol.30:3-4, August 2015, p.231-253, First online: 21.06.2014; 2014
Library Entries: springerlink
Deskriptoren: CVSM, PI, evolution, model:difference, repository system, model:histories

Abstract: Tools and methods in the context of Model Driven Engineering (MDE) have to be evaluated and tested using appropriate models as test cases. Unfortunately, adequate test models are scarcely available in many application domains and have to be artificially created. In this regard, model generators have been proposed recently. Principally, they generate test models by modifying a base model using a specified set of edit operations. The modification process should be done in a way that the resulting test models are as "realistic" as possible, i.e. the applied changes should resemble the real evolution that one observes in real software systems at the abstraction level of models. Therefore, we have to (1) properly capture the evolution of real software models, (2) statistically model the evolution (changes) and (3) finally properly reproduce it in the generated test models. To this end, we reversed engineered all revisions of nine typical Java systems into their class diagrams (totally 6,559 distinct models). We compared the subsequent models using a state-of-the-art model differencing tool and we computed the changes between them in terms of applied edit operations. We investigated the fitness of 60 promising distributions on the observed frequencies of edit operations in order to statistically model the changes. Four of our candidate distributions were successful to statistically model the changes with very good success rates. Since it was not known how to implement them, i.e. produce their random variates, we developed a practical implementation. The implemented distributions are then used to reproduce the real evolution of software systems in order to synthesize more realistic test models for MDE tools.