https://www.dagstuhl.de/19191

05. – 10. Mai 2019, Dagstuhl Seminar 19191

Software Evolution in Time and Space: Unifying Version and Variability Management

Organisatoren

Thorsten Berger (Chalmers University of Technology – Göteborg, SE)
Marsha Chechik (University of Toronto, CA)
Timo Kehrer (HU Berlin, DE)
Manuel Wimmer (TU Wien, AT)

Auskunft zu diesem Dagstuhl Seminar erteilen

Simone Schilke zu administrativen Fragen

Michael Gerke zu wissenschaftlichen Fragen

Dokumente

Programm des Dagstuhl Seminars (Hochladen)

(Zum Einloggen bitte Seminarnummer und Zugangscode verwenden)

Motivation

Modern software systems evolve rapidly and often need to exist in many variants. Consider the Linux kernel with its uncountable number of variants. Each variant addresses different requirements, such as runtime environments ranging from Android phones to large super-computers and server farms. At the same time, the Linux kernel frequently boasts new versions, managed by thousands of developers. Yet, software versions – resulting from evolution in time – and variants – resulting from evolution in space – are managed radically differently. Version management relies on a version control system (Git) and sophisticated workflows – concepts that have been developed for decades in the field of software configuration management (SCM). Variant management in the Linux kernel relies on techniques known from the field of software product line engineering (SPLE), such as an integrated software platform, a variant-aware build system, an interactive configurator tool, and a model-based representation of all kernel features. The Linux kernel is exemplary for many large-scale, variant-rich, and rapidly evolving software systems in industry, especially in the domains of embedded, cyber-physical, automotive, and avionics control systems.

Despite decades of research in both fields, the effective evolution of variant-rich systems is still an open problem. Three main challenges exist. First, while version control systems are well-integrated into development processes, product-line engineering requires investment into additional tooling and different processes that are difficult to adopt. In fact, organizations rarely adopt product line engineering from scratch, but rather use readily available version control systems with their branching and forking facilities – a strategy known as clone&own. While this strategy is simple, it does not scale with the number of variants, and then requires evolving (i.e., re-engineering) cloned variants into a product-line platform. Second, evolving product-line platforms is substantially more complex than evolving single variants, mainly since developers need to work on all variants at the same time. Third, the granularity of tracking versions of variants is still unclear. While the whole platform can be versioned, ideally, versioning at the level of features should be supported.

In summary, SCM and SPLE are two widely established, yet actively researched software engineering disciplines offering a variety of concepts to deal with software versions and variants. Yet, despite various attempts, none of the two disciplines has been successful in establishing unified solutions addressing both problems at the same time – mainly due to the isolation of both communities and due to the absence of realistic and widely accepted requirements on how to evaluate the effectiveness of techniques for managing both versions and variants.

This Dagstuhl Seminar aims at establishing a body of knowledge on unified version and variant management. We invite leading practitioners and researchers from both disciplines to discuss each other’s challenges, solutions, and experiences. During the seminar, the participants will: (i) survey state-of-the-art SCM and SPLE concepts and describe them in an ontology, which also maps both areas’ terminologies and open problems, (ii) gather industrial and academic challenges and requirements on integrated version and variant management, (iii) survey and assess existing evaluation approaches, and (iv) establish a research agenda, research infrastructure, and working groups. To guide future research, the participants will also work on improved evaluation approaches – as benchmarks for new version and variant management techniques. The ultimate goal of the seminar is to enable the development and evaluation of enhanced version and variant management techniques that will be adopted in practice.

License
  Creative Commons BY 3.0 DE
  Thorsten Berger, Marsha Chechik, Timo Kehrer, and Manuel Wimmer

Classification

  • Modelling / Simulation
  • Software Engineering

Keywords

  • Software configuration management
  • Versioning
  • Variability management
  • Software product lines
  • Empirical evaluation

Buchausstellung

Bücher der Teilnehmer 

Buchausstellung im Erdgeschoss der Bibliothek

(nur in der Veranstaltungswoche).

Dokumentation

In der Reihe Dagstuhl Reports werden alle Dagstuhl-Seminare und Dagstuhl-Perspektiven-Workshops dokumentiert. Die Organisatoren stellen zusammen mit dem Collector des Seminars einen Bericht zusammen, der die Beiträge der Autoren zusammenfasst und um eine Zusammenfassung ergänzt.

 

Download Übersichtsflyer (PDF).

Publikationen

Es besteht weiterhin die Möglichkeit, eine umfassende Kollektion begutachteter Arbeiten in der Reihe Dagstuhl Follow-Ups zu publizieren.

Dagstuhl's Impact

Bitte informieren Sie uns, wenn eine Veröffentlichung ausgehend von
Ihrem Seminar entsteht. Derartige Veröffentlichungen werden von uns in der Rubrik Dagstuhl's Impact separat aufgelistet  und im Erdgeschoss der Bibliothek präsentiert.