TU Darmstadt / ULB / TUprints

Rekonfigurierbare Software-Systeme: Spezifikation und Testfallgenerierung

Bürdek, Johannes :
Rekonfigurierbare Software-Systeme: Spezifikation und Testfallgenerierung.
Technische Universität, Darmstadt
[Ph.D. Thesis], (2018)

[img]
Preview
Text
Dissertation-Bürdek.pdf - Accepted Version
Available under CC-BY-SA 4.0 International - Creative Commons, Attribution Share-alike.

Download (7MB) | Preview
Item Type: Ph.D. Thesis
Title: Rekonfigurierbare Software-Systeme: Spezifikation und Testfallgenerierung
Language: German
Abstract:

Hochkonfigurierbare Software wird heutzutage in vielen modernen Anwendungsdomänen eingesetzt, um immer stärker individualisierte Anforderungen bedienen zu können. Eine Schlüsseltechnologie zum Umgang mit konfigurierbarer Software ist Software-Produktlinienentwicklung, bei der eine Software-Familie, bestehend aus ähnlichen Produkten, entwickelt wird. Die Variabilität der Funktionalität der Produkte wird dabei in Features gekapselt, welche die für Kunden sichtbaren Konfigurationsoptionen einer Software-Produktlinie (SPL) darstellen. Moderne Software-Systeme müssen jedoch nicht nur hochkonfigurierbar sein, sondern auch unter sich kontinuierlich ändernden Bedingungen, wie wechselnden Anforderungen, funktionieren. Beispielsweise müssen Produktivsysteme aus der Automatisierungstechnik immer flexibler werden, um die Anforderungen neuer Produktionsmethoden im Industrie-4.0-Kontext zu erfüllen. Eine Erweiterung von SPLs zur Modellierung solcher individuell konfigurierbaren, laufzeitadaptiven Systeme mit der Fähigkeit der Rekonfiguration zur Laufzeit sind dynamische Software-Produktlinien (DSPL).

Speziell im Kontext von missions- und sicherheitskritischen Systemen erfordert das Design zuverlässiger DSPLs eine präzise Spezifikation des funktionalen und des Rekonfigurationsverhaltens. Aktuellen Arbeiten zur Spezifikation von DSPLs fehlt es jedoch an Möglichkeiten, um komplexe Restriktionen auf Konfigurationsparametern sowie entsprechenden Rekonfigurationsoptionen präzise formulieren zu können. Weiterhin ist eine umfassende Qualitätssicherung von DSPLs mit Fokus auf deren Rekonfigurationsverhalten erforderlich, um ein Fehlverhalten sicherheitskritischer DSPLs möglichst auszuschließen. In der Praxis ist das Testen die etablierteste und am besten skalierende Qualitätssicherungstechnik. Jedoch beschreiben aktuelle Arbeiten zum Testen von DSPLs im Allgemeinen Test-Frameworks, die das Vorhandensein einer initialen, manuell erstellen Test-Suite voraussetzen, aber die Erstellung dieser Test-Suiten außer Acht lassen.

In dieser Arbeit stellen wir einen ganzheitlichen Ansatz zur Spezifikation und Validierung von DSPLs sowie zur automatisierten Generierung von Testfällen für DSPLs vor. Dabei werden existierende Spezifikationsansätze für DSPLs dahingehend erweitert, dass Features in einem flexiblen stufenweisen Konfigurationsprozess mit multiplen Bindungszeiten konfiguriert werden können und logische sowie temporale Abhängigkeiten zwischen Features durch komplexe Bindungszeitrestriktionen präzise ausgedrückt werden können. Darauf aufbauend werden automatisierte Validierungsansätze für DSPL-Spezifikationen vorgestellt, welche essentielle Validitätseigenschaften von stufenweisen Konfigurationsprozessen mit komplexen Bindungszeitrestriktionen sicherstellen.

Weiterhin wird ein Ansatz zur effizienten Test-Suite-Generierung mit Fokus auf dem Rekonfigurationsverhalten von DSPLs präsentiert. Da Testgenerierung aufgrund wiederholter berechnungsintensiver Erreichbarkeitsanalysen für verschiedene Testziele gemäß einem Abdeckungskriterium schon für einzelne Produkte ein schweres Problem darstellt, ist es das Ziel die Wiederverwendbarkeit von Ergebnissen zwischen den Erreichbarkeitsanalysen zu erhöhen. Hierfür werden zuerst existierende Model-Checker-basierte Testgenerierungsansätze mit aktuellen Techniken aus dem Bereich Multi-Property-Checking zur Erhöhung der Wiederverwendung von Erreichbarkeitsanalyseergebnissen zur Abdeckung mehrerer Testziele kombiniert. Dieser Ansatz wird um die Möglichkeit erweitert, Testfälle für ganze Software-Familien zu erstellen und dadurch Erreichbarkeitsanalyseergebnisse zwischen Produkten wiederzuverwenden. Zum Schluss wird der Ansatz so erweitert, dass bei der Testgenerierung das Rekonfigurationsverhalten von DSPLs mitberücksichtigt wird.

Die in dieser Arbeit vorgestellten Konzepte werden anhand von Beispielen aus der Praxis motiviert und illustriert sowie auf Basis prototypischer Implementierungen evaluiert.

Alternative Abstract:
Alternative AbstractLanguage
Nowadays, software becomes more and more configurable to be adaptable to the ever-growing diversity of requirements and customers’ needs. A key technology to cope with configurable software is software product line engineering, aiming at developing software families consisting of similar but still distinguishable products. Features encapsulate the variability of the functionality of those products. Hence, features denote user-visible configuration options of a software product line (SPL). However, modern software systems not only have to cope with variability, but also with ever-changing conditions such as changing requirements. Dynamic software product lines (DSPL) extend SPLs to model such individually configurable, runtime-adaptive systems being able to reconfigure at runtime. Especially in the context of mission- and safety-critical software systems, the design of reliable DSPLs requires capabilities for a precise specification of the systems’ functional and reconfiguration behavior. Nevertheless, recent publications related to the specification of DSPLs left the possibility of a precise formulation of complex constraints among configuration parameters and/or respective reconfiguration options out of scope. Besides a precise specification, extensive quality assurance activities for DSPLs with a focus on their reconfiguration capabilities are indispensable to prevent any erroneous behavior of mission- and safety-critical DSPLs at runtime. In practice, software testing is the most established and scalable quality-assurance technique. However, recent work concerning DSPL testing rather provide general testing frameworks expecting a manually created initial test suite as input than a technique to systematically create or even automatically generate DSPL test suites for testing the functional and the reconfiguration behavior of DSPLs. In this thesis, we present a comprehensive approach for the specification and validation of DSPLs as well as the automated generation of DSPL test suites. To this end, we extend existing DSPL specification approaches by the capabilities to configure features in a flexible staged-configuration process with multiple binding times and to formulate logical as well as temporal dependencies between features by means of complex binding-time constraints. On top of this DSPL specification approach, we further provide automated validation techniques for DSPL specifications to verify essential validity properties of staged configuration processes with complex binding-time constraints during domain engineering. Furthermore, we present an efficient test-suite generation technique focusing on the reconfiguration behavior of DSPLs. Generating efficient test suites remains computationally expensive even for single products, consisting of repetitive reachability analyses for multiple test goals according to a specific coverage criterion. This situation is even worse when generating test suites for entire software families as apparent in the context of (D)SPLs. Hence, our test-suite generation technique aims at reusing reachability-analysis results to reduce computational efforts at three consecutive levels, the product level, the SPL level and the DSPL level. At product level, we combine existing model-checking-based test-suite generation approaches with recently developed techniques from the area of multi-property checking to increase the reusability of reachability-analysis results among test goals by processing and covering multiple test goals in parallel. At SPL level, this approach is extended by the capability to generate test suites for an entire software family by reusing reachability-analysis results among products. Finally, we extend the approach at DSPL level by considering the reconfiguration behavior of DSPLs beside their functional behavior. The concepts and techniques contributed in this thesis are primarily motivated and illustrated by means of a real-world high-configurable runtime-adaptive system from the automation domain. Based on prototypical implementations, we provide an evaluation of the presented techniques using various real-world case studies.English
Place of Publication: Darmstadt
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: 20 Department of Computer Science
Date Deposited: 17 Dec 2018 09:01
Last Modified: 17 Dec 2018 09:01
URN: urn:nbn:de:tuda-tuprints-81615
Referees: Schürr, Prof. Dr. Andy and Schaefer, Prof. Dr. Ina
Refereed: 29 October 2018
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/8161
Export:
Actions (login required)
View Item View Item