Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3023956.3023963acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

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

Published: 01 February 2017 Publication History

Abstract

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 (≈ 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.

References

[1]
M. Acher, P. Collet, P. Lahire, and R. B. France. FAMILIAR: A domain-specific language for large scale management of feature models. Science of Computer Programming (SCP), 78(6):657--681, 2013.
[2]
M. Acher, R. E. Lopez-Herrejon, and R. Rabiser. A survey on teaching of software product lines. In VaMoS '14, Nice, France, jan 2014. ACM.
[3]
M. Al-Hajjaji, S. Krieter, T. Thüm, M. Lochau, and G. Saake. IncLing: efficient product-line testing using incremental pairwise sampling. In GPCE '16, pages 144--155. ACM, 2016.
[4]
G. Bécan, M. Acher, J.-M. Jézéquel, and T. Menguy. On the variability secrets of an online video generator. In Variability Modelling of Software-intensive Systems (VaMoS'15), pages 96 -- 102, Hildesheim, Germany, jan 2015.
[5]
A. Classen, M. Cordy, P.-Y. Schobbens, P. Heymans, A. Legay, and J.-F. J.-F. Raskin. Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking. IEEE Transactions on Software Engineering, 39(8):1069--1089, aug 2013.
[6]
M. Cohen, M. Dwyer, and Jiangfan Shi. Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach. IEEE Transactions on Software Engineering, 34(5):633--650, 2008.
[7]
CucumberTeam. Cucumber website. https://cucumber.io, accessed in November 2016.
[8]
P. A. da Mota Silveira Neto, I. do Carmo Machado, J. D. McGregor, E. S. de Almeida, and S. R. de Lemos Meira. A systematic mapping study of software product lines testing. Information and Software Technology, 53(5):407--423, 2011.
[9]
X. Devroey, G. Perrouin, M. Cordy, H. Samih, A. Legay, P.-Y. Schobbens, and P. Heymans. Statistical prioritization for software product line testing: an experience report. SoSyM, pages 1--19, 2015.
[10]
X. Devroey, G. Perrouin, A. Legay, M. Cordy, P.-Y. Schobbens, and P. Heymans. Coverage Criteria for Behavioural Testing of Software Product Lines. In ISoLA '14, volume 8802 of LNCS, pages 336--350. Springer, 2014.
[11]
X. Devroey, G. Perrouin, A. Legay, P.-Y. Schobbens, and P. Heymans. Search-based Similarity-driven Behavioural SPL Testing. In VaMoS '16, pages 89--96. ACM, 2016.
[12]
N. Dintzner, A. van Deursen, and M. Pinzger. FEVER: Extracting Feature-oriented Changes from Commits. In MSR '16, pages 85--96. ACM, 2016.
[13]
E. Engström and P. Runeson. Software product line testing - A systematic mapping study. Information and Software Technology, 53(1):2--13, 2011.
[14]
J. A. Galindo, M. Acher, J. M. Tirado, C. Vidal, B. Baudry, and D. Benavides. Exploiting the Enumeration of All Feature Model Configurations. In SPLC '16, Beijing, China, Sept. 2016.
[15]
M. Greiler, A. van Deursen, and M. A. Storey. Test confessions: A study of testing practices for plug-in systems. In ICSE '12, pages 244--254. ACM, 2012.
[16]
J. Guo, K. Czarnecki, S. Apel, N. Siegmund, and A. Wasowski. Variability-aware performance prediction: A statistical learning approach. In ASE '13, pages 301--311. IEEE, 2013.
[17]
C. Henard, M. Papadakis, G. Perrouin, J. Klein, P. Heymans, and Y. Le Traon. Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product Lines. IEEE Transactions on Software Engineering, 40(7):650--670, 2014.
[18]
A. Hervieu, B. Baudry, and A. Gotlieb. PACOGEN: Automatic Generation of Pairwise Test Configurations from Feature Models. In ISSRE '11, number i, pages 120--129. IEEE, 2011.
[19]
A. Hubaux, A. Classen, and P. Heymans. Formal modelling of feature configuration workflows. In SPLC '09, pages 221--230. Carnegie Mellon University, 2009.
[20]
JHipsterTeam. Jhipster website. https://jhipster.github.io, accessed in November 2016.
[21]
D. Jin, X. Qu, M. B. Cohen, and B. Robinson. Configurations everywhere: implications for testing and debugging in practice. In ICSE '14 Companion Proceedings, pages 215--224. ACM, 2014.
[22]
M. F. Johansen, Ø. Haugen, and F. Fleurey. An algorithm for generating t-wise covering arrays from large feature models. In SPLC '12, volume 1, page 46. ACM, 2012.
[23]
C. Kastner and S. Apel. Type-checking software product lines-a formal approach. In ASE '08, pages 258--267. IEEE, 2008.
[24]
C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-aware parsing in the presence of lexical macros and conditional compilation. In ACM SIGPLAN Notices, volume 46, pages 805--824. ACM, 2011.
[25]
C. Kästner, A. Von Rhein, S. Erdweg, J. Pusch, S. Apel, T. Rendel, and K. Ostermann. Toward variability-aware testing. In FOSD '12, pages 1--8. ACM, 2012.
[26]
R. Lachmann, S. Lity, S. Lischke, S. Beddig, S. Schulze, and I. Schaefer. Delta-oriented test case prioritization for integration testing of software product lines. In SPLC '15, pages 81--90. ACM, 2015.
[27]
J. Liebig, A. von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer. Scalable analysis of variable software. In ESEC/FSE '13, pages 81--91. ACM, 2013.
[28]
M. Lochau, S. Oster, U. Goltz, and A. Schürr. Model-based pairwise testing for feature interaction coverage in software product line engineering. Software Quality Journal, 20(3--4):567--604, 2012.
[29]
M. Lochau, I. Schaefer, J. Kamischke, and S. Lity. Incremental Model-Based Testing of Delta-Oriented Software Product Lines. In TAP '12, volume 7305 of LNCS, pages 67--82. Springer, 2012.
[30]
R. E. Lopez-Herrejon, F. Chicano, J. Ferrer, A. Egyed, and E. Alba. Multi-objective Optimal Test Suite Computation for Software Product Line Pairwise Testing. In ICSME '13, pages 404--407. IEEE, 2013.
[31]
R. E. Lopez-Herrejon, S. Fischer, R. Ramler, and A. Egyed. A first systematic mapping study on combinatorial interaction testing for software product lines. In ICSTW '15, pages 1--10. IEEE, 2015.
[32]
I. d. C. Machado, J. D. McGregor, Y. C. Cavalcanti, and E. S. de Almeida. On strategies for testing software product lines: A systematic literature review. Information and Software Technology, 56(10):1183--1199, 2014.
[33]
D. Marijan, A. Gotlieb, S. Sen, and A. Hervieu. Practical pairwise testing for software product lines. In SPLC '13, page 227. ACM, 2013.
[34]
C. Nebut, Y. L. Traon, and J. Jézéquel. System Testing of Product Lines: From Requirements to Test Cases, pages 447--477. Springer, 2006.
[35]
L. Neves, P. Borba, V. Alves, L. Turnes, L. Teixeira, D. Sena, and U. Kulesza. Safe evolution templates for software product lines. Journal of Systems and Software, 106:42--58, 2015.
[36]
H. V. Nguyen, C. Kästner, and T. N. Nguyen. Exploring variability-aware execution for testing plugin-based web applications. In ICSE '14, pages 907--918. ACM, 2014.
[37]
J. A. Parejo, A. B. Sánchez, S. Segura, A. Ruiz-Cortés, R. E. Lopez-Herrejon, and A. Egyed. Multi-objective test case prioritization in highly configurable systems: A case study. Journal of Systems and Software, 122:287--310, 2016.
[38]
L. Passos, L. Teixeira, N. Dintzner, S. Apel, A. Wasowski, K. Czarnecki, P. Borba, and J. Guo. Coevolution of variability models and related software artifacts. Empirical Software Engineering, 21(4):1744--1793, 2016.
[39]
G. Perrouin, M. Acher, J.-M. Davril, A. Legay, and P. Heymans. A complexity tale: web configurators. In VACE '16, pages 28--31. ACM, 2016.
[40]
G. Perrouin, S. Oster, S. Sen, J. Klein, B. Baudry, and Y. le Traon. Pairwise testing for software product lines: Comparison of two approaches. Software Quality Journal, 20(3--4):605--643, 2011.
[41]
M. Raible. The JHipster mini-book. C4Media, 2015.
[42]
G. Sampaio, P. Borba, and L. Teixeira. Partially safe evolution of software product lines. In SPLC '16, pages 124--133. ACM, 2016.
[43]
A. B. Sanchez, S. Segura, and A. Ruiz-Cortes. A Comparison of Test Case Prioritization Criteria for Software Product Lines. In ICST '14, pages 41--50. IEEE, 2014.
[44]
A. Sarkar, J. Guo, N. Siegmund, S. Apel, and K. Czarnecki. Cost-Efficient Sampling for Performance Prediction of Configurable Systems (T). In ASE '15, pages 342--352. IEEE, 2015.
[45]
A. S. Sayyad, T. Menzies, and H. Ammar. On the value of user preferences in search-based software engineering: A case study in software product lines. In ICSE '13, pages 492--501. IEEE, 2013.
[46]
N. Siegmund, A. Grebhahn, S. Apel, and C. Kästner. Performance-influence models for highly configurable systems. In ESEC/FSE '15, pages 284--294. ACM, 2015.
[47]
N. Siegmund, S. S. Kolesnikov, C. Kästner, S. Apel, D. Batory, M. Rosenmüller, and G. Saake. Predicting performance via automated feature-interaction detection. In ICSE '12, pages 167--177. IEEE, 2012.
[48]
N. Siegmund, M. Rosenmüller, C. Kästner, P. G. Giarrusso, S. Apel, and S. S. Kolesnikov. Scalable prediction of non-functional properties in software product lines: Footprint and memory consumption. Information and Software Technology, 55(3):491--507, 2013.
[49]
M. H. ter Beek, A. Fantechi, S. Gnesi, and F. Mazzanti. Modelling and analysing variability in product families: Model checking of modal transition systems with variability constraints. Journal of Logical and Algebraic Methods in Programming, nov 2015.
[50]
P. Valov, J. Guo, and K. Czarnecki. Empirical comparison of regression methods for variability-aware performance prediction. In SPLC '15, pages 186--190. ACM, 2015.
[51]
A. Von Rhein, S. Apel, C. Kästner, T. Thüm, and I. Schaefer. The pla model: on the combination of product-line analyses. In VaMoS '13, page 14. ACM, 2013.
[52]
E. Walkingshaw, C. Kästner, M. Erwig, S. Apel, and E. Bodden. Variational data structures: Exploring tradeoffs in computing with variability. In SPLASH '14, pages 213--226. ACM, 2014.
[53]
Y. Zhang, J. Guo, E. Blais, K. Czarnecki, and H. Yu. A mathematical model of performance-relevant feature interactions. In SPLC '16, pages 25--34. ACM, 2016.

Cited By

View all
  • (2024)Options Matter: Documenting and Fixing Non-Reproducible Builds in Highly-Configurable SystemsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644913(654-664)Online publication date: 15-Apr-2024
  • (2023)Weberator: A low code backend generator tool2023 IEEE Fifth International Conference on Advances in Electronics, Computers and Communications (ICAECC)10.1109/ICAECC59324.2023.10560283(1-5)Online publication date: 7-Sep-2023
  • (2022)Identification and visualization of variability implementations in object-oriented variability-rich systems: a symmetry-based approachAutomated Software Engineering10.1007/s10515-022-00329-x29:1Online publication date: 1-May-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '17: Proceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems
February 2017
114 pages
ISBN:9781450348119
DOI:10.1145/3023956
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. case study
  2. variability-related analyses
  3. web-apps

Qualifiers

  • Research-article

Conference

VaMoS '17

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Options Matter: Documenting and Fixing Non-Reproducible Builds in Highly-Configurable SystemsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644913(654-664)Online publication date: 15-Apr-2024
  • (2023)Weberator: A low code backend generator tool2023 IEEE Fifth International Conference on Advances in Electronics, Computers and Communications (ICAECC)10.1109/ICAECC59324.2023.10560283(1-5)Online publication date: 7-Sep-2023
  • (2022)Identification and visualization of variability implementations in object-oriented variability-rich systems: a symmetry-based approachAutomated Software Engineering10.1007/s10515-022-00329-x29:1Online publication date: 1-May-2022
  • (2022)Extending Boolean Variability Relationship Extraction to Multi-valued Software DescriptionsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_6(143-173)Online publication date: 23-Nov-2022
  • (2021)LIFTSProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473066(1-6)Online publication date: 6-Sep-2021
  • (2021)Capturing the diversity of analyses on the Linux kernel variabilityProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471151(160-171)Online publication date: 6-Sep-2021
  • (2020)A concern-oriented software engineering methodology for micro-service architecturesProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3419488(1-5)Online publication date: 16-Oct-2020
  • (2019)Identifying and Visualizing Variability in Object-Oriented Variability-Rich SystemsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336311(231-243)Online publication date: 9-Sep-2019
  • (2019)Exploring the Variability of Interconnected Product Families with Relational Concept AnalysisProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342407(199-206)Online publication date: 9-Sep-2019
  • (2019)Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stackEmpirical Software Engineering10.1007/s10664-018-9635-424:2(674-717)Online publication date: 1-Apr-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media