Please use this identifier to cite or link to this item: doi:10.22028/D291-41540
Title: Black-box performance modeling of configurable software systems
Author(s): Kaltenecker, Christian
Language: English
Year of Publication: 2023
Place of publication: Saarbrücken
DDC notations: 004 Computer science, internet
500 Science
600 Technology
Publikation type: Dissertation
Abstract: Software systems have become an important part of our daily lives, and a multitude of different application scenarios, user requirements, and hardware requirements have emerged. To handle these different requirements, most software systems offer some degree of configurability in terms of configuration options, allowing the user to adapt the software system to functional and non-functional requirements. Among non-functional requirements, the performance of the software system plays an important role to end-users. It is often unclear which configuration options influence the performance of the system. Specifically, there is a gap in how to select configurations affecting the system's performance when no previous knowledge is available. Furthermore, little is known about how the influence of configuration options on the system's performance changes across different workloads and software evolution. To bridge this gap, performance modeling based on statistical learning has proved useful. In this thesis, we follow three objectives in which we use or improve performance modeling of configurable software systems by statistical learning. First, we propose a novel sampling strategy, distance-based sampling, to improve the configuration selection (i.e., \emph{sampling}) while also addressing the shortcomings of existing state-of-the art sampling strategies. To assess the advantages and limitations of distance-based sampling, we compare it to state-of-the-art sampling strategies on multiple real-world configurable software systems. Our results indicate that distance-based sampling outperforms other state-of-the-art sampling strategies in terms of accuracy, but also suggest that there is still room for improvement with regard to scalability. Second, to assess how the influence of configuration options on the system's performance changes during software evolution, we use performance modeling on multiple real-world configurable software systems. This investigation delivers multiple valuable insights into the frequency of performance changes with implications to other research domains. We further investigate in how many cases the performance changes are documented by developers and find indications in which cases performance regressions are documented and when they are not. Third, besides configurability and software evolution, we also assess the role of workload variability in an exploratory study of the configurable software system \textsc{FastDownward}. For this purpose, we propose a performance modeling approach to identify performance changes considering workload variability and investigate the accuracy of this approach by evaluating precision and recall. Our results show that our approach is able to identify most performance changes, but we also identify the limitations of our approach, leaving room for further improvement. Furthermore, our performance measurements proved helpful in that they enabled us to discover and report multiple performance regressions in a real-world configurable software system. Overall, we contribute to performance modeling of configurable software systems by (1) proposing a novel sampling strategy designed to cover configuration spaces with regards to performance; (2) lifting how performance changes affect software configurability in practice and show implications on other research areas; (3) demonstrating how performance modeling can be used to find performance changes while including workload variability. To the best of our knowledge, we are the first to investigate configurability, evolution, and workload variability of configurable software systems together.
Softwaresysteme sind zu einem wichtigen Bestandteil unseres täglichen Lebens geworden. Durch die Vielfalt der existierenden Softwaresysteme ist eine Vielzahl unterschiedlicher Anwendungsszenarien, Benutzeranforderungen sowie Hardwareanforderungen entstanden. Um diesen unterschiedlichen Anforderungen gerecht zu werden, bieten die meisten Softwaresysteme einen gewissen Grad an Konfigurierbarkeit, der es dem Benutzer ermöglicht, das Softwaresystem an funktionale und nicht-funktionale Anforderungen anzupassen. Unter den nicht-funktionalen Anforderungen spielt die Performance des Softwaresystems eine wichtige Rolle für die Endbenutzer. Häufig ist unklar, welche Konfigurationsoptionen die Performance des Systems beeinflussen. Aktuelle Verfahren zur Auswahl von Konfigurationen, die die Performance des Systems beeinflussen, weisen Schwachstellen auf. Darüber hinaus ist wenig darüber bekannt, wie sich die Auswirkungen von Konfigurationsoptionen auf die Performance im Laufe der Softwareentwicklung und bei unterschiedlichen Arbeitslasten ändern. Zur Lösung dieser Probleme kann die Performancemodellierung eingesetzt werden. In dieser Arbeit verfolgen wir drei Ziele, mit denen wir die Performancemodellierung von konfigurierbaren Softwaresystemen nutzen oder verbessern. Erstens stellen wir eine neuartige Sampling-Strategie vor, das distanzbasiertes Sampling. Damit kann die Auswahl der Konfigurationen (des Samplings) verbessert und gleichzeitig die Unzulänglichkeiten vermieden werden, die andere State-of-the-Art-Samplingstrategien aufweisen. Um die Vorzüge und Grenzen des distanzbasierten Samplings beurteilen zu können, vergleichen wir es mit modernsten Samplingstrategien auf mehreren realen, konfigurierbaren Softwaresystemen. Unsere Ergebnisse zeigen, dass distanzbasiertes Sampling andere moderne Samplingstrategien in Bezug auf die Genauigkeit übertrifft, aber auch, dass es in Bezug auf die Skalierbarkeit noch Raum für Verbesserungen gibt. Zweitens: Um zu beurteilen, wie sich der Einfluss von Konfigurationsoptionen auf die Performance des Systems über die Evolution der Software hinweg verändert, verwenden wir Performancemodellierung für mehrere reale konfigurierbare Softwaresysteme. Diese Untersuchung liefert wertvolle Einblicke in die Häufigkeit von Performanceänderungen mit Auswirkungen auf andere Forschungsbereiche. Außerdem untersuchen wir, wie häufig die Performanceänderungen von den Entwicklern dokumentiert werden und finden Hinweise darauf, in welchen Fällen Performanceänderungen dokumentiert werden und wann nicht. Drittens untersuchen wir in einer explorativen Studie zum konfigurierbaren Softwaresystem FastDownward neben der Konfigurierbarkeit und der Softwareevolution auch die Rolle der Arbeitslastvariabilität. Daher schlagen wir einen Ansatz zur Performancemodellierung vor, um Performanceänderungen unter Berücksichtigung der Arbeitslastvariabilität zu identifizieren, und untersuchen die Genauigkeit dieses Ansatzes, indem wir die Präzision und die Ausbeute auswerten. Unsere Ergebnisse zeigen, dass unser Ansatz in der Lage ist, die meisten Performanceänderungen zu erkennen. Wir zeigen aber auch die Grenzen unseres Ansatzes auf, die zeigen, wo noch weitere Verbesserungen möglich sind. Darüber hinaus haben sich unsere Performancemessungen als hilfreich erwiesen, da sie es uns ermöglichten, mehrere Performanceregressionen in einem realen konfigurierbaren Softwaresystem aufzudecken und an die Entwickler zu melden. Insgesamt leisten wir einen Beitrag zur Performancemodellierung konfigurierbarer Softwaresysteme, indem wir (1) eine neuartige Samplingstrategie vorschlagen, die darauf ausgelegt ist, Konfigurationsräume in Bezug auf die Leistung abzudecken; (2) aufzeigen, wie sich Performanceänderungen auf die Konfigurierbarkeit von Software in der Praxis auswirken und Auswirkungen auf andere Forschungsbereiche aufzeigen; (3) demonstrieren, wie die Performancemodellierung verwendet werden kann, um Performanceänderungen aufzudecken und zusammen mit der Variabilität der Arbeitslast zu berücksichtigen. Soweit uns bekannt ist, sind wir die Ersten, die Konfigurierbarkeit, Evolution und Arbeitslastvariabilität von konfigurierbaren Softwaresystemen gleichzeitig untersuchen.
Link to this record: urn:nbn:de:bsz:291--ds-415404
hdl:20.500.11880/37256
http://dx.doi.org/10.22028/D291-41540
Advisor: Apel, Sven
Date of oral examination: 29-Jan-2024
Date of registration: 6-Feb-2024
Faculty: MI - Fakultät für Mathematik und Informatik
Department: MI - Informatik
Professorship: MI - Prof. Dr. Sven Apel
Collections:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Files for this record:
File Description SizeFormat 
PhDThesis-Kalti.pdfDissertation3,28 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons