Abgeschlossene Arbeiten

Studentische Arbeiten

Mutation von Feature-Modellen zur Simulation von Evolutionszenarien langlebiger Software-Produktlinien

Typ der Arbeit: Bachelor-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Arbeit abgeschlossen am: 17.02.2015
Betreuer*in: Prof. Dr. rer. nat. Malte Lochau

Zurück zur Übersicht

Motivation

Zur Anpassbarkeit einer Software haben sich in den vergangenen Jahren sogenannte Software-Produktlinien(SPL)[3] etabliert. Durch SPL wird dem Kunden die Möglichkeit gegeben, das Produkt mittels Spezifikation einer passenden Konfiguration, an die eigenen Vorlieben anzupassen. Software-Produktlinien werden in Form von Feature Modellen repräsentiert [1]. Diese beinhalten einzelne Features, die über entsprechende Implementierungsartefakte verbunden sind. Je nach Wahl eines Features, ändert sich die Konfiguration einer Software. Damit kann durch systematisches Wiederverwenden [2] der Feature Modelle(FM), automatisch Kundenabhängige Software generiert werden. Folglich wird ein FM syntaktisch durch ein Diagramm mit allen Features und ihren Abhängigkeiten repräsentiert und semantisch durch die Menge der Feature-Kombinationen erfüllt.

Software-Produktlinien werden einmal entworfen und sollen möglichst lange zur Generierung von Produkten genutzt werden. Hierbei wird durch Evolution der Feature Modelle eine fortlaufende Weiterentwicklung der Produkte gewehrleistet. Die folgenden Kategorien beschreiben eine semantische Änderung, die laut Thüm et al. [2] aus syntaktischen Anpassungen des FM resultieren:

  1. Beim Refactoring findet eine Neuanordnung der Features mit ihren Abhängigkeiten innerhalb des Feature Modells statt. Hier werden keine neuen Produkte hinzugefügt oder gelöscht.
  2. Die Generalisierung benennt das Hinzufügen neuer Produkte in ein Feature Modell.
  3. Die Spezialisierung erlaubt ausschließlich das Löschen interner Produkte aus einem Feature Modell.
  4. Beim “Arbitrary Edit” werden willkürlich Produkte innerhalb eines Feature Modells hinzugefügt, gelöscht oder neu angeordnet.

Dadurch, dass Feature Modelle im Laufe der Zeit evolvieren, müssen Methoden gefunden werden, die diese Weiterentwicklung verarbeiten und klassifizieren können. Voraussetzung hierbei, ist zum einen die Richtigkeit der Klassifizierung und zum anderen die Effizienz der Verarbeitung [2]. Hierbei benennt Henard et al. [1] als Beispiel einen Video Player, der durch 71 integrierte Features geschätzte 4.5E13 Kombinationsmöglichkeiten erlaubt. Diese zu testen und mögliche „Errors“ herauszufiltern ist überaus aufwendig. Jedoch kann hierbei auf der einen Seite die semantische Korrektheit gewehrleistet und auf der anderen unnötige „constrains“ eliminiert werden. Um solche Klassifikationsverfahren testen zu können, müssen FM Evolutionen gezielt simuliert werden. Das Evolvieren von Feature Modellen, kann von der Testtheorie inspiriert als FM Mutation bezeichnet werden. Abbildung 1 zeigt am Beispiel des Videoplayers eine solche Mutation, die durch das „Refactoring“ entstehen kann.

 

[1] Henard, C.; Papadakis, M.; Perrousin, G.; Klein, J.; Le Tran, Y: Assessing Software Product Line Testing via Model-based Mutation: An Application to Similarity Testing

[2] Thüm, T.; Batory, D.; Kästner, C.: Reasoning about Edits to Feature Models

[3] Pohl K.; Böckle G.; Van der Linden F.: Software Product Line Engineering: Foundations, Principles and Techniques

Aufgabenstellung

Erkennung und Eliminierung von fehlerbehafteten Mutationen eines Feature Modells.

Zurück zur Übersicht