Zum Inhalt

OpenSpace

AI Techniques for Testing Highly-Variant Software

Programm / Ausschreibung Bridge, Bridge - ÖFonds, Bridge Ö-Fonds 2020 Status laufend
Projektstart 01.01.2022 Projektende 31.12.2024
Zeitraum 2022 - 2024 Projektlaufzeit 36 Monate
Keywords Variability Modeling, Configuration, Constraint Solving, Machine Learning, Testing and Debugging

Projektbeschreibung

Die zunehmende Parametrierbarkeit und daraus resultierende Variantenvielfalt von Software führt zu neuen Herausforderungen für Implementierungs- und Testprozesse. Um die angesprochene Variantenvielfalt überblickbar zu machen, werden Modellierungsansätze wie bspw. Feature Modelle zur Verfügung gestellt. Die resultierenden Modelle werden dann auf unterschiedliche Art und Weise bspw. in Build-Prozessen oder zur Laufzeit dazu verwendet, für Kunden eine personalisierte Variante der Software zur Verfügung zu stellen. Diese zunehmende „Mass Customization“ von Software führt bei der Erzeugung und Auswahl von Testfällen zu einem exponentiell wachsenden Suchraum. Die Hauptzielsetzung von OpenSpace ist die Entwicklung von Machine Learning basierten Verfahren zur Unterstützung von Test- und Debugging Prozessen, um mit der zunehmenden Komplexität auf effiziente Art und Weise umgehen zu können. In diesem Zusammenhang fokussiert OpenSpace auch auf die Entwicklung von Testmethoden für Variabilitätsmodelle (Feature Modelle), die im Kontext der Entwicklung und Wartung sog. Software Produktlinien eine zentrale Rolle einnehmen. Aus Forschungssicht bringen die OpenSpace Entwicklungen wesentliche Verbesserungen im Bereich 1) der automatisierten Analyse von Variabilitätsmodellen (im Speziellen neuartige Ansätze zur Identifikation von fehlerhaften Modellteilen und zur Generierung von Testfällen) und 2) der Machine Learning basierten Identifikation von fehlerhaften Teilen in der Software und suboptimalen Parameterierungen, die zu ineffizientem Verhalten bzw. zum Ausfall der Software führen können. Da in Softwareprojekten mit einem ungefähren Testanteil von 20-45% an der Entwicklung zu rechnen ist, kommt Verbesserungen in diesem Bereich vor allem im Kontext der Entwicklung von komplexen und variantenreichen Softwaresystemen eine extrem hohe Bedeutung zu. Aus dieser Situation ergibt sich für den OpenSpace Anwendungspartner UNiQUARE die Notwendigkeit einer systematischen Adaptierung der eigenen Testprozesse, die für eine nachhaltige Verbesserung der Entwicklungsprozesse notwendig ist.

Abstract

The increasing degree of parameterizability and resulting degree of software variability leads to new challenges regarding software development- and test processes. In order to be able to deal with an increasing software variability, different modeling approaches such as feature models are provided. For providing a personalized software variant to the customer, the resulting models are taken into account in build processes or during runtime. This increasing degree of software “mass customization” makes, for example, the search for relevant test cases more complex. A major goal of OpenSpace is the development of Machine Learning approaches that efficiently support different tasks related to software testing & debugging in order to be able to deal with the increasing complexity of software. In this context, OpenSpace will develop variability-aware test methods which play a major role in the context of software product lines. From the viewpoint of research, OpenSpace will develop new approaches 1) to the automated analysis of variability models and corresponding test case generation and 2) to the machine learning based identification of faulty software components and faulty/suboptimal parametrizations which could lead to inefficiencies or erroneous behavior. The share of testing efforts in software projects is around 25-40%. Improvements in related quality assurance processes are of extreme importance especially in the context of software product line development. Due to the increasing complexity and variability of the provided software components, the OpenSpace application partner UNiQUARE wants to make test processes “variability-aware” in order to achieve a sustainable improvement in software development practices.