Yo variability! JHipster: a playground for web-apps analyses


Though variability is everywhere, there has always been a shortage of publicly available cases for assessing variability-aware tools and techniques as well as supports for teaching variability-related concepts. Historical software product lines contains industrial secrets their owners do not want to disclose to a wide audience. The open source community contributed to large-scale cases such as Eclipse, Linux kernels, or web-based plugin systems (Drupal, WordPress). To assess accuracy of sampling and prediction approaches (bugs, performance), a case where all products can be enumerated is desirable. As configuration issues do not lie within only one place but are scattered across technologies and assets, a case exposing such diversity is an additional asset. To this end, we present in this paper our efforts in building an explicit product line on top of JHipster, an industrial open-source Web-app configurator that is both manageable in terms of configurations (approx. 163,000) and diverse in terms of technologies used. We present our efforts in building a variability-aware chain on top of JHipster’s configurator and lessons learned using it as a teaching case at the University of Rennes. We also sketch the diversity of analyses that can be performed with our infrastructure as well as early issues found using it. Our long term goal is both to support students and researchers studying variability analysis and JHipster developers in the maintenance and evolution of their tools.

Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems
Xavier Devroey
Xavier Devroey
Postdoctoral Researcher

My research interests include search-based and model-based software testing, test suite augmentation, DevOps, and variability-intensive systems engineering.