Hauptinhalt

Modellgetriebene Optimierung in der Softwaretechnik

Finanziert von der Deutschen Forschungsgemeinschaft (2021–2024)

Viele Probleme in der Softwaretechnik können als Optimierungsprobleme betrachtet werden, wie zum Beispiel Softwaremodularisierung, das Testen von Software, und die Planung von neuen  Releases. In der suchbasierten Softwaretechnik werden metaheuristische Techniken zur Lösung von Optimierungsproblemen der Softwaretechnik eingesetzt. Einer der weit verbreiteten  Ansätze zur iterativen Erforschung eines Suchraumes sind evolutionäre Algorithmen. Die Problemdomänen der Softwaretechnik werden typischerweise mit Vektoren oder Bäumen kodiert, da  evolutionäre Operatoren einfach spezifiziert werden können. Wenn die Qualität der Optimierungsergebnisse nicht so hoch, wie erwartet, ist, kann eine Erklärung für diesen Effekt sein, dass  domänenspezifisches Wissen bei der explorativen Suche nicht ausreichend erfasst wird. Model Driven Engineering (MDE) bietet Konzepte, Methoden und Techniken, um domänenspezifische  Modelle einheitlich zu verarbeiten. Die Verwendung von MDE in der suchbasierten Softwaretechnik wird modellgetriebene Optimierung (MDO) genannt; sie wurde an bekannten  Optimierungsproblemen in der Literatur demonstriert. MDO ist vielversprechend, da domänenspezifisches Wissen systematisch in SBSE eingebracht werden kann.

Um die MDO-Vision zu  stärken, zielt dieses Projekt darauf ab, MDO zu konsolidieren, d.h. eine wissenschaftliche Grundlage für die bisher erzielten Ergebnisse zu entwickeln und ein tieferes Verständnis zu erlangen,  wann und wie MDO zur Lösung von Optimierungsproblemen in der Softwaretechnik eingesetzt werden soll. Diese Projektvision lässt sich in die folgenden Ziele unterteilen: (1) Entwicklung eines  formalen Rahmens für MDO, der einen einheitlichen Ansatz für die Spezifikation von Optimierungsproblemen und evolutionären Algorithmen unter Verwendung von domänenspezifischem  Wissen definiert. Dieser Rahmen wird zur Klärung von Konzepten und zum Argumentieren über die Qualität evolutionärer Algorithmen verwendet, so dass Entwickler  fundierte Entscheidungen treffen können. (2) Durchführung einer empirischen Evaluation von MDO zur Untersuchung seiner praktischen Relevanz. Für diese Evaluation wurden zwei aktuelle  Themenbereiche von SBSE identifiziert, das Mutationstesten und die genetische Verbesserung von Programmen. Als Voraussetzung für diese Evaluation wird eine integrierte  Werkzeugumgebung für MDO entwickelt, die alle praxisrelevanten Konzepte und Ergebnisse des formalen Rahmens berücksichtigt.

Projektmitarbeiter

Jens Kosiol

Weitere Informationen

Projektwebsite DFG