Advertisement

Quantitative and Qualitative Empirical Analysis of Three Feature Modeling Tools

  • Juliana Alves PereiraEmail author
  • Kattiana Constantino
  • Eduardo Figueiredo
  • Gunter Saake
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 703)

Abstract

During the last couple of decades, feature modeling tools have played a significant role in the improvement of software productivity and quality by assisting tasks in software product line (SPL). SPL decomposes a large-scale software system in terms of their functionalities. The goal of the decomposition is to create well-structured individual software systems that can meet different users’ requirements. Thus, feature modeling tools provides means to manage the inter-dependencies among reusable common and variable functionalities, called features. There are several tools to support variability management by modeling features in SPL. The variety of tools in the current literature makes it difficult to understand what kinds of tasks are supported and how much effort can be reduced by using these tools. In this paper, we present the results of an empirical study aiming to support SPL engineers choosing the feature modeling tool that best fits their needs. This empirical study compares and analyzes three tools, namely SPLOT, FeatureIDE , and pure::variants . These tools are analyzed based on data from 119 participants. Each participant used one tool for typical feature modeling tasks, such as create a model, update a model, automated analysis of the model, and product configuration. Finally, analysis concerning the perceived ease of use, usefulness, effectiveness, and efficiency are presented.

Keywords

Software product lines Variability management Feature models SPLOT Featureide Pure::variants 

Notes

Acknowledgements

This work was partially supported by CNPq (grant 202368/2014-9). We are grateful to the reviewers who contributed significantly to the improvement of the paper.

References

  1. 1.
  2. 2.
    Bachmann, F., Clements, P.C.: Variability in software product lines. Software Engineering Institute, CMU/SEI Report Number: CMU/SEI-2005-TR-012 (2005)Google Scholar
  3. 3.
    Barbeau, M., Bordeleau, F.: A protocol stack development tool using generative programming. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 93–109. Springer, Heidelberg (2002). doi: 10.1007/3-540-45821-2_6 CrossRefGoogle Scholar
  4. 4.
    Batory, D., Sarvela, J., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  5. 5.
    Benavides, D., Ruiz–Cortés, A., Trinidad, P., Segura, S.: A survey on the automated analyses of feature models. In: JISBD, Barcelona (2006)Google Scholar
  6. 6.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  7. 7.
    Beuche, D.: Modeling and building software product lines with pure::variants. In: International Software Product Line Conference (SPLC), p. 255 (2012)Google Scholar
  8. 8.
    Bosch, J., Capilla, R., Hilliard, R.: Trends in systems and software variability. IEEE Softw. 32(3), 44–51 (2015)CrossRefGoogle Scholar
  9. 9.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)Google Scholar
  10. 10.
    Constantino, K., Pereira, J.A., Padilha, J., Vasconcelos, P., Figueiredo, E.: An empirical study of two software product line tools. In: International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), pp. 164–171 (2016)Google Scholar
  11. 11.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Principles, Techniques and Tools. Addison-Wesley, Reading (2000)Google Scholar
  12. 12.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. In: Software Process: Improvement and Practice, pp. 7–29 (2005)Google Scholar
  13. 13.
    Czarnecki, K., Wasowski, A.: Feature models and logics: there and back again. In: International Software Product Line Conference (SPLC), pp. 23–34 (2007)Google Scholar
  14. 14.
    Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wąsowski, A.: Cool features and tough decisions: a comparison of variability modeling approaches. In: Workshop on Variability Modeling of Software-intensive System (VaMoS), pp. 173–182 (2012)Google Scholar
  15. 15.
    Djebbi, O., Salinesi, C., Fanmuy, G.: Industry survey of product lines management tools: requirements, qualities and open issues. In: IEEE International Requirements Engineering Conference (RE), pp. 301–306 (2007)Google Scholar
  16. 16.
    Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Filho, F.C., Dantas, F.: Evolving software product lines with aspects: an empirical study. In: International Conference on Software Engineering (ICSE), pp. 261–270 (2008)Google Scholar
  17. 17.
    Griss, M., Favaroand, J., d’Alessandro, M.: Integrating Feature Modeling with the RSEB. In: International Conference on Software Reuse (ICSR), pp. 76–85 (1998)Google Scholar
  18. 18.
    Jain, R.: The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. Wiley, New York (1990)Google Scholar
  19. 19.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature oriented domain analysis (FODA) feasibility study. Software Engineering Institute, CMU/SEI Report Number: CMU/SEI-90-TR-021 (1990)Google Scholar
  20. 20.
    Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: a feature-oriented reuse method with domain-specific reference architectures. Softw. Eng. 5(1), 143–168 (1999)Google Scholar
  21. 21.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi: 10.1007/BFb0053381 Google Scholar
  22. 22.
    Lee, K., Kang, Kyo C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002). doi: 10.1007/3-540-46020-9_5 CrossRefGoogle Scholar
  23. 23.
    Mendonça, M., Branco, M., Cowan, D.: SPLOT - software product lines online tools. In: Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), pp. 761–762 (2009)Google Scholar
  24. 24.
    Pereira, J.A., Souza, C., Figueiredo, E., Abilio, R., Vale, G., Costa, H.A.: Software variability management: an exploratory study with two feature modeling tools. In: Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), pp. 20–29 (2013)Google Scholar
  25. 25.
    Pereira, J.A., Constantino, K., Figueiredo, E.: A systematic literature review of software product line management tools. In: Schaefer, I., Stamelos, I. (eds.) ICSR 2015. LNCS, vol. 8919, pp. 73–89. Springer, Cham (2014). doi: 10.1007/978-3-319-14130-5_6 Google Scholar
  26. 26.
    Pohl, K., Metzger, A.: Variability management in software product line engineering. In International Conference on Software Engineering (ICSE), pp. 1049–1050 (2006)Google Scholar
  27. 27.
    Simmons, J., Bastarrica, M.C., Silvestre, L., Quispe, A.: Analyzing methodologies and tools for specifying variability in software processes. Computer Science Department, Universidad de Chile, Santiago. http://swp.dcc.uchile.cl/TR/2011/TR_DCC-20111104-012.pdf
  28. 28.
    Software product line hall of fame. http://www.splc.net/fame.html. Accessed 14 May 2015
  29. 29.
    Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRefGoogle Scholar
  30. 30.
    Uphon, H.: A comparison of variability modeling and configuration tools for product line architecture. IT University of Copenhagen (2008)Google Scholar
  31. 31.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Juliana Alves Pereira
    • 1
    Email author
  • Kattiana Constantino
    • 2
  • Eduardo Figueiredo
    • 2
  • Gunter Saake
    • 1
  1. 1.Otto-von-Guericke-University Magdeburg (OvGU)MagdeburgGermany
  2. 2.Federal University of Minas Gerais (UFMG)Belo HorizonteBrazil

Personalised recommendations