11 |
Software Performance Modeling for Multi-Factor System VariabilityMühlbauer, Stefan 13 January 2025 (has links)
Modern software systems offer numerous configuration options to optimize performance, often using machine learning-based models. However, these models frequently overlook external factors such as software versions, usage scenarios, and hardware setups, raising concerns about their real-world applicability.
This research expands performance modeling to include system variability from both software evolution and workload variations. It empirically analyzes how these factors influence performance and develops methods to adapt models accordingly.
Experiments reveal that software performance evolves with abrupt changes linked to code revisions or merges. An active learning strategy efficiently detects performance change points, aiding in identifying significant shifts. Additionally, large-scale empirical analysis shows how varying configurations and workloads affect performance, identifying significant data shifts that question the accuracy of traditional models. Correlating performance data with code coverage information reveals that code coverage testing can identify workload-sensitive configuration options.
Based on these comprehensive empirical results, this thesis proposes integrating environmental factors into performance modeling. A combined coarse-grain screening strategy and stepwise feature selection enhance data extraction. Compared to a Lasso baseline, this method more accurately identifies performance-relevant factors, particularly in feature-rich scenarios.
This research provides a foundational understanding of multi-factor system variability in performance modeling, offering efficient strategies for managing software evolution and workload variability. / Moderne Software-Systeme bieten oft Anpassungsmöglichkeiten, um Funktionalität und Leistung an spezifische Anforderungen anzupassen. Performance-Modelle verwenden maschinelles Lernen, um die Leistung eines Systems basierend auf seiner Konfiguration abzuschätzen. Allerdings beeinflussen nicht nur Konfigurationseinstellungen, sondern auch externe Faktoren wie Softwareversion, Arbeitslast und Hardwarekonfiguration die Leistung. Angesichts möglicher Verzerrungen durch sekundäre Faktoren und der Tatsache, dass viele Modellierungsansätze hauptsächlich die Konfigurierbarkeit eines Systems berücksichtigen, ist die Frage, wie gut bestehende Ansätze in der Praxis anwendbar sind.
Diese Dissertation erweitert die Modellierung der Software-Leistung um zwei zusätzliche sekundäre Dimensionen: die Evolution eines Softwaresystems und den Einfluss der spezifischen Arbeitslast. Die Arbeit kombiniert empirische Leistungsmessungen, um die Leistungsmerkmale unter Variation dieser Faktoren zu beschreiben, mit dem Ziel, Leistungsmodelle entsprechend anzupassen.
Die Veränderung der Software-Leistung über die Entwicklungsgeschichte ist durch plötzliche Änderungen (Change Points) gekennzeichnet, die oft mit spezifischen Code-Revisionen oder Merge-Ereignissen zusammenhängen. Auf Basis dieser Beobachtungen präsentiert die Arbeit eine Active-Learning-Strategie, die es ermöglicht, mit wenigen Messungen die gesamte Leistungshistorie eines Softwaresystems abzuschätzen und spezifische Änderungen zu lokalisieren. Eine Erweiterung dieses Ansatzes zur Kontextualisierung von Leistungsänderungen ordnet erkannten Änderungen einer oder mehreren Konfigurationsoptionen zu, um die betroffenen Konfigurationen einzugrenzen.
In Bezug auf die Dimension der Arbeitslast präsentiert diese Dissertation eine umfassende empirische Studie, die die kombinierten Auswirkungen von Konfigurierbarkeit und Arbeitslastvariation auf die Software-Leistung untersucht. Es zeigt sich, dass die Arbeitslast den Einfluss der einzelnen Konfigurationsoptionen signifikant beeinflusst, was die Zuverlässigkeit vieler Ansätze weiter einschränkt. Eine Verknüpfung von Code-Coverage-Daten mit Leistungsmessungen zeigt, wie Abdeckungstests (als kostengünstige Alternative zu Leistungsmessungen) dazu beitragen können, Interaktionen zwischen der Arbeitslast und den einzelnen Optionen zu finden.
Die Berücksichtigung weiterer sekundärer Faktoren in Modellierungsansätzen für Software-Leistung stellt eine Herausforderung dar, die durch die kombinatorische Komplexität des Gesamtproblems bedingt ist. Angesichts der hohen Kosten von Leistungsmessungen und der oft begrenzten Datenverfügbarkeit präsentiert der letzte Teil der Dissertation einen Ansatz zur Identifizierung relevanter Faktoren (Feature Selection). Durch die gleichzeitige Betrachtung mehrerer Faktoren (Group Sampling) und eine schrittweise Auswahl von Faktoren erhöht die Screening-Strategie die aus einer Stichprobe an Messungen gewonnene Informationsmenge im Vergleich zu einem Lasso-Basismodell.
Zusammenfassend bietet diese Dissertation eine empirische Beschreibung der Software-Leistung, abhängig von der Konfiguration sowie zwei weiteren Faktoren: der Software-Evolution und der Arbeitslast. Darüber hinaus stellt diese Arbeit einen Katalog an Methoden bereit, um beide Dimensionen bei der Modellierung von Software-Leistung zu berücksichtigen und die Herausforderungen der Skalierbarkeit eines kombinierten Ansatzes zu bewältigen.
|
12 |
Domain-Centered Product Line TestingLackner, Hartmut 11 July 2017 (has links)
Die Ansprüche von Kunden an neue (Software-)Produkte wachsen stetig.
Produkte sollen genau auf die einzelnen Kundenwünsche zugeschnitten sein, sodass der Kunde genau die Funktionalität erhält und bezahlt die er benötigt.
Hersteller reagieren auf diese gestiegenen Ansprüche mit immer mehr Varianten in denen sie ihre Produkte ihren Kunden anbieten.
Die Variantenvielfalt hat in solchem Maß zugenommen, dass selbst in Massen gefertigte Produkte heute als Unikate produziert werden können.
Neue Methoden wie Produktlinienentwicklung unterstützen die Entwicklung solcher variantenreicher Systeme.
Während der Aufwand für die Entwicklung neuer Varianten nun sinkt, profitiert die Qualitätssicherung nicht vom Effizienzgewinn der Entwicklung.
Im Gegenteil:
Insbesondere beim Test wird zunächst jede Variante wie ein einzelnes Produkt behandelt.
Bei variantenreichen Systemen ist dies aufwandsbedingt jedoch nicht mehr möglich.
Die in dieser Arbeit vorgestellten Testentwurfsmethoden berücksichtigen die Variantenvielfalt in besonderem Maße.
Bisher wurden, nach einer Stichprobenauswahl zur Reduktion des Testaufwands, die Testfälle auf Basis der konkreten Produkte entworfen.
Statt nun auf Basis konkreter Produkte werden in dieser Arbeit zwei Ansätze vorgestellt, die die Phase des Testentwurfs auf die Produktlinienebene heben.
Die bei Anwendung dieser Methoden entstehenden Testfälle enthalten, je nach Inhalt, Freiheitsgrade bzgl. ihrer Anforderungen an eine Variante, sodass ein Testfall auf ein oder mehrere Varianten angewendet wird.
Ausgehend von solchen Testfällen werden in dieser Arbeit neue Kriterien zur Stichprobenauswahl entwickelt.
Mit diesen Kriterien kann der Umfang der Stichprobe, aber auch Eigenschaften der zu testenden Varianten bzgl. eines gegebenes Testziel optimiert werden.
So ist es möglich, z.B. sehr wenige oder sehr unterschiedliche Varianten zum Test auszuwählen.
Insgesamt werden in dieser Arbeit fünf Kriterien definiert und auf ihr Fehleraufdeckungspotenzial untersucht.
Zu diesem Zweck werden neue Bewertungskriterien zur Fehleraufdeckungswahrscheinlichkeit von Produktlinientests etabliert.
Somit ist erstmalig eine quantitative sowie qualitative Bewertung von Produktlinientests möglich.
Die Ergebnisse der vorgestellten Methoden und Auswahlkriterien werden sowohl untereinander evaluiert, als auch konventionellen Testmethoden für Produktliniensysteme gegenübergestellt.
An vier Beispielen unterschiedlicher Gro{\"ss}e werden die in dieser Arbeit vorgestellten Methoden evaluiert. / Consumer expectations of (software-)products are growing continuously.
They demand products that fit their exact needs, so they pay only for necessary functionalities.
Producers react to those demands by offering more variants of a product.
Product customization has reached a level where classically mass produced goods, like cars, can be configured to unique items.
New paradigms facilitate the engineering of such variant-rich systems and reduce costs for development and production.
While development and production became more efficient, quality assurance suffers from treating each variant as a distinct product.
In particular, test effort is affected, since each variant must be tested sufficiently prior to production.
For variant-rich systems this testing approach is not feasible anymore.
The methods for test design presented in this thesis overcome this issue by integrating variability into the test design process.
The resulting test cases include requirements for variants, which must be fulfilled to execute the test successfully.
Hence multiple variants may fulfill these requirements, each test case may be applicable to more than only one variant.
Having test cases with requirements enables sampling subsets of variants for the purpose of testing.
Under the assumption that each test case must be executed once, variants can be sampled to meet predefined test goals, like testing a minimal or diverse subset of variants.
In this thesis, five goals are defined and evaluated by assessing the tests for their fault detection potential.
For this purpose, new criteria for assessing the fault detection capability of product line tests are established.
These criteria enable quantitative as well as qualitative assessment of such test cases for the first time.
The results of the presented methods are compared with each other and furthermore with state of the art methods for product line testing.
This comparison is carried out on four examples of different sizes, from small to industry-grade.
|
13 |
Qualitätssicherung mittels Feature-Modellen / Quality Assurance by Means of Feature ModelsGollasch, David 11 May 2016 (has links) (PDF)
Modern business applications are getting increasingly distributed as multi-tenant software as a service (SaaS). This leads to new challenges in terms of quality assurance, because all customers are directly affected by software changes. The resulting problem is to proactively determinate evolutionary effects.
Because SaaS applications are often realized in the sense of a software product line, this thesis examines ways of using feature models to face the mentioned problem. For this purpose, two approaches are analyzed: extended feature models with quality attributes annotated per feature and the analysis of structural aspects of feature models and corresponding concrete configurations.
The presented attributed feature model approach measures the quality of concrete configurations to make configurations comparable according to specific quality goals. Criteria are elicited for when configurations can be compared to draw helpful conclusions. The structural approach focuses economic questions that are quality assurance related, such as identifying features that none of the tenants selected in their application configurations. Furthermore, three algorithms are presented that demonstrate the structural analysis approach to gather information relevant to quality assurance.
|
14 |
Conceptual Variability Management in Software Families with Multiple ContributorsGollasch, David 11 May 2016 (has links) (PDF)
To offer customisable software, there are two main concepts yet: software product lines that allow the product customisation based on a fixed set of variability and software ecosystems, allowing an open product customisation based on a common platform.
Offering a software family that enables external developers to supply software artefacts means to offer a common platform as part of an ecosystem and to sacrifice variability control. Keeping full variability control means to offer a customisable product as a product line, but without the support for external contributors.
This thesis proposes a third concept of variable software: partly open software families. They combine a customisable platform similar to product lines with controlled openness similar to ecosystems.
As a major contribution of this thesis a variability modelling concept is proposed which is part of a variability management for these partly open software families. This modelling concept is based on feature models and extends them to support open variability modelling by means of interfaces, structural interface specifications and the inclusion of semantic information. Additionally, the introduction of a rights management allows multiple contributors to work with the model. This is required to enable external developers to use the model for the concrete extension development.
The feasibility of the proposed model is evaluated using a prototypically developed modelling tool and by means of a case study based on a car infotainment system.
|
15 |
Integrierte und hybride Konstruktion von Software-ProduktlinienDinger, Ulrich 10 September 2009 (has links) (PDF)
Die Konzepte zur Erstellung von Software-Produktlinien dienen der ingenieurmäßigen, unternehmensinternen Wiederverwendung existierender Software-Artefakte. Existierende Ansätze nutzen von Hand erstellte und gewartete Kompositionsprogramme zum Assemblieren der Produkte entsprechend einer Variantenauswahl. Der Einsatz einer automatischen Planungskomponente sowie eines einfachen, erweiterbaren Komponenten-Meta-Modells hilft dabei, die dabei anfallenden Daten computergestützt zu verarbeiten. Die Integration beider Konzepte zu einem hybriden Ansatz ermöglicht die Neuerstellung von Produkten, die nicht von Anfang an als Produktlinie konzipiert sind, ohne eine spätere Umarbeitung unter Nutzung der automatischen Planungskomponente unnötig zu erschweren.
|
16 |
Evolution in Feature-Oriented Model-Based Software Product Line Engineering / Evolution in feature-orientierten modellbasierten Software-ProduktlinienSeidl, Christoph 02 January 2012 (has links) (PDF)
Software Product Lines (SPLs) are a successful approach to software reuse in the large. Even though tools exist to create SPLs, their evolution is widely unexplored. Evolving an SPL manually is tedious and error-prone as it is hard to avoid unintended side-effects that may harm the consistency of the SPL. In this thesis, the conceptual basis of a system for the evolution of model-based SPLs is presented, which maintains consistency of models and feature mapping. As basis, a novel classification is introduced that distinguishes evolutions by their potential to harm the mapping of an SPL. Furthermore, multiple remapping operators are presented that can remedy the negative side-effects of an evolution. A set of evolutions is complemented with appropriate remapping operations for the use in SPLs. Finally, an implementation of the evolution system in the SPL tool FeatureMapper is provided to demonstrate the capabilities of the presented approach when co-evolving models and feature mapping of an SPL.
|
17 |
Qualitätssicherung mittels Feature-ModellenGollasch, David 17 October 2013 (has links)
Modern business applications are getting increasingly distributed as multi-tenant software as a service (SaaS). This leads to new challenges in terms of quality assurance, because all customers are directly affected by software changes. The resulting problem is to proactively determinate evolutionary effects.
Because SaaS applications are often realized in the sense of a software product line, this thesis examines ways of using feature models to face the mentioned problem. For this purpose, two approaches are analyzed: extended feature models with quality attributes annotated per feature and the analysis of structural aspects of feature models and corresponding concrete configurations.
The presented attributed feature model approach measures the quality of concrete configurations to make configurations comparable according to specific quality goals. Criteria are elicited for when configurations can be compared to draw helpful conclusions. The structural approach focuses economic questions that are quality assurance related, such as identifying features that none of the tenants selected in their application configurations. Furthermore, three algorithms are presented that demonstrate the structural analysis approach to gather information relevant to quality assurance.
|
18 |
Conceptual Variability Management in Software Families with Multiple ContributorsGollasch, David 17 December 2015 (has links)
To offer customisable software, there are two main concepts yet: software product lines that allow the product customisation based on a fixed set of variability and software ecosystems, allowing an open product customisation based on a common platform.
Offering a software family that enables external developers to supply software artefacts means to offer a common platform as part of an ecosystem and to sacrifice variability control. Keeping full variability control means to offer a customisable product as a product line, but without the support for external contributors.
This thesis proposes a third concept of variable software: partly open software families. They combine a customisable platform similar to product lines with controlled openness similar to ecosystems.
As a major contribution of this thesis a variability modelling concept is proposed which is part of a variability management for these partly open software families. This modelling concept is based on feature models and extends them to support open variability modelling by means of interfaces, structural interface specifications and the inclusion of semantic information. Additionally, the introduction of a rights management allows multiple contributors to work with the model. This is required to enable external developers to use the model for the concrete extension development.
The feasibility of the proposed model is evaluated using a prototypically developed modelling tool and by means of a case study based on a car infotainment system.
|
19 |
Integrierte und hybride Konstruktion von Software-ProduktlinienDinger, Ulrich 12 June 2009 (has links)
Die Konzepte zur Erstellung von Software-Produktlinien dienen der ingenieurmäßigen, unternehmensinternen Wiederverwendung existierender Software-Artefakte. Existierende Ansätze nutzen von Hand erstellte und gewartete Kompositionsprogramme zum Assemblieren der Produkte entsprechend einer Variantenauswahl. Der Einsatz einer automatischen Planungskomponente sowie eines einfachen, erweiterbaren Komponenten-Meta-Modells hilft dabei, die dabei anfallenden Daten computergestützt zu verarbeiten. Die Integration beider Konzepte zu einem hybriden Ansatz ermöglicht die Neuerstellung von Produkten, die nicht von Anfang an als Produktlinie konzipiert sind, ohne eine spätere Umarbeitung unter Nutzung der automatischen Planungskomponente unnötig zu erschweren.
|
20 |
Evolution in Feature-Oriented Model-Based Software Product Line EngineeringSeidl, Christoph 29 September 2011 (has links)
Software Product Lines (SPLs) are a successful approach to software reuse in the large. Even though tools exist to create SPLs, their evolution is widely unexplored. Evolving an SPL manually is tedious and error-prone as it is hard to avoid unintended side-effects that may harm the consistency of the SPL. In this thesis, the conceptual basis of a system for the evolution of model-based SPLs is presented, which maintains consistency of models and feature mapping. As basis, a novel classification is introduced that distinguishes evolutions by their potential to harm the mapping of an SPL. Furthermore, multiple remapping operators are presented that can remedy the negative side-effects of an evolution. A set of evolutions is complemented with appropriate remapping operations for the use in SPLs. Finally, an implementation of the evolution system in the SPL tool FeatureMapper is provided to demonstrate the capabilities of the presented approach when co-evolving models and feature mapping of an SPL.:1 Introduction
1.1 Motivation for Evolving Software Product Lines
1.2 Outline of the Thesis
2 Background and Scope
2.1 Concepts and Terminology
2.1.1 Software Product Lines
2.1.2 Model-Driven Software Development
2.1.3 FeatureMapper
2.2 Scope
2.3 Related Work
3 Evolution of Software Product Lines
3.1 Evolutions
3.1.1 Evolutions in the Problem Space
3.1.2 Evolutions in the Solution Space
3.2 Classification Systems for Evolutions
3.2.1 Classification by Behavior Preservation
3.2.2 Classification Systems in the Literature
3.2.3 Classification by Semantical Extent of Model Changes
3.3 Remapping Operations
3.3.1 Remapping in the Problem Space
3.3.2 Remapping in the Solution Space
3.4 Classification and Remapping of Evolutions
3.4.1 Classification and Remapping of Problem Space Evolutions
3.4.2 Classification and Remapping of Solution Space Evolutions
4 A Framework for Evolutions in FeatureMapper
4.1 Relevant Technology
4.1.1 Refactory
4.1.2 EMFText
4.2 Implementation
4.2.1 Implementation of the Evolutions System
4.2.2 Implementation of the Remapping System
4.2.3 Implementation of the User Interface System
4.2.4 Implementation of the Test Suite
4.3 Possibilities for Extension
4.3.1 Adding New Evolutions
4.3.2 Adapting Existing Evolutions
5 Example Project
5.1 Initial Situation in 2001
5.2 First Revision in 2006
5.2.1 Removing the Cassette Player
5.2.2 Adding an MP3 CD Player
5.2.3 Adding a Personal Navigation Device
5.2.4 Changing the Implementation of the UI Builder
5.2.5 Summary of the Changes of the First Revision in 2006
5.3 Second Revision in 2011
5.3.1 Creating a Multi-Format CD Player
5.3.2 Enhancing Voice Recognition to Control the Audio Player
5.3.3 Restructuring Personal Navigation Maps
5.3.4 Changing the Implementation of the CD Player
5.3.5 Summary of the Changes of the Second Revision in 2011
5.4 Conclusion of the Example Project
6 Conclusion
6.1 Summarized Findings
6.2 Limitations and Drawbacks
6.3 Possibilities for Future Work
6.4 Theoretical and Practical Contributions
A Object Remapping Specification (*.orspec)
A.1 Object Remapping Specification Model
A.2 Object Remapping Specification Syntax
B DocBooklet (*.docbooklet)
B.1 DocBooklet Model
B.2 DocBooklet Syntax
C NavMap (*.navmap)
C.1 NavMap Model
C.2 NavMap Syntax
List of Figures
List of Tables
List of Listings
Bibliography
|
Page generated in 0.0788 seconds