https://www.dagstuhl.de/19191

May 5 – 10 , 2019, Dagstuhl Seminar 19191

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

Organizers

Thorsten Berger (Chalmers and University of Gothenburg, SE)
Marsha Chechik (University of Toronto, CA)
Timo Kehrer (HU Berlin, DE)
Manuel Wimmer (TU Wien, AT)

For support, please contact

Simone Schilke for administrative matters

Michael Gerke for scientific matters

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

Book exhibition

Books from the participants of the current Seminar 

Book exhibition in the library, ground floor, during the seminar week.

Documentation

In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.

 

Download overview leaflet (PDF).

Publications

Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.

NSF young researcher support