TU Darmstadt / ULB / TUprints

Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme

Wieber, Martin Simon (2015)
Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
Text
Diss_Wieber__finale_Veröffentlichungsversion_final3.pdf - Accepted Version
Copyright Information: CC BY-NC-ND 3.0 Unported - Creative Commons, Attribution, NonCommercial, NoDerivs.

Download (5MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme
Language: German
Referees: Schürr, Prof. Dr. Andy ; Kappel, Prof. Dr. Gerti
Date: 2015
Place of Publication: Darmstadt
Date of oral examination: 17 June 2015
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.

Alternative Abstract:
Alternative AbstractLanguage

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.

English
Uncontrolled Keywords: Testen, Überdeckung, Modelltransformationen, Graphtransformationen
Alternative keywords:
Alternative keywordsLanguage
test, testing, coverage, model transformation, graph transformation, graph rewritingEnglish
URN: urn:nbn:de:tuda-tuprints-46780
Classification DDC: 000 Generalities, computers, information > 004 Computer science
600 Technology, medicine, applied sciences > 600 Technology
600 Technology, medicine, applied sciences > 620 Engineering and machine engineering
Divisions: 18 Department of Electrical Engineering and Information Technology
18 Department of Electrical Engineering and Information Technology > Institute of Computer Engineering > Real-Time Systems
Date Deposited: 10 Aug 2015 07:44
Last Modified: 09 Jul 2020 00:59
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/4678
PPN: 386801045
Export:
Actions (login required)
View Item View Item