Skip to main content

An Incremental Approach for the Extraction of Software Product Lines from Model Variants

  • Conference paper
  • First Online:
Advances in Computing Systems and Applications (CSA 2018)

Part of the book series: Lecture Notes in Networks and Systems ((LNNS,volume 50))

Included in the following conference series:

  • 495 Accesses

Abstract

In practice, a large amount of Software Product Lines (SPLs) are developed using a bottom-up process. In this case, an SPL is synthesized from similar product variants that are developed for SPL using ad hoc reuse techniques such as copy-paste-modify. In this paper, we present an approach for migrating existing product variants into an SPL. This approach is applied on models and it takes as input a set of models that abstract the product variants. The result of the approach is a software product line represented by the SPL model and the variability model. SPL model is the result of merging input product models. The variability model is a Feature Model (FM) allowing the specification of the variability on the SPL model. We propose to construct the SPL in an incremental way. After an initialization step, the set of input products are integrated in the SPL one after another. To integrate a new product, we first compare the input product model with the SPL model in order to identify the variability, and then we update both the SPL model and the variability model. The approach is implemented and evaluated on a case study.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

Notes

  1. 1.

    In our work, we consider features and product models as sets of elements, so all usual operations on sets (such as union, intersection, and difference, etc.) are also applicable on them.

  2. 2.

    Meta-Object Facility (MOF) Core Specification, http://www.omg.org/spec/MOF/2.0/.

References

  1. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)

    Google Scholar 

  2. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)

    Book  Google Scholar 

  3. Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Extraction and evolution of architectural variability models in plugin-based systems. In: SoSyM, pp. 1–28 (2013)

    Google Scholar 

  4. Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature oriented domain analysis (FODA) feasibility study, Technical report. CMU/SEI-90-TR-021 (1990)

    Google Scholar 

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

    Google Scholar 

  6. Rubin, J., Chechik, M.: Combining related products into product lines. In: Proceedings of FASE 2012, pp. 285–300. ACM (2012)

    Google Scholar 

  7. Acher, M., Baudry, B., Heymans, P., Cleve, A., Hainaut, J.L.: Support for reverse engineering and maintaining feature models. In: Proceedings of VaMoS 2013. ACM (2013)

    Google Scholar 

  8. Batory, D.: Feature models, grammars, and propositional formulas. In: Proceedings of SPLC 2005, pp. 7–20 (2005)

    Google Scholar 

  9. Koschke, R., Frenzel, P., Breu, A.P.J., Angstmann, K.: Extending the reflexion method for consolidating software variants into product lines. Softw. Qual. J. 17(4), 331–366 (2009)

    Article  Google Scholar 

  10. Klatt, B., Küster, M.: Respecting component architecture to migrate product copies to a software product line. In: Proceedings of WCOP 2012, pp. 7–12. ACM (2012)

    Google Scholar 

  11. Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants. In: Proceedings of WCRE, pp. 145–154 (2012)

    Google Scholar 

  12. Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration: a mapping study. In: Proceedings of SPLC 2014, pp. 52–59. ACM (2014)

    Google Scholar 

  13. Davril, J.-M., Delfosse, E., Hariri, N., Acher, M., Cleland-Huang, J., Heymans, P.: Feature model extraction from large collections of informal product descriptions. In: Proceedings of ESEC/FSE, pp. 290–300. ACM, Saint Petersburg, Russia (2013)

    Google Scholar 

  14. Zhang, B., Becker, M.: Recovar: a solution framework towards reverse engineering variability. In: PLEASE, pp. 45–48 (2013)

    Google Scholar 

  15. The FeatureIDE framework. https://featureide.github.io/

  16. Ziadi, T., Frias, L., da Silva, M.A.A., Ziane, M.: Feature identification from the source code of product variant. In: Proceedings of CSMR, pp. 417–422 (2012)

    Google Scholar 

  17. Ziadi, T., Henard, C., Papadakis, M., Ziane, M., Traon, Y.L.: Towards a language-independent approach for reverse-engineering of software product lines. In: Proceedings of SAC 2014, pp. 1064–1071. ACM (2014)

    Google Scholar 

  18. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation point identification in function-block-based models. In: Proceedings of GPCE 2010, pp. 23–32. ACM (2010)

    Google Scholar 

  19. Martinez, J. Ziadiy, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Automating the extraction of model-based software product lines from model variants. In: ASE (2015)

    Google Scholar 

  20. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal contexts. In: Proceedings of SPLC 2011, vol. 2. ACM, Munich, Germany (2011)

    Google Scholar 

  21. Fenske, W., Meinicke, J., Schulze, S.: Variant-preserving refactorings for migrating cloned products to a product line. In: SANER (2017)

    Google Scholar 

  22. Kim, J., Batory, D., Dig, D.: Refactoring java software product lines. In: Proceedings of SPLC, vol. A, pp. 59–68. ACM (2017)

    Google Scholar 

  23. Boubakir, M., Chaoui, A.: A pairwise approach for model merging. In: MISC 2016, pp. 327–340. Springer, Constantine, Algeria (2016)

    Google Scholar 

  24. Martinez, J., Ziadi, T., Klein, J., Traon, Y.: Identifying and visualizing commonality and variability in model variants. In: Proceedings of ECMFA, vol. 8569, pp. 117–131. ACM (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammed Boubakir .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Boubakir, M., Chaoui, A. (2019). An Incremental Approach for the Extraction of Software Product Lines from Model Variants. In: Demigha, O., Djamaa, B., Amamra, A. (eds) Advances in Computing Systems and Applications. CSA 2018. Lecture Notes in Networks and Systems, vol 50. Springer, Cham. https://doi.org/10.1007/978-3-319-98352-3_14

Download citation

Publish with us

Policies and ethics