Skip to main content

Recovering Architectural Variability of a Family of Product Variants

  • Conference paper
Software Reuse for Dynamic Systems in the Cloud and Beyond (ICSR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8919))

Included in the following conference series:

Abstract

A Software Product Line (SPL) aims at applying a pre-planned systematic reuse of large-grained software artifacts to increase the software productivity and reduce the development cost. The idea of SPL is to analyze the business domain of a family of products to identify the common and the variable parts between the products. However, it is common for companies to develop, in an ad-hoc manner (e.g. clone and own), a set of products that share common functionalities and differ in terms of others. Thus, many recent research contributions are proposed to re-engineer existing product variants to a SPL. Nevertheless, these contributions are mostly focused on managing the variability at the requirement level. Very few contributions address the variability at the architectural level despite its major importance. Starting from this observation, we propose, in this paper, an approach to reverse engineer the architecture of a set of product variants. Our goal is to identify the variability and dependencies among architectural-element variants at the architectural level. Our work relies on Formal Concept Analysis (FCA) to analyze the variability. To validate the proposed approach, we experimented on two families of open-source product variants; Mobile Media and Health Watcher. The results show that our approach is able to identify the architectural variability and the dependencies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clements, P., Northrop, L.: Software product lines: practices and patterns. Addison-Wesley, Reading (2002)

    Google Scholar 

  2. Pohl, K., Böckle, G., Van Der Linden, F.: Software product line engineering. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  3. Tan, L., Lin, Y., Ye, H.: Quality-oriented software product line architecture design. Journal of Software Engineering & Applications 5(7), 472–476 (2012)

    Article  Google Scholar 

  4. Rubin, J., Chechik, M.: Locating distinguishing features using diff sets. In: IEEE/ACM 27th Inter. Conf. on ASE, pp. 242–245 (2012)

    Google Scholar 

  5. She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proc. of 33rd ICSE, pp. 461–470 (2011)

    Google Scholar 

  6. Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Reverse engineering architectural feature models. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 220–235. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  7. Koschke, R., Frenzel, P., Breu, A.P., Angstmann, K.: Extending the reflexion method for consolidating software variants into product lines. Software Quality Journal 17(4), 331–366 (2009)

    Article  Google Scholar 

  8. Kang, K.C., Kim, M., Lee, J.J., Kim, B.-K.: Feature-oriented re-engineering of legacy systems into product line assets - a case study. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 45–56. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Kebir, S., Seriai, A.D., Chardigny, S., Chaoui, A.: Quality-centric approach for software component identification from object-oriented code. In: Proc. of WICSA/ECSA, pp. 181–190 (2012)

    Google Scholar 

  10. Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D.: Extraction of component based architecture from object-oriented systems. In: Proc. of 7th WICSA, pp. 285–288 (2008)

    Google Scholar 

  11. Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D.: Search-based extraction of component-based architecture from object-oriented systems. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 322–325. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Ganter, B., Wille, R.: Formal concept analysis. Wissenschaftliche Zeitschrift-Technischen Universitat Dresden 47, 8–13 (1996)

    Google Scholar 

  13. Han, J., Kamber, M., Pei, J.: Data mining: concepts and techniques. Morgan Kaufmann (2006)

    Google Scholar 

  14. Yevtushenko, A.S.: System of data analysis “concept explorer”. In: Proc. of the 7th National Conf. on Artificial Intelligence (KII), vol. 79, pp. 127–134 (2000) (in Russian)

    Google Scholar 

  15. Hendrickson, S.A., van der Hoek, A.: Modeling product line architectures through change sets and relationships. In: Proc. of the 29th ICSE, pp. 189–198 (2007)

    Google Scholar 

  16. Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., et al.: Evolving software product lines with aspects. In: Proc. of 30th ICSE, pp. 261–270 (2008)

    Google Scholar 

  17. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal contexts. In: Proc. of 15th SPLC, pp. 1–4 (2011)

    Google Scholar 

  18. Duszynski, S., Knodel, J., Becker, M.: Analyzing the source code of multiple software variants for reuse potential. In: Proc. of WCRE, pp. 303–307 (2011)

    Google Scholar 

  19. Shatnawi, A., Seriai, A.D.: Mining reusable software components from objectoriented source code of a set of similar software. In: IEEE 14th Inter. Conf. on Information Reuse and Integration (IRI), pp. 193–200 (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Shatnawi, A., Seriai, A., Sahraoui, H. (2014). Recovering Architectural Variability of a Family of Product Variants. In: Schaefer, I., Stamelos, I. (eds) Software Reuse for Dynamic Systems in the Cloud and Beyond. ICSR 2015. Lecture Notes in Computer Science, vol 8919. Springer, Cham. https://doi.org/10.1007/978-3-319-14130-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14130-5_2

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14129-9

  • Online ISBN: 978-3-319-14130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics