(on the occasion of starting the VARIETE project)


Monday, November 18th
IT University of Copenhagen
Room: 2A08

Program (see abstracts in the bottom of the page)

(coffee, light breakfast from 9.00)

09.30 Opening. Andrzej Wasowski
09.40 Variational Data Structures. Eric Walkingshaw, Philipps University of Marburg, Germany.
10.20 Systematic Derivation of Static Analyses for Software Product Lines. Claus Brabrand, IT University of Copenhagen
11.00 Parametric Modal Transition Systems. Jiri Srba, Aalborg University
11.40 A collection of variability-induced bugs in the Linux kernel. Iago Abal, IT University of Copenhagen

12.00 lunch

13.00 Family-based Performance Analysis of Variant-Rich Systems. Ina Schaefer, Technische Universität Braunschweig
13.40 Family-Based Performance Measurement. Norbert Siegmund, University of Passau
14.20 Challenges in modeling and analyzing quantitative aspects of a bike-sharing product line. Maurice ter Beek, CNR Pisa

15.00 Coffee break

15.30 Towards A Core Language for Separate Variability Modeling. Alexandru Florin Iosif-Lazar, IT University of Copenhagen
15.50 Incremental approach to Software Product Line Engineering. Stefan Stanciulescu, IT University of Copenhagen
16.10 closing discussion
16.30 A glass of sparkling wine

Workshop dinner will be held in the evening (18.30) for those who registered.

List of Participants

  1. Iago Abal (ITU)
  2. Andrzej Wąsowski (ITU)
  3. Jiri Srba (AAU)
  4. Ina Schaefer (TU-BS)
  5. Kasper Østerbye (ITU)
  6. Alexandru Florin Iosif-Lazar (ITU)
  7. Eric Walkingshaw (Philipps-U)
  8. Claus Brabrand (ITU)
  9. Norbert Siegmund (Passau-U)
  10. Raghava Rao Mukkamala (ITU)
  11. Maurice ter Beek (CNR Pisa)
  12. Stefan Stanciulescu (ITU)
  13. Anders Ishøy (Teledyne-Reson)
  14. Thomas Hildebrandt (ITU)

Local Information



Presentation Abstracts

Parametric Modal Transition Systems. Jiri Srba

Modal transition systems (MTS) is a well-studied specification formalism of reactive systems supporting a step-wise refinement methodology. Despite its many advantages, the formalism as well as its currently known extensions are incapable of expressing some practically needed aspects in the refinement process like exclusive, conditional and persistent choices. We introduce a new model called parametric modal transition systems (PMTS) together with a general modal refinement notion that overcome many of the limitations and we investigate the computational complexity of modal refinement checking.

Family-Based Performance Measurement. Norbert Siegmund

Most contemporary programs are customizable. They provide many features that give rise to millions of program variants. Determining which feature selection yields an optimal performance is challenging, because of the exponential number of variants. Predicting the performance of a variant based on previous measurements proved successful, but induces a trade-off between the measurement effort and prediction accuracy. We propose the alternative approach of family-based performance measurement, to reduce the number of measurements required for identifying feature interactions and for obtaining accurate predictions. The key idea is to create a variant simulator (by translating compile-time variability to run-time variability) that can simulate the behavior of all program variants. We use it to measure performance of individual methods, trace methods to features, and infer feature interactions based on the call graph. We evaluate our approach by means of five feature-oriented programs. On average, we achieve accuracy of 98%, with only a single measurement per customizable program. Observations show that our approach opens avenues of future research in different domains, such an feature-interaction detection and testing.

Family-based Performance Analysis of Variant-Rich Systems. Ina Schaefer

We model the performance of a family of product variants using UML activity diagrams with quantitative annotations. The efficiency of a product-based evaluation is typically low because each variant must be analyzed in isolation, making difficult the re-use of computations across variants. In this talk, we propose a family-based approach based on symbolic computations over a 150%-model of performance annotated activity diagrams. A numerical assessment on large activity diagrams shows that this approach can to be up to three orders of magnitude faster than product-based analysis in large models.

Systematic Derivation of Static Analyses for Software Product Lines. Claus Brabrand

We present a systematic methodology for lifting program analyses to SPLs using abstract interpretation
which is a classical framework for deriving static analyses in a compositional, step-by-step manner.
We show how to take an analysis expressed as an abstract interpretation and lift each of its steps to SPLs.

Variational Data Structures. Eric Walkingshaw

In the construction and analysis of variational software, there arises a need for correspondingly variational data structures. So far, variational data structures have been developed ad-hoc, as required for each individual use case. In this talk I advocate a systematic exploration of this area. I describe how support for variation can be viewed as a general and orthogonal property of data types, data structures, and algorithms. I also present some basic variational data structures and discuss tradeoffs between them. Variational data structures also have many applications outside of the traditional concerns of variability researchers, and therefore present an opportunity for us to make a more general contribution to computer science and software engineering.

Challenges in modeling and analyzing quantitative aspects of a bike-sharing product line. Maurice ter Beek

Within the recently started EU project Quanticol, a side-study aimed at scalable quantitative analysis of collective adaptive systems (CAS) has been foreseen. The nature of CAS, together with the importance of the societal goals they address, mean that it is imperative to carry out thorough analyses of their design to investigate all aspects before they are put into operation. In this context it is important to realize that the behaviour of the individual system components from which a CAS is composed, may exhibit variability not only in the kind of features but also in the quantitative characteristics of features themselves.
Starting form one of the case studies identified in Quanticol, on bicycle sharing, we have started to apply variability analyses on a family of bike-sharing systems (BSS) that we have defined. First we have sought support in available tools for the possibility of adding attributes and quantitative characteristics to our BSS specification. This has resulted in a tool chain that includes (academic) tools that provide different functionalities regarding the analysis of software product lines, from feature modelling to product derivation, to quantitative evaluation of the attributes of products, and, finally, to behavioural variability analysis. This latter activity has subsequently led us to extend VMC, our modelling and verification environment based on the use of modal transition systems as semantic model, with the possibility to pass values in the specifications.

Towards A Core Language for Separate Variability Modeling. Alexandru Florin Iosif-Lazar

We present a core language for separate variability modeling. While its architecture and operations are inspired by the Common Variability Language (CVL), its semantics is considerably simpler. We propose variant derivation via copying of artifacts based on a handful of inference rules, thus achieving confluence (unlike CVL). We also simplify complex hierarchical dependencies between variation points via copying and flattening, reducing a model with intricate dependencies to a flat executable model transformation. The core semantics is extremely concise, which makes it suitable to serve as a specification for implementations of trustworthy variant derivation.

A collection of variability-induced bugs in the Linux kernel. Iago Abal

There is a need for improving our understanding of how bugs are induced by feature interactions in a software product line. The community also lacks a collection of real problems, that can be used to drive the development and to benchmark SPL-aware static analysis and verification techniques. We report on work in progress on building such a detailed collection of variability-induced bugs for the Linux kernel.

Incremental approach to Software Product Line Engineering. Stefan Stanciulescu

Evolution of software products has been always an important part in the software’s life cycle. In software product lines, there are more things to consider regarding evolution compared to a legacy system. We present what the current challenges in evolving software product lines are, and provide scenarios on how evolution could be supported in a more systematic way by having adequate tool support. We propose a small set of operations that would enable tools to offer such support.