Detailseite
Projekt Druckansicht

SoftwareDynamics²: Feingranulare Evolution von Programmverhalten

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2016 bis 2022
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 288909335
 
Softwaresysteme werden ständig weiter entwickelt. Während die Änderungen von statischen Eigenschaften von Softwaresystemen, wie zum Beispiel durch Softwaremetriken, Codeklonen und statischen Abhängigkeiten ausgedrückt, bereits detailliert erforscht wurden, wurden Änderungen von dynamischen Eigenschaften nur auf makroskopischer Ebene untersucht. Grundlegende Fragen, wie zum Beispiel, was sind die Auswirkungen einer bestimmten Änderung im Quellcode auf die Ausführung eines Softwaresystems, oder, welche Änderungen verursachten eine Verschlechterung der Laufzeit, können momentan von Softwareentwicklern und Forschern nicht leicht beantwortet werden.Das Ziel dieses gemeinsamen Forschungsprojekts zwischen Fabian Beck von der Universität Stuttgart und Martin Pinzger von der Alpen-Adria Universität Klagenfurt ist es, das Zusammenspiel zwischen Evolution und Ausführung von Softwaresystemen zu erforschen. Zu diesem Zweck beabsichtigen wir die Erforschung neuartiger Methoden und Techniken, um den Einfluss bestimmter Änderungen im Quellcode auf das dynamische Verhalten einer Software zu analysieren und zu visualisieren, sowie um die Ursachen bestimmter Abweichungen im Programmverhalten zu finden. Im Unterschied zu bisheriger Forschung soll die Evolution genauso wie die Ausführung der Softwaresysteme feingranular untersucht werden: wir werden Änderungen am Programm auf der Ebene von abstrakten Syntaxbäumen sowie Unterschiede im Verhalten bis zum Detailgrad von Aufruf- und Objektgraphen berücksichtigen. Wir planen die Evaluierung unserer Methoden und Techniken in zahlreichen empirischen Studien mit diversen Softwaresystemen und in Benutzerstudien mit Softwareentwicklern. Darüber hinaus werden wir die Methoden in neuartige Vorhersage- und Empfehlungstechniken integrieren, die Softwareentwickler bei der Optimierung von Performanzmetriken, wie Rechenzeit oder Speicherverbrauch, unterstützen. Eine große Herausforderung des Projekts ist die korrekte Abbildung einzelner Änderungen im Quellcode auf die dazugehörigen Änderungen im Programmverhalten. Zudem müssen die entwickelten Methoden skalieren und verschiedene Detailierungsgrade unterstützen, um die feingranularen Daten für Softwareentwickler und Forscher zugänglich und verständlich zu machen.Die systematische und genaue Analyse der beiden Zeitdimensionen stellt eine einzigartige Gelegenheit für die Forschung dar, die bisher noch nicht untersucht worden ist. Die in Aussicht gestellten Resultate des Vorhabens umfassen Methoden, die es Forscher erlauben, ein besseres Verständnis der Evolution von Software zu entwickeln, das über die Berücksichtigung von statischen Eigenschaften hinausgeht. Zudem werden unsere Methoden die Entwickler in der Wartung und Weiterentwicklung von Softwaresystemen unterstützen, insbesondere bei der Optimierung des Programmverhaltens.
DFG-Verfahren Sachbeihilfen
Internationaler Bezug Niederlande, Österreich, Schweiz
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung