[Back]


Doctor's Theses (authored and supervised):

M. Wieber:
"Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme";
Supervisor, Reviewer: A. Schürr, G. Kappel; Institut für Softwaretechnik und Interaktive Systeme, 2015; oral examination: 2015-06-17.



English abstract:
Models and meta-models represent core concepts of the Model-Driven Software Development
(MDSD) paradigm. Programs which modify or translate models with reference to
their meta-models are commonly referred to as Model Transformations (MTs). They represent
a further vital concept of MDSD and their definitive scope led to the development
and usage of dedicated and adapted domain specific transformation languages.
Because of the key role MTs play in the MDSD paradigm their correctness is of utmost
importance. Consequently, a thorough quality assurance process is very advisable albeit
respective approaches are scarce. Some developed techniques based on formal verification
techniques suffer from their inherent complexity and high effort in practice. Also
scalability w. r. t. MT size can be problematic which renders some form of abstraction a
necessity and also implies neglecting certain details of an implementation. Testing, on
the other hand, does not feature these disadvantages. Unfortunately, well-established
testing techniques developed for conventional imperative programming languages cannot
be (fully) reused due to the different properties of MT languages. Adapted testing techniques
considering common MT features are a necessity. Up to now, black-box testing
based on input-output-behavior is predominant.
The overall aim of this work is the development of a white-box testing approach for
a specific class of MTs called programmed graph transformations. For this purpose a
white-box coverage criterion needs to be developed which can then be used to limit the
testing effort or to evaluate the quality of a test suite. Applicability and performance
aspects of such a criterion should also be evaluated.
For this purpose a new test coverage criterion based on graph patterns is presented.
It is mainly described from a theoretical and generic point of view but also practically
implemented as part of the eMoflon tool suite targeted at the Story-Driven-Modeling
(SDM) language. For reusing the well-established mutation analysis technique as a means
for evaluating the performance of the criterion in terms of its error detection capabilities,
errors need to be synthesized and implanted via mutation operators newly developed as
part of a mutation framework. Consequently, the relation between the coverage criterion
and the mutation adequacy can also be examined. Evaluations of the general applicability
and the performance are done as part of a larger case study based on two complex
transformation scenarios. This also includes a distinction between the new criterion and
code based coverage.
Initial experiments show that the new coverage notion is feasible and of practical
use. The visual nature of the occurring coverage items is close to the graphical type of
programming used in graph transformations which eases the construction of sensible test
cases. The results of the mutation analysis back the hypothesis that a test set which
achieves a high coverage is likely to discover more errors than a test set with low coverage.
Comparisons of the coverage metric values with those of code based coverage suggest the
existence of correlations. Measurements also confirm that the new coverage is superior
to the considered forms of code coverage in many ways which might prove beneficial in
many test setups, especially when testing MTs which are executed by an interpreter.

German abstract:
Modelle und Metamodelle repräsentieren Kernkonzepte der modellgetriebenen Softwareentwicklung
(MDSD). Programme, die Modelle (unter Bezugnahme auf ihre Metamodelle)
manipulieren oder ineinander überführen, werden als Modelltransformationen (MTs) bezeichnet
und bilden ein weiteres Kernkonzept. Für dieses klar umrissene Aufgabenfeld
wurden und werden speziell angepasste, domänenspezifische Transformationssprachen
entwickelt und eingesetzt.
Aufgrund der Bedeutung von MTs für das MDSD-Paradigma ist deren Korrektheit essentiell
und eine gründliche Qualitätssicherung somit angeraten. Entsprechende Ansätze
sind allerdings rar. In der Praxis erweisen sich die vornehmlich erforschten formalen Verifikationsansätze
häufig als ungeeignet, da sie oft zu komplex oder zu teuer sind. Des Weiteren
skalieren sie schlecht in Abhängigkeit zur Größe der betrachteten MT oder sind auf
Abstraktionen bezogen auf die Details konkreter Implementierungen angewiesen. Demgegenüber
haben testende Verfahren diese Nachteile nicht. Allerdings lassen sich etablierte
Testverfahren für traditionelle Programmiersprachen aufgrund der Andersartigkeit der
MT-Sprachen nicht oder nur sehr eingeschränkt wiederverwenden. Zudem sind angepasste
Testverfahren grundsätzlich wünschenswert, da sie typische Eigenschaften von MTs
berücksichtigen können. Zurzeit existieren hierzu überwiegend funktionsbasierte (Black-
Box-)Verfahren.
Das Ziel dieser Arbeit besteht in der Entwicklung eines strukturbasierten (White-
Box-)Testansatzes für eine spezielle Klasse von Modelltransformationen, den sog. programmierten
Graphtransformationen. Dafür ist anhand einer konkreten Vertreterin dieser
Sprachen ein strukturelles Überdeckungskonzept zu entwickeln, um so den Testaufwand
begrenzen oder die Güte der Tests bewerten zu können. Auch müssen Aspekte der Anwendbarkeit
sowie der Leistungsfähigkeit der resultierenden Kriterien untersucht werden.
Hierzu wird ein auf Graphmustern aufbauendes Testüberdeckungskriterium in der
Theorie entwickelt und im Kontext des eMoflon-Werkzeugs für die dort genutzte Story-
Driven-Modeling-Sprache (SDM) praktisch umgesetzt. Als Basis für eine Wiederverwendung
des etablierten Ansatzes der Mutationsanalyse zur Leistungsabschätzung des Kriteriums
hinsichtlich der Fähigkeiten zur Fehlererkennung werden Mutationen zur synthetischen
Einbringung von Fehlern identifiziert und in Form eines Mutationstestrahmenwerks
realisiert. Letzteres ermöglicht es, Zusammenhänge zwischen dem Überdeckungskonzept
und der Mutationsadäquatheit zu untersuchen. Im Rahmen einer umfangreichen Evaluation
wird anhand zweier nichttrivialer Modelltransformationen die Anwendbarkeit und die
Leistungsfähigkeit des Ansatzes in der Praxis untersucht und eine Abgrenzung gegenüber
einer quellcodebasierten Testüberdeckung durchgeführt.
Es zeigt sich, dass das entwickelte Überdeckungskonzept praktisch umsetzbar ist und
zu einer brauchbaren Überdeckungsmetrik führt. Die Visualisierbarkeit einzelner Überdeckungsanforderungen
ist der grafischen Programmierung bei Graphtransformationen
besonders nahe, so dass u. a. die Konstruktion sinnvoller Tests erleichtert wird. Die Mutationsanalyse
stützt die These, dass die im Hinblick auf Steigerungen der Überdeckungsmaße
optimierten Testmengen mehr Fehler erkennen als vor der Optimierung. Vergleiche
mit quellcodebasierten Überdeckungskriterien weisen auf die Existenz entsprechender
Korrelationen hin. Die Experimente belegen, dass die vorgestellte Überdeckung klassischen,
codebasierten Kriterien vielfach überlegen ist und sich so insbesondere auch für
das Testen von durch einen Interpreter ausgeführte Transformationen anbietet.

Keywords:
MDSD paradigm, MT language, story-driven modeling language

Created from the Publication Database of the Vienna University of Technology.