Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

FLASH

Fitness Landscape Analysis to improve Search Heuristics (2019-2022)

 

In der Softwareentwicklung treten zahlreiche Fragestellungen auf, die als Optimierungsprobleme formuliert und daher automatisiert mit verschiedenen suchbasierten Heuristiken/Algorithmen gelöst werden können. Typische Beispiele für derartige Probleme sind unter anderem die Pri­o­ri­sie­rung von Anforderungen, Releaseplanung, Architektur- und Design-Optimierung, automatische Behebung von Fehlern, Generierung und Anreicherung von Testsuites, und die Selektion und Pri­o­ri­sie­rung von Testfällen. Jedoch sind die Eigenschaften des Suchraums und der sogenannten Fitness-Landscape für die meisten dieser Probleme häufig unbekannt. Da­r­ü­ber hi­n­aus können Suchräume divers sein und von Problem zu Problem variieren (siehe folgende Abbildung). Daher erfolgt die Auswahl der Algorithmen durch Versuch und Irrtum. Verschiedene Algorithmen werden für das gegebene Problem ausprobiert und der vielversprechendste Algorithmus wird ausgewählt. Um dieses zeitaufwendige Verfahren zu umgehen, streben wir mit FLASH ein tiefgehendes Verständnis verschiedener Suchprobleme an, um eine gut fundierte Auswahl der Algorithmen einschließlich der Parameterwahl für diese Algorithmen zu ermöglichen. Folglich ist das Ziel von FLASH eine deskriptive Studie, die Fitness-Landscapes verschiedener Probleme charakterisiert. Basierend auf den daraus gewonnenen Erkenntnissen werden wir die Suchalgorithmen für diese Probleme verbessern. Durch eine experimentelle Validierung untersuchen wir empirisch, in wie weit ein besseres Verständnis der Fitness-Landscape zu Verbesserungen der Algorithmen nach heutigem Stand der Technik zur Entwicklungs- und Laufzeit beiträgt.

fitnesslandscapes.png

Die zentralen Herausforderungen sind (1) die effiziente Extraktion von Informationen über die Fitness-Landscape für verschiedene Probleme in der Softwaretechnik und (2) die effektive und automatische Verbesserung der Suchalgorithmen, um spezifische Probleme zu lösen. Zu diesem Zweck werden wir verschiedene Probleme aus der Softwaretechnik, die mit suchbasierten Optimierungsmethoden gelöst werden können, auswählen und untersuchen.

 

Beteiligte Personen:

 

FLASH wird gefördert durch die Deutsche Forschungsgemeinschaft (DFG).