FLASH II: Controlling Search-Based Test Case Generation and Program Repair


German project description
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.

English project description
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.

Principal investigators
Vogel, Thomas Dr. (Details) (Software Engineering)

Participating organisational units of HU Berlin

Financer
DFG: Eigene Stelle (Sachbeihilfe)

Duration of project
Start date: 10/2025
End date: 09/2028

Research Areas
Software Engineering and Programming Languages

Research Areas
Software Engineering

Last updated on 2024-13-11 at 08:33