Automated Comparison of Product Sampling Algorithms : Master's Thesis
The variability of highly configurable systems introduces new challenges and requires new and flexible testing strategies to ensure their quality. Product sampling proved to be one of the most promising strategies to reduce the testing effort by computing a set of products (i.e., a sample) that represents the whole system in the testing phase. A scientific survey about classifying product sampling for software product lines identified more than 48 algorithms to compute samples. We extended the survey with 16 new or missed publications and classified them accordingly to provide a more complete overview. However, the large amount of available sampling algorithms make the user’s process to select an appropriate one for their project more complex. Further, the algorithms focus on different objectives (e.g., the runtime of the sampling process or the size of the resulting sample) and there is no complete comparison between all of them. Coupled with the problem of performing redundant evaluations each time a new sampling algorithm is introduced motivated us to design a framework that automatically compares sampling algorithms. Moreover, users often lack the required expert knowledge to understand a complete comparison. This motivated us to provide a strategy to compute recommendations of sampling algorithms that consider the user’s requirements. We performed an empirical evaluation on four sampling algorithms with more than 160 real-world systems, including industrial-sized models from the financial services and automotive domain. Based on the data generated by our framework, we concluded that the modern sampling algorithm YASA achieves the best results for multiple objectives. Furthermore, we concluded that our strategy to compute recommendations, named Weighted Rank-Based Score (WRBS), produce correct and precise results.
Die Variabilität hochgradig konfigurierbarer Systeme bringt neue Herausforderungen mit sich und erfordert neue und flexible Teststrategien zur Sicherung ihrer Qualität. Als eine der vielversprechendsten Strategien zur Verringerung des Testaufwands er-wies sich das Produktsamplingverfahren, bei der eine Menge von Produkten (d.h. ein Sample) berechnet wird, welches das gesamte System in der Testphase repräsentiert. Eine wissenschaftliche Umfrage über die Klassifizierung des Produktsamplingverfahren für Software-Produktlinien identifizierte mehr als 48 Algorithmen zur Berechnung von Samples. In dieser Arbeit wird die Umfrage um 16 neue oder nicht betrachtete Publikationen erweitert, die entsprechend klassifiziert werden, um einen vollständigeren Überblick zu geben. Die große Anzahl verfügbarer Produktsamplingalgorithmen macht jedoch den Prozess des Benutzers komplexer, einen geeigneten Algorithmus für sein Projekt auszuwählen. Zudem konzentrieren sich die Algorithmen auf unterschiedliche Ziele (z.B. die Laufzeit des Produktsamplingverfahrens oder die Größe des resultierenden Samples) und es gibt keinen vollständigen Vergleich zwischen allen Algorithmen. Diese Probleme verbunden mit der Durchführung redundanter Auswertungen bei jeder Einführung eines neuen Produktsamplingalgorithmus motiviert dazu, ein Framework zu entwerfen, welches automatisch Produktsamplingalgorithmen vergleicht. Darüber hinaus fehlt den Anwendern oft das erforderliche Expertenwissen, um einen vollständigen Vergleich zu verstehen. Dies stellt sich als weitere Motivation, um eine Strategie zur Berechnung von Empfehlungen für Produktsamplingalgorithmen zu entwickeln, welche die Anforderungen des Anwenders berücksichtigt. In dieser Arbeit wird eine empirische Evaluation von vier Produktsamplingalgorithmen mit mehr als 160 realen Systemen durchgeführt, darunter Modelle in Industriegröße aus dem Finanzdienstleistungs-und Automobilbereich. Auf der Grundlage der von dem Framework generierten Daten kommen wir zum Schluss, dass der moderne Stichprobenalgorithmus YASA für mehrere Ziele die besten Ergebnisse erzielt. Darüber hinaus wird festgestellt, dass die Strategie zur Berechnung von Empfehlungen, genannt WRBS, korrekte und präzise Ergebnisse liefert.