Skip to main content

Extending Boolean Variability Relationship Extraction to Multi-valued Software Descriptions

  • Chapter
  • First Online:
Handbook of Re-Engineering Software Intensive Systems into Software Product Lines

Abstract

Extracting variability information from software product descriptions is crucial when reverse engineering a software product line, e.g., for variability model synthesis. Existing methods are predominantly designed for feature-oriented product lines, where products are described by the set of distinguishable features they implement, and variability information may be expressed by logical relationships over these features. However, limits of such boolean feature-based variability modeling approaches have been highlighted, notably regarding their expressive power. In this chapter, we take a step towards more complex variability extraction and focus on extracting non-boolean variability relationships from multi-valued software descriptions. We first analyze software descriptions, variability relationships and extraction methods used in the boolean case. We attract attention to a knowledge engineering framework supporting a sound and complete feature-based variability relationship extraction method. The benefits of this framework include several extensions enabling to take into account more complex datasets than boolean ones. We explore one of these extensions to extend the traditional boolean extraction method and handle variability relationships including both boolean features and attribute values that can be used to synthesize extended variability models.

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 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 279.99
Price excludes VAT (USA)
  • Durable hardcover 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.

    https://robocode.sourceforge.io/.

  2. 2.

    http://robowiki.net/, last access July 2019.

  3. 3.

    https://en.wikipedia.org/wiki/Category:Software_comparisons, last accessed July 2019

  4. 4.

    https://github.com/xdevroey/jhipster-dataset/tree/master/v3.6.1

  5. 5.

    https://github.com/but4reuse/RobocodeSPL_teaching

References

  1. Acher, M., Baudry, B., Heymans, P., Cleve, A., Hainaut, J.: Support for reverse engineering and maintaining feature models. In: The Seventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS ’13, Pisa , Italy, January 23–25, 2013, pp. 20:1–20:8 (2013)

    Google Scholar 

  2. Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: Sixth International Workshop on Variability Modelling of Software-Intensive Systems, Leipzig, Germany, January 25–27, 2012. Proceedings, pp. 45–54 (2012)

    Google Scholar 

  3. Al-Msie’deen, R., Huchard, M., Seriai, A., Urtado, C., Vauttier, S.: Reverse engineering feature models from software configurations using formal concept analysis. In: Proceedings of the Eleventh International Conference on Concept Lattices and Their Applications, Košice, Slovakia, October 7-10, 2014., pp. 95–106 (2014)

    Google Scholar 

  4. Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines - Concepts and Implementation. Springer (2013)

    Google Scholar 

  5. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Multi-objective reverse engineering of variability-safe feature models based on code dependencies of system variants. Empirical Software Engineering 22(4), 1763–1794 (2017)

    Article  Google Scholar 

  6. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering 22(6), 2972–3016 (2017)

    Article  Google Scholar 

  7. Batory, D.S.: Feature models, grammars, and propositional formulas. In: Software Product Lines, 9th International Conference, SPLC 2005, Rennes, France, September 26-29, 2005, Proceedings, pp. 7–20 (2005)

    Google Scholar 

  8. Bécan, G., Acher, M., Baudry, B., Nasr, S.B.: Breathing ontological knowledge into feature model synthesis: an empirical study. Empirical Software Engineering 21(4), 1794–1841 (2016)

    Article  Google Scholar 

  9. Bécan, G., Behjati, R., Gotlieb, A., Acher, M.: Synthesis of attributed feature models from product descriptions. In: Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20-24, 2015, pp. 1–10 (2015)

    Google Scholar 

  10. Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: A literature review. Inf. Syst. 35(6), 615–636 (2010)

    Article  Google Scholar 

  11. Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In: The Seventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS ’13, Pisa , Italy, January 23 - 25, 2013, pp. 7:1–7:8 (2013)

    Google Scholar 

  12. Bessiere, C., Daoudi, A., Hebrard, E., Katsirelos, G., Lazaar, N., Mechqrane, Y., Narodytska, N., Quimper, C., Walsh, T.: New approaches to constraint acquisition. In: Data Mining and Constraint Programming - Foundations of a Cross-Disciplinary Approach, pp. 51–76 (2016)

    Google Scholar 

  13. Carbonnel, J., Huchard, M., Nebut, C.: Exploring the Variability of Interconnected Product Families with Relational Concept Analysis. In: Proceedings of 7th International Workshop on Reverse Variability Engineering (REVE 2019) @ SPLC (2019)

    Google Scholar 

  14. Carbonnel, J., Huchard, M., Nebut, C.: Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions. Journal of Systems and Software 152, 1–23 (2019)

    Article  Google Scholar 

  15. Carbonnel, J., Huchard, M., Nebut, C.: Towards Complex Product Line Variability Modelling: Mining Relationships from Non-Boolean Descriptions. Journal of Systems and Software (2019)

    Google Scholar 

  16. Czarnecki, K., Eisenecker, U.W.: Generative programming - methods, tools and applications. Addison-Wesley (2000)

    Google Scholar 

  17. Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool features and tough decisions: a comparison of variability modeling approaches. In: Sixth International Workshop on Variability Modelling of Software-Intensive Systems, Leipzig, Germany, January 25-27, 2012. Proceedings, pp. 173–182 (2012)

    Google Scholar 

  18. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration using feature models. In: Software Product Lines, Third International Conference, SPLC 2004, Boston, MA, USA, August 30-September 2, 2004, Proceedings, pp. 266–283 (2004)

    Google Scholar 

  19. Czarnecki, K., She, S., Wasowski, A.: Sample spaces and feature models: There and back again. In: Proceedings of the 12th International Conference on oftware Product Lines (SPLC’08), pp. 22–31 (2008)

    Google Scholar 

  20. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: Software Product Lines, 11th International Conference, SPLC 2007, Kyoto, Japan, September 10-14, 2007, Proceedings, pp. 23–34 (2007)

    Google Scholar 

  21. Davril, J., Delfosse, E., Hariri, N., Acher, M., Cleland-Huang, J., Heymans, P.: Feature model extraction from large collections of informal product descriptions. In: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE’13, Saint Petersburg, Russian Federation, August 18-26, 2013, pp. 290–300 (2013)

    Google Scholar 

  22. Dolques, X., Braud, A., Huchard, M., Ber, F.L.: Rcaexplore, a FCA based tool to explore relational data. In: Supplementary Proceedings of ICFCA 2019 Conference and Workshops, Frankfurt, Germany, June 25-28, 2019., pp. 55–59 (2019)

    Google Scholar 

  23. Ferrari, A., Spagnolo, G.O., Gnesi, S., Dell’Orletta, F.: CMT and FDE: tools to bridge the gap between natural language documents and feature diagrams. In: Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20-24, 2015, pp. 402–410 (2015)

    Google Scholar 

  24. Ganter, B., Kuznetsov, S.O.: Pattern structures and their projections. In: Conceptual Structures: Broadening the Base, 9th International Conference on Conceptual Structures, ICCS 2001, Stanford, CA, USA, July 30-August 3, 2001, Proceedings, pp. 129–142 (2001)

    Google Scholar 

  25. Ganter, B., Wille, R.: Formal Concept Analysis - Mathematical Foundations. Springer (1999)

    Google Scholar 

  26. Godin, R., Mili, H.: Building and maintaining analysis-level class hierarchies using Galois lattices. In: Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Eighth Annual Conference, Washington, DC, USA, September 26 - October 1, 1993, Proceedings., pp. 394–410 (1993)

    Google Scholar 

  27. Hacene, M.R., Huchard, M., Napoli, A., Valtchev, P.: Relational concept analysis: mining concept lattices from multi-relational data. Ann. Math. Artif. Intell. 67(1), 81–108 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  28. Halin, A., Nuttinck, A., Acher, M., Devroey, X., Perrouin, G., Heymans, P.: Yo variability! jhipster: a playground for web-apps analyses. In: Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2017, Eindhoven, Netherlands, February 1-3, 2017, pp. 44–51 (2017)

    Google Scholar 

  29. Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: Reverse engineering feature models from programs’ feature sets. In: 18th Working Conference on Reverse Engineering, WCRE 2011, Limerick, Ireland, October 17-20, 2011, pp. 308–312 (2011)

    Google Scholar 

  30. Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: On extracting feature models from sets of valid feature combinations. In: Fundamental Approaches to Software Engineering - 16th International Conference, FASE 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings, pp. 53–67 (2013)

    Google Scholar 

  31. Haugen, Ø., Wasowski, A., Czarnecki, K.: CVL: common variability language. In: 17th International Software Product Line Conference, SPLC 2013, Tokyo, Japan - August 26 - 30, 2013, p. 277 (2013)

    Google Scholar 

  32. Holl, G., Grünbacher, P., Rabiser, R.: A systematic review and an expert survey on capabilities supporting multi product lines. Information & Software Technology 54(8), 828–852 (2012)

    Article  Google Scholar 

  33. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-021 (1990)

    Google Scholar 

  34. Kang, K.C., Lee, J., Donohoe, P.: Feature-oriented project line engineering. IEEE Software 19(4), 58–65 (2002)

    Article  Google Scholar 

  35. Karatas, A.S., Oguztüzün, H., Dogru, A.H.: From extended feature models to constraint logic programming. Sci. Comput. Program. 78(12), 2295–2312 (2013)

    Article  Google Scholar 

  36. Kaytoue, M., Kuznetsov, S.O., Napoli, A.: Revisiting numerical pattern mining with formal concept analysis. In: Proceedings of the 22nd International Joint Conference on Artificial Intelligence (IJCAI’11), pp. 1342–1347 (2011)

    Google Scholar 

  37. Krueger, C.W.: Easing the transition to software mass customization. In: Software Product-Family Engineering, 4th International Workshop, (PFE’01) Revised Papers, pp. 282–293 (2001)

    Google Scholar 

  38. Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Feature model synthesis with genetic programming. In: Search-Based Software Engineering - 6th International Symposium, SSBSE 2014, Fortaleza, Brazil, August 26-29, 2014. Proceedings, pp. 153–167 (2014)

    Google Scholar 

  39. Loesch, F., Ploedereder, E.: Restructuring variability in software product lines using concept analysis of product configurations. In: 11th European Conference on Software Maintenance and Reengineering, Software Evolution in Complex Software Intensive Systems, CSMR 2007, 21-23 March 2007, Amsterdam, The Netherlands, pp. 159–170 (2007)

    Google Scholar 

  40. Loh, W.: Classification and regression trees. Wiley Interdiscip. Rev. Data Min. Knowl. Discov. 1(1), 14–23 (2011)

    Article  Google Scholar 

  41. Lopez-Herrejon, R.E., Linsbauer, L., Galindo, J.A., Parejo, J.A., Benavides, D., Segura, S., Egyed, A.: An assessment of search-based techniques for reverse engineering feature models. Journal of Systems and Software 103, 353–369 (2015)

    Article  Google Scholar 

  42. Mannion, M.: Using first-order logic for product line model validation. In: Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, August 19-22, 2002, Proceedings, pp. 176–187 (2002)

    Google Scholar 

  43. Martinez, J., Tërnava, X., Ziadi, T.: Software product line extraction from variability-rich systems: the Robocode case study. In: Proceeedings of the 22nd International Systems and Software Product Line Conference - Volume 1, SPLC 2018, Gothenburg, Sweden, September 10-14, 2018, pp. 132–142 (2018)

    Google Scholar 

  44. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Automating the extraction of model-based software product lines from model variants (T). In: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15), pp. 396–406. IEEE Computer Society (2015)

    Google Scholar 

  45. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up technologies for reuse: automated extractive adoption of software product lines. In: Proceedings of the 39th International Conference on Software Engineering, (ICSE’17), Companion Volume, pp. 67–70. IEEE Computer Society (2017)

    Google Scholar 

  46. Nasr, S.B., Bécan, G., Acher, M., Filho, J.B.F., Sannier, N., Baudry, B., Davril, J.: Automated extraction of product comparison matrices from informal product descriptions. Journal of Systems and Software 124, 82–103 (2017)

    Article  Google Scholar 

  47. Poelmans, J., Ignatov, D.I., Kuznetsov, S.O., Dedene, G.: Formal concept analysis in knowledge processing: A survey on applications. Expert Syst. Appl. 40(16), 6538–6560 (2013)

    Article  Google Scholar 

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

    Google Scholar 

  49. Priss, U.: Formal concept analysis in information science. ARIST 40(1), 521–543 (2006)

    Google Scholar 

  50. Riebisch, M., Böllert, K., Streitferdt, D., Philippow, I.: Extending feature diagrams with uml multiplicities. In: Proceedings of the 6th World Conference on Integrated Design & Process Technology (IDPT’02) (2002)

    Google Scholar 

  51. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal contexts. In: Software Product Lines - 15th International Conference, SPLC 2011, Munich, Germany, August 22-26, 2011. Workshop Proceedings (Volume 2), p. 4 (2011)

    Google Scholar 

  52. Safdar, S.A., Yue, T., Ali, S., Lu, H.: Evaluating variability modeling techniques for supporting cyber-physical system product line engineering. In: Proceedings of the 9th International Conference on System Analysis and Modeling. Technology-Specific Aspects of Models (SAM’16), pp. 1–19 (2016)

    Google Scholar 

  53. Sannier, N., Acher, M., Baudry, B.: From comparison matrix to variability model: The wikipedia case study. In: 2013 28th IEEE/ACM International Conference on Automated Software Engineering, ASE 2013, Silicon Valley, CA, USA, November 11-15, 2013, pp. 580–585 (2013)

    Google Scholar 

  54. Sawyer, P., Mazo, R., Diaz, D., Salinesi, C., Hughes, D.: Using constraint programming to manage configurations in self-adaptive systems. IEEE Computer 45(10), 56–63 (2012)

    Article  Google Scholar 

  55. Schmid, K., John, I.: A customizable approach to full lifecycle variability management. Sci. Comput. Program. 53(3), 259–284 (2004)

    Article  MathSciNet  Google Scholar 

  56. She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu , HI, USA, May 21-28, 2011, pp. 461–470 (2011)

    Google Scholar 

  57. She, S., Ryssel, U., Andersen, N., Wasowski, A., Czarnecki, K.: Efficient synthesis of feature models. Information & Software Technology 56(9), 1122–1143 (2014)

    Article  Google Scholar 

  58. Temple, P., Acher, M., Jézéquel, J., Barais, O.: Learning contextual-variability models. IEEE Software 34(6), 64–70 (2017)

    Article  Google Scholar 

  59. Tilley, T., Cole, R., Becker, P., Eklund, P.W.: A survey of formal concept analysis support for software engineering activities. In: Formal Concept Analysis, Foundations and Applications, pp. 250–271 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jessie Galasso .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Galasso, J., Huchard, M. (2023). Extending Boolean Variability Relationship Extraction to Multi-valued Software Descriptions. In: Lopez-Herrejon, R.E., Martinez, J., Guez Assunção, W.K., Ziadi, T., Acher, M., Vergilio, S. (eds) Handbook of Re-Engineering Software Intensive Systems into Software Product Lines. Springer, Cham. https://doi.org/10.1007/978-3-031-11686-5_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-11686-5_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-11685-8

  • Online ISBN: 978-3-031-11686-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics