FLASH II: Steuerung von Suchprozessen für Testfallgenerierung und Programmreparatur


Deutsche Projektbeschreibung
Suchbasierte Techniken (z. B. unter Verwendung genetischer Algorithmen) entsprechen dem aktuellen Entwicklungsstand zur Realisierung von Ansätzen zur Testfallgenerierung und Programmreparatur. Für eine konkrete Software verwenden solche Ansätze in der Regel eine statische Konfiguration der Suchtechnik (z. B. Parameter, Operatoren und Fitnessfunktionen), um automatisch Testfälle oder Patches zu erstellen. Da die Leistung einer Suchtechnik stark von ihrer Konfiguration abhängt, wird eine geeignete Konfiguration einmalig vor der Suche (offline) ausgewählt. Wir gehen einen Schritt weiter: Unsere Hypothese ist, dass eine statische Konfiguration einer Suchtechnik während des gesamten Suchprozesses keine optimale Wahl ist, da dies den aktuellen Zustand und den Fortschritt der Suche nicht berücksichtigt. Daher streben wir eine dynamische Konfiguration an, die während der Suche (online) durch Regelung angepasst wird und statische Ansätze zur Testfallgenerierung und Programmreparatur übertrifft. Zu diesem Zweck (1) führen wir eine Evolutionsanalyse durch, um die relevanten dynamischen Merkmale zu lernen, die die Leistung einer Suchtechnik für ein gegebenes Problem beeinflussen, (2) entwickeln Regler (Controller) für die Evolution auf der Grundlage dieser Merkmale und (3) integrieren Menschen in den Such- und Regelungskreis, um die automatische Regelung zu unterstützen.

Englische Projektbeschreibung
Search-based techniques (e.g., using genetic algorithms) are a state-of-the-art means to facilitate test case generation and program repair approaches. For a given software, such approaches typically use one static configuration of a search technique (e.g., parameters, operators, and fitness functions) to automatically produce test cases or patches. Since the performance of a search technique highly depends on its configuration, an appropriate configuration is selected once offline. We go one step further: Our hypothesis is that a static configuration of a search technique throughout the search process is not an optimal choice, as this does not take into account the current state and progress of the search. Therefore, we envision a dynamic configuration that is controlled online during the search and that outperforms uncontrolled test case generation and program repair approaches. To this end, we (1) perform an evolution analysis to learn the relevant dynamic features that impact the performance of a search technique for a given problem, (2) design and develop controllers for the evolution based on these features, and (3) incorporate humans in the loop to support the automated control.

Projektleitung
Vogel, Thomas Dr. (Details) (Softwaretechnik)

Beteiligte Organisationseinheiten der HU

Mittelgeber
DFG: Eigene Stelle (Sachbeihilfe)

Laufzeit
Projektstart: 10/2025
Projektende: 09/2028

Forschungsbereiche
Softwaretechnik und Programmiersprachen

Forschungsfelder
Software Engineering

Zuletzt aktualisiert 2024-13-11 um 08:33