Suchbasierte Softwaretechniken zur Variabilitätsverwaltung
Search Based Software Engineering for Variability Management
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Search Based Software Engineering,
Software Evolution,
Software Product Lines,
Model Driven Engineering,
Consistency Checking,
Variability Management
Aufgrund von wirtschaftlichen oder technologischen Gründen, aber auch aus Marketingüberlegungen werden Software Systeme heutzutage immer öfter als Software-Produktlinien (SPLs) aufgebaut, wobei jedes einzelne Software-Produkt eine Kombination verschiedenster Features darstellt. Ziel ist es vorhandene Programmfunktionalität zu verwenden, anstatt sie neu zu entwickeln. Eine effektive Verwaltung der Features ist entscheidend, um die Vorteile gängiger SPL Praktiken voll ausschöpfen zu können. Die wichtigsten Vorteile sind die erhöhte Wiederverwenbarkeit der Software, die schnelle und einfache Produktanpassung, sowie eine verkürzte Zeit bis zur Produkteinführung. Eine große Herausforderung des Software-Produktlinenentwicklung (SPLE) ist es, zu garantieren, dass alle gewünschten Software-Produkte - d.h. verschiedenste Feature-Kombinationen - auch tatsächlich aus der vorhandenen Menge von Artefakten einer SPL realisiert werden können. Das Überprüfen dieser Garantie ist eine nicht-triviale Aufgabe, denn in der Regel ist eine große Zahl von Software-Produkten vorhanden und die beteiligten Artefakte sind üblicherweise sehr komplex. Diese Garantie wird noch wichtiger, wenn die Evolution von Variabilität beachtet wird, ob nun bei der Verwaltung von Änderungen einer existierenden SPL oder bei der Ermittlung von Variabilität bestehender Systemvarianten - welche möglicherweise gemeinsame Entwicklungsteile haben - zur Entwicklung einer neuen SPL. Wenn diese Garantie nicht gehalten werden kann, ist es wichtig den Software-Entwicklern eine Auswahl von Korrekturen oder weitere Variabilität, bzw. Implementierungsalternativen zu bieten, damit diese Fehler behandelt werden können. Search-Based Software Engineering (SBSE) ist eine aufstrebende Disziplin, welche such-basierte Technologien auf die Probleme des Software Engineerings anwendet. Techniken des SBSE sind grundlegende Suchalgorithmen wie der Hillclimbing Algorithmus oder die Simulated Annealing, aber auch Techniken der Evolutionary Computation, wie genetische Algorithmen oder genetische Programmierung, werden verwendet. SBSE Techniken erlauben die Ermittlung mehrerer Software-Designs oder Modulsüberarbeitungen, welche mit verschiedenen Software Qualitätsmetriken ausgewertet und beurteilt werden und als Fitness-Metriken dienen. Darüber hinaus sind diese Techniken generisch, robust und skalierbar, sie eignen sich daher für die Bewältigung der genannten Herausforderungen des Variabilitätsmanagement des SPLE. Die Hauptziele des Projekts sind folgende: Durchführung einer umfassenden Analyse und Zusammenfassung verschiedenster SBSE Techniken, um ihre Eignung für die Bewältigung der identifizierten Probleme der SPL-Entwicklung bewerten zu können und ihre Vor-, Nachteile sowie die daraus resultierende Kompromisse zu ermittelten; Implementierung von Werkzeugen, welche die Anwendung der ausgewählten SBSE Techniken unterstützen; Evaluierung der ausgewählten SBSE Techniken mit Hilfe von mehreren Fallstudien verschiedenster Größe und Anwendungsbereiche.
Software ist in fast jedem Aspekt des modernen Lebens gegenwärtig. Um einige Beispiele zu nennen, Software steuert unsere Mobiltelefone, Fernseher, Waschmaschinen, Autos und den Großteil des öffentlichen Verkehrs und unserer Kommunikationssysteme. Viele Benutzer solcher Produkte haben viele ähnliche Bedürfnisse, aber auch spezielle Bedürfnisse. Diese Tatsache macht die Fertigung von Produkten als Teil von Produktlinien eine wirtschaftliche Notwendigkeit. Ein typisches Beispiel sind Mobiltelefone die mit verschiedenen Möglichkeiten für Kameras, Speicherkapazitäten, Akkulaufzeit, etc. ausgestattet sind. Deshalb muss auch die Software dieser Produktlinien so angepasst werden, dass die Produktressourcen effektiv und effizient genutzt werden, ohne negative Auswirkungen auf die Sicherheit jedes einzelnen Produkts zu haben. Diese Anpassung von Software ist eine komplexe und aufwändige Aufgabe die gegenwärtig hauptsächlich von Programmierern manuell und spontan erledigt wird im Rahmen der strikten technologischen und organisatorischen Einschränkungen die es verlangen große Mengen hochqualitativer Software in kurzer Zeit auszuliefern. Unsere Arbeit adressierte diese dringende Notwendigkeit durch Modelle und Mechanismen zur Identifikation aller möglichen Kombinationen die für eine Softwareproduktlinie notwendig sind, durch Sicherstellen einiger grundlegender Funktionen ohne vollständiges Testen aller möglichen Kombinationen, und durch die Unterstützung von Softwareentwicklern mit Informationen für die Design- und Implementierungsentscheidungen die sie treffen müssen. Die Neuheit unserer Arbeit liegt in der Anwendung von Mechanismen inspiriert durch die Natur um die komplexen Herausforderungen dieser Anpassung von Software zu bewältigen, im Konkreten haben wir Techniken basierend auf den grundlegenden Ideen der Evolution von Charles Darwin untersucht. Die erzielten Resultate in unserem Projekt zeigten das große Potenzial und die Anwendbarkeit dieser Art von Techniken in der Softwareanpassung, zeigten den Stand er Technik in dem Feld, und zeigten viele offene Fragen und Herausforderungen in der Forschung und stellen daher ein umfassendes Forschungsprogramm dar. Der Einsatz dieser Resultate in der Softwareindustrie wird zu besser anpassbarer Software führen, zugeschnitten auf die konkreten Bedürfnisse der Anwender und Produkte, und gleichzeitig zuverlässigerer Software, mit bewussterem Umgang von Berechnungsressourcen, und zu reduzierten Kosten.
- Universität Linz - 100%
Research Output
- 301 Zitationen
- 21 Publikationen
-
2014
Titel Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of software product lines. Typ Conference Proceeding Abstract Autor Alba E Et Al -
2014
Titel A parallel evolutionary algorithm for prioritized pairwise testing of software product lines. Typ Conference Proceeding Abstract Autor Alba E Et Al -
2014
Titel Consistency checking in early software product line specifications -the VCC Approach. Typ Journal Article Autor Alferez M -
2014
Titel Automatic and Incremental Product Optimization for Software Product Lines DOI 10.1109/icst.2014.14 Typ Conference Proceeding Abstract Autor Demuth A Seiten 31-40 -
2013
Titel On Extracting Feature Models from Sets of Valid Feature Combinations DOI 10.1007/978-3-642-37057-1_5 Typ Book Chapter Autor Haslinger E Verlag Springer Nature Seiten 53-67 -
2013
Titel Improving CASA Runtime Performance by Exploiting Basic Feature Model Analysis DOI 10.48550/arxiv.1311.7313 Typ Preprint Autor Haslinger E -
2013
Titel Using feature model knowledge to speed up the generation of covering arrays DOI 10.1145/2430502.2430524 Typ Conference Proceeding Abstract Autor Haslinger E Seiten 1-6 -
2013
Titel Multi-Objective Optimal Test Suite Computation for Software Product Line Pairwise Testing DOI 10.1109/icsm.2013.58 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 404-407 Link Publikation -
2016
Titel Co-evolution of metamodels and models through consistent change propagation DOI 10.1016/j.jss.2015.03.003 Typ Journal Article Autor Demuth A Journal Journal of Systems and Software Seiten 281-297 -
2014
Titel Feature Model Synthesis with Genetic Programming DOI 10.1007/978-3-319-09940-8_11 Typ Book Chapter Autor Linsbauer L Verlag Springer Nature Seiten 153-167 -
2013
Titel Co-evolution of metamodels and models through consistent change Propagation. Typ Conference Proceeding Abstract Autor Demuth A Konferenz Proceedings of the Workshop on Models and Evolution co-located with ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2013), Miami, Florida, USA, October 1, 2013 -
2013
Titel Recovering traceability between features and code in product variants DOI 10.1145/2491627.2491630 Typ Conference Proceeding Abstract Autor Linsbauer L Seiten 131-140 -
2013
Titel Towards Interactive Visualization Support for Pairwise Testing Software Product Lines DOI 10.1109/vissoft.2013.6650543 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 1-4 -
2013
Titel SBSE4VM: Search Based Software Engineering for Variability Management DOI 10.1109/csmr.2013.67 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 441-444 -
2013
Titel Supporting the Co-evolution of Metamodels and Constraints through Incremental Constraint Management DOI 10.1007/978-3-642-41533-3_18 Typ Book Chapter Autor Demuth A Verlag Springer Nature Seiten 287-303 -
2012
Titel Constraint-Driven Modeling through Transformation DOI 10.1007/978-3-642-30476-7_17 Typ Book Chapter Autor Demuth A Verlag Springer Nature Seiten 248-263 -
2014
Titel Comparative Analysis of Classical Multi-Objective Evolutionary Algorithms and Seeding Strategies for Pairwise Testing of Software Product Lines DOI 10.1109/cec.2014.6900473 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 387-396 Link Publikation -
2014
Titel A survey on teaching of software product lines DOI 10.1145/2556624.2556629 Typ Conference Proceeding Abstract Autor Acher M Seiten 1-8 Link Publikation -
2014
Titel A parallel evolutionary algorithm for prioritized pairwise testing of software product lines DOI 10.1145/2576768.2598305 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 1255-1262 Link Publikation -
2014
Titel Towards a benchmark and a comparison framework for combinatorial interaction testing of software product lines. Typ Journal Article Autor Alba A Et Al Journal CoRR -
2014
Titel A hitchhiker's guide to search-based software engineering for software product lines. Typ Journal Article Autor Alba E Et Al Journal CoRR