Detailed program

  • Activities and Costs of Re-Engineering Cloned Variants into an Integrated Platform (Jacob Krüger, Thorsten Berger)
  • Causes of Merge Conflicts: A Case Study of ElasticSearch (Wardah Mahmood, Moses Chagama, Thorsten Berger, Regina Hebig)
  • Engineering Support for Variability Modeling for the Context-Sensitive Reconfiguration of Collaborative Manufacturing Systems (Birte Caesar)
  • Evaluating #SAT Solvers on Industrial Feature Models (Chico Sundermann, Thomas Thüm, Ina Schaefer)
  • Excellence in Variant Testing (Holger Schlingloff, Mehrdad Saadatmand, Peter M. Kruse)
  • EXtracting Product Lines from vAriaNTs (EXPLANT) (Jacob Krüger, Sebastian Krieter, Gunter Saake, Thomas Leich)
  • Fast Static Analyses of Software Product Lines - An Example With More Than 42,000 Metrics (Sascha El-Sharkawy, Adam Krafczyk, Klaus Schmid)
  • Feature Identification for Engineering Model Variants in Cyber-Physical Production Systems (Kristof Meixner, Rick Rabiser, Stefan Biffl)
  • FeatureCoPP: Unfolding Preprocessor Variability (Kai Ludwig, Jacob Krüger, Thomas Leich)
  • Generating Attributed Variability Models for Transfer Learning (Johannes Dorn, Sven Apel, Norbert Siegmund)
  • Mapping Features to Automatically Identified Object-Oriented Variability Implementations - The case of ArgoUML-SPL (Johann Mortara, Xhevahire Tërnava, Philippe Collet)
  • On the Proposal and Evaluation of a Test-enriched Dataset for Configurable Software Systems (Fischer Ferreira, Gustavo Vale, Eduardo Figueiredo, João Paulo Diniz)
  • SMT-Based Variability Analyses in FeatureIDE (Joshua Sprey, Chico Sundermann, Sebastian Krieter, Michael Nieke, Jacopo Mauro, Thomas Thüm, Ina Schaefer)
  • STARS: Software Technology for Adaptable and Reusable Systems PhD Research Project (Edilton Santos, Gilles Perrouin, Pierre-Yves Schobbens)
  • Structurally Evolving Component-Port-Connector Architectures of Centrally Controlled Systems (Jörg Christian Kirchhof, Bernhard Rumpe, David Schmalzing, Andreas Wortmann)
  • Syntax-Preserving Slicing of C-Based Software Product Lines: An Experience Report (Lea Gerling, Klaus Schmid)
  • Towards Iterative Software Product Line Engineering with Incremental Multi-Variant Model Transformations (Sandra Greiner, Bernhard Westfechtel)
  • Towards Projectional Editing for Model-based SPLs (Dennis Reuling, Christopher Pietsch, Udo Kelter, Timo Kehrer)
  • Using Variability Modeling to Support Security Evaluations: Virtualizing the Right Attack Scenarios (Andy Kenner, Stephan Dassow, Christian Lausberger, Jacob Krüger, Thomas Leich)
  • Variability meets Security: Quantitative Security Modeling and Analysis of Highly Customizable Attack Scenarios (Maurice H. ter Beek, Axel Legay, Alberto Lluch Lafuente, Andrea Vandin)
  • Variational Correctness-by-Construction (Tabea Bordis, Tobias Runge, Alexander Knüppel, Thomas Thüm, Ina Schaefer)
  • Recovering Variability Information from Source Code of Clone-and-Own Software Systems (Alexander Schlie, Sandro Schulze, Ina Schaefer)
  • YASA: Yet Another Sampling Algorithm (Sebastian Krieter, Thomas Thüm, Sandro Schulze, Thomas Leich, Gunter Saake)

Nelly Bencomo

TBA

TBA


Andrzej Wąsowski

Bugs: The Dark Side of Variability, Reuse and Modularity

A dependency bug is a software fault that manifests itself when accessing an unavailable asset. Dependency bugs are pervasive and we all hate them. But why do they appear?

I will present a case study of dependency bugs in the Robot Operating System (ROS). From one point of view, ROS is a highly general distributed architecture for building robotics systems, supported by a communication middleware, and a large number of reusable and configurable components. We will discuss results of a qualitative (N=78) and quantitative (N=1354) analyses of bug reports in ROS. We will contrast this with 19553 reports in top 30 GitHub projects. A definition and a taxonomy of dependency bugs emerges from these data. We find that these bugs are surprisingly pervasive, and very annoying. As many as 15% (!) of all reported bugs are dependency bugs. They also contribute tremendously to the (possibly incorrect) perception of new developers that the system is unstable, unpredictable, or hard to use.

It seems that dependency problems are an inherent cost paid for software modularity and reuse. Yet, we rarely discuss them when we evaluate our research ideas and tools. They can be considered as a technical debt introduced by generality of software architectures. A debt that is growing, more decoupled the software becomes — when components evolve at various speeds and are controlled by separate maintainers. Perhaps we should include this cost as an explicit criterion in evaluation of reuse ideas in software. Perhaps this is a cost worth paying for the benefits.

On the other hand, dependency bugs do not seem to be impossible to combat. We have built simple lightweight linters to find some of them. Lightweight tools can find dependency bugs efficiently, although it is challenging to decide which tools to build and difficult, hopefully not impossible, to build general tools. Perhaps the VAMOS community can help both building tools that are finding and eliminating dependency problems, and by identifying the general architectures, or ecosystems organizations, that minimize the number of dependency problems without loosing the agility.

Joint work with: Anders Fischer Nielsen, Zhoulai Fu (IT University of Copenhagen), Ting Su (ETH Zurich). Partially sponsored by European Commission through H2020 ROSIN Grant No. 732287.

Short Bio

Andrzej Wąsowski works with design and use of technologies that improve quality of software, including issues such as correctness and maintainability. He has worked extensively with software product line methods-ways to develop software for similar products at lower cost but with higher quality. He has collaborated with open source projects (Linux kernel and ROS among others) and with industry. Currently, he is investigating quality assurance methods for robotics platforms, the privacy and information flow in machine learning programs, and generating patches for locking bugs in the Linux kernel.

Andrzej Wąsowski is a professor of Software Engineering at IT University in Copenhagen (ITU). He holds an MSc degree from Warsaw University of Technology and a PhD degree from ITU. He has previously held visiting positions at Aalborg University (Denmark), INRIA Rennes (France) and University of Waterloo (Canada).

E037 - Faculty of Computer Science, Otto-von-Guericke Unversity Magdebrug

    09:00-17:30:    MODEVAR Pre-Conference Event (free of charge, please indicate during the registration whether you wan to attend)

  • 08:30-09:00 Registration
  • 09:00-09:15 Opening
  • Keynote 1 (chair ???)
  • 09:15-10:30 Dependency Bugs: The Dark Side of Variability, Reuse and Modularity (Andrzej Wąsowski)
  • 10:30-11:00 Coffee break
  • Session 1: Counting, Sampling and Learning (chair: ???)
    • 11:00-11:25 Evaluating #SAT Solvers on Industrial Feature Models (Chico Sundermann, Thomas Thüm, Ina Schaefer)
    • 11:25-11:50 YASA: Yet Another Sampling Algorithm (Sebastian Krieter, Thomas Thüm, Sandro Schulze, Thomas Leich, Gunter Saake)
    • 11:50-12:15 Generating Attributed Variability Models for Transfer Learning (Johannes Dorn, Sven Apel, Norbert Siegmund)
    • 12:15-12:45 Discussion
  • 12:45-14:00 Lunch
  • Session 2: Automated Reasoning (chair: ???)
    • 14:00-14:25 SMT-Based Variability Analyses in FeatureIDE (Joshua Sprey, Chico Sundermann, Sebastian Krieter, Michael Nieke, Jacopo Mauro, Thomas Thüm, Ina Schaefer)
    • 14:25-14:50 Variational Correctness-by-Construction (Tabea Bordis, Tobias Runge, Alexander Knüppel, Thomas Thüm, Ina Schaefer)
    • 14:50-15:15 Fast Static Analyses of Software Product Lines - An Example With More Than 42,000 Metrics (Sascha El-Sharkawy, Adam Krafczyk, Klaus Schmid)
    • 15:15-15:45 Discussion
  • 15:45-16:15 Coffee break
  • Session 3: Beyond the Borders (chair: ???)
    • 16:15-16:40 Causes of Merge Conflicts: A Case Study of ElasticSearch (Wardah Mahmood, Moses Chagama, Thorsten Berger, Regina Hebig)
    • 16:40-17:05 Using Variability Modeling to Support Security Evaluations: Virtualizing the Right Attack Scenarios (Andy Kenner, Stephan Dassow, Christian Lausberger, Jacob Krüger, Thomas Leich)
    • 17:05-17:30 Variability meets Security: Quantitative Security Modeling and Analysis of Highly Customizable Attack Scenarios (Maurice H. ter Beek, Axel Legay, Alberto Lluch Lafuente, Andrea Vandin)
    • 17:30-18:00 Discussion
  • 18:00-20:00 Reception (conference site)
  • 08:45-09:15 Registration
  • Keynote 2 (chair: ???)
  • 09:15-10:30 *TITLE TBD* (Nelly Bencomo)
  • 10:30-11:00 Coffee break
  • Session 4: Project Dissemination (chair: ???)
    • 11:00-11:30 Excellence in Variant Testing (Holger Schlingloff, Mehrdad Saadatmand, Peter M. Kruse)
    • 11:30-12:00 EXtracting Product Lines from vAriaNTs (EXPLANT) (Jacob Krüger, Sebastian Krieter, Gunter Saake, Thomas Leich)
  • Session 5: Student Talks
    • 12:00-12:30 Engineering Support for Variability Modeling for the Context-Sensitive Reconfiguration of Collaborative Manufacturing Systems (Birte Caesar)
    • 12:30-13:00 STARS: Software Technology for Adaptable and Reusable Systems PhD Research Project (Edilton Santos, Gilles Perrouin, Pierre-Yves Schobbens)
  • 13:00-14:00 Lunch
  • Session 6: Variability in the Field (chair: ???)
    • 11:00-11:25 On the Proposal and Evaluation of a Test-enriched Dataset for Configurable Software Systems (Fischer Ferreira, Gustavo Vale, Eduardo Figueiredo, João Paulo Diniz)
    • 11:25-11:50 Syntax-Preserving Slicing of C-Based Software Product Lines: An Experience Report (Lea Gerling, Klaus Schmid)
    • 11:50-12:15 Feature Identification for Engineering Model Variants in Cyber-Physical Production Systems (Kristof Meixner, Rick Rabiser, Stefan Biffl)
    • 12:15-12:45 Discussion
  • 15:45-16:15 Coffee break
  • Session 7: Reverse- and Re-engineering (chair: ???)
    • 16:15-16:40 Recovering Variability Information from Source Code of Clone-and-Own Software Systems (Alexander Schlie, Sandro Schulze, Ina Schaefer)
    • 16:40-17:05 Mapping Features to Automatically Identified Object-Oriented Variability Implementations - The case of ArgoUML-SPL (Johann Mortara, Xhevahire Tërnava, Philippe Collet)
    • 17:05-17:30 Activities and Costs of Re-Engineering Cloned Variants into an Integrated Platform (Jacob Krüger, Thorsten Berger)
    • 17:30-18:00 Discussion
  • 19:00-24:00 Dinner (house of craftmen)
  • 9:00-10:30 MIP Awards
  • 10:30-11:00 Coffee break
  • Session 8: Evolution and Maintenance (chair: ???)
    • 11:00-11:25 Towards Iterative Software Product Line Engineering with Incremental Multi-Variant Model Transformations (Sandra Greiner, Bernhard Westfechtel)
    • 11:25-11:50 Structurally Evolving Component-Port-Connector Architectures of Centrally Controlled Systems (Jörg Christian Kirchhof, Bernhard Rumpe, David Schmalzing, Andreas Wortmann)
    • 11:50-12:15 FeatureCoPP: Unfolding Preprocessor Variability (Kai Ludwig, Jacob Krüger, Thomas Leich)
    • 12:15-12:40 Towards Projectional Editing for Model-Based SPLs (Dennis Reuling, Christopher Pietsch, Udo Kelter, Timo Kehrer)
    • 12:40-13:10 Discussion
  • 13:10-13:20 Closing
  • 13:20-14:20 Lightweight Lunch