Abstract
Bottom-Up Technologies for Reuse (BUT4Reuse) is a generic and extensible framework for helping in Software Product Line (SPL) adoption from existing artefacts. It supports the re-engineering of source code variants, models, requirements, or other structured formats. Currently 17 adapters are available for different artefact types. The framework covers the most relevant re-engineering activities towards extractive SPL adoption, i.e., the same framework can support feature identification and location, feature constraints discovery, feature model synthesis, and the construction of reusable assets. Well-defined extension points are provided for integrating algorithms and techniques for the mentioned activities. Similar to the case of the adapters, more than 20 state-of-the-art algorithms and techniques are currently integrated. The target users are both SPL adopters and integrators of adapters and techniques. In addition, two integrated benchmarks are proposed towards reproducible and comparable results for feature location research. This chapter presents the framework principles, supported activities, and an overview of the currently available functionalities.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
EFLBench: https://github.com/but4reuse/but4reuse/wiki/Benchmarks, ArgoUML SPL benchmark: https://github.com/but4reuse/argouml-spl-benchmark_but4reuse-helper.
References
AL-Msie’deen, R., Huchard, M., Seriai, A.D.D., Urtado, C., Vauttier, S.: Concept lattices: A representation space to structure software variability. In: 5th International Conference on Information and Communication Systems (ICICS), pp. 1–6 (2014)
Al-Msie’deen, R., Seriai, A., Huchard, M., Urtado, C., Vauttier, S., Salman, H.E.: Feature location in a collection of software product variants using formal concept analysis. In: 13th International Conference on Software Reuse, ICSR 2013, Pisa, Italy, June 18–20. Proceedings, Lecture Notes in Computer Science, vol. 7925, pp. 302–307. Springer (2013)
Al-Msie’deen, R., Seriai, A., Huchard, M., Urtado, C., Vauttier, S., Salman, H.E.: Mining features from the object-oriented source code of a collection of software variants using formal concept analysis and latent semantic indexing. In: The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE), Boston, MA, USA, June 27–29, 2013, pp. 244–249 (2013)
Apache: OpenNLP. http://opennlp.apache.org (2010)
Apel, S., Kastner, C., Lengauer, C.: FEATUREHOUSE: Language-independent, automated software composition. In: Proceedings of the 31st International Conference on Software Engineering, ICSE ’09, pp. 221–231. IEEE Computer Society, Washington, DC, USA (2009)
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. Empir. Softw. Eng. 22(6), 2972–3016 (2017)
Benmerzoug, A., Yessad, L., Ziadi, T.: Analyzing the impact of refactoring variants on feature location. In: 19th International Conference on Software and Systems Reuse, ICSR 2020, Hammamet, Tunisia, December 2–4, 2020, Proceedings, Lecture Notes in Computer Science, vol. 12541, pp. 279–291. Springer (2020)
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 7th International Workshop on Variability Modelling of Software-intensive Systems, VaMoS ’13, Pisa, Italy, January 23–25, 2013, pp. 7:1–7:8. ACM (2013)
Card, S.K., Mackinlay, J.D., Shneiderman, B. (eds.): Readings in Information Visualization: Using Vision to Think. Morgan Kaufmann Publishers Inc. (1999)
Couto, M.V., Valente, M.T., Figueiredo, E.: Extracting software product lines: A case study using conditional compilation. In: 15th European Conference on Software Maintenance and Reengineering, CSMR 2011, 1–4 March 2011, Oldenburg, Germany, pp. 191–200. IEEE Computer Society (2011)
Deerwester, S.C., Dumais, S.T., Landauer, T.K., Furnas, G.W., Harshman, R.A.: Indexing by latent semantic analysis. Journal of the American Society for Information Science and Technology (JASIS) 41(6), 391–407 (1990)
Eclipse: Requirements Engineering Platform. http://eclipse.org/rmf/pror/ (2014)
Eclipse: EMF Diff/Merge: a diff/merge component for models. http://eclipse.org/diffmerge (Accessed 2021)
Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Enhancing clone-and-own with systematic reuse for developing software variants. In: 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, September 29–October 3, 2014, pp. 391–400. IEEE Computer Society (2014)
Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations, 1st edn. Springer-Verlag New York, Inc., Secaucus, NJ, USA (1997)
Grüner, S., Burger, A., Abukwaik, H., El-Sharkawy, S., Schmid, K., Ziadi, T., Paule, A., Suda, F., Viehl, A.: Demonstration of a toolchain for feature extraction, analysis and visualization on an industrial case study. In: 17th IEEE International Conference on Industrial Informatics, INDIN 2019, Helsinki, Finland, July 22–25, 2019, pp. 459–465. IEEE (2019)
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. ACM (2013)
Krueger, C.W.: Easing the transition to software mass customization. In: 4th International Workshop on Software Product-Family Engineering, PFE 2001, Bilbao, Spain, October 3–5, 2001, Revised Papers, Lecture Notes in Computer Science, vol. 2290, pp. 282–293. Springer (2001)
Levenshtein, V.: Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady 10 (1966)
Li, L., Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Mining families of Android applications for extractive SPL adoption. In: Proceedings of the 20th International Conference on Software Product Lines, SPLC 2016, Beijing, China, September 19–23 (2016)
Liu, J., Batory, D.S., Lengauer, C.: Feature oriented refactoring of legacy applications. In: L.J. Osterweil, H.D. Rombach, M.L. Soffa (eds.) 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20–28, 2006, pp. 112–121. ACM (2006)
Lora-Michiels, A., Salinesi, C., Mazo, R.: A method based on association rules to construct product line models. In: VaMoS, ICB-Research Report, vol. 37, pp. 147–150. Universität Duisburg-Essen (2010)
Mahmood, W., Strüber, D., Berger, T., Lämmel, R., Mukelabai, M.: Seamless variability management with the virtual platform. In: 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021, Madrid, Spain, 22–30 May 2021, pp. 1658–1670. IEEE (2021)
Martinez, J.: Mining software artefact variants for product line migration and analysis. Ph.D. thesis, University of Luxembourg and Sorbonne University, France (2016). URL https://tel.archives-ouvertes.fr/tel-01477423
Martinez, J., Assunção, W.K.G., Ziadi, T.: ESPLA: A catalog of extractive SPL adoption case studies. In: Proceedings of the 21st Int. Systems and Software Product Line Conference, SPLC 2017, Volume B, Sevilla, Spain, September 25–29, 2017, pp. 38–41. ACM (2017)
Martinez, J., Ordoñez, N., Tërnava, X., Ziadi, T., Aponte, J., Figueiredo, E., Valente, M.T.: Feature location benchmark with ArgoUML SPL. In: Proceeedings of the 22nd International Systems and Software Product Line Conference - Volume 1, SPLC 2018, Gothenburg, Sweden, September 10–14, 2018, pp. 257–263. ACM (2018)
Martinez, J., Wolfart, D., Assunção, W.K.G., Figueiredo, E.: Insights on software product line extraction processes: Argouml to argouml-spl revisited. In: SPLC ’20: 24th ACM International Systems and Software Product Line Conference, Montreal, Quebec, Canada, October 19–23, 2020, Volume A, pp. 6:1–6:6. ACM (2020)
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: 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, Lincoln, NE, USA, November 9–13, 2015, pp. 396–406. IEEE Computer Society (2015)
Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up adoption of software product lines: a generic and extensible approach. In: Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20–24, 2015, pp. 101–110. ACM (2015)
Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Name suggestions during feature identification: The VariClouds approach. In: Proceedings of the 20th International Conference on Software Product Lines, SPLC 2016, Beijing, China, September 19–23 (2016)
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: 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20–28, 2017 - Companion Volume, Tool demo, pp. 67–70. IEEE Computer Society (2017)
Martinez, J., Ziadi, T., Papadakis, M., Bissyandé, T.F., Klein, J., Traon, Y.L.: Feature location benchmark for extractive software product line adoption research using realistic and synthetic eclipse variants. Information & Software Technology 104, 46–59 (2018)
Michelon, G.K., Sotto-Mayor, B., Martinez, J., Arrieta, A., Abreu, R., Assunção, W.K.G.: Spectrum-based feature localization: a case study using argouml. In: SPLC ’21: 25th ACM International Systems and Software Product Line Conference, Leicester, United Kingdom, September 6–11, 2021, Volume A, pp. 126–130. ACM (2021)
OMG: Meta Object Facility (MOF) Core Specification. http://www.omg.org/spec/MOF/2.0/ (2006)
OMG: Requirements Interchange Format (ReqIF). http://www.omg.org/spec/ReqIF (2013)
Pfofe, T., Thuem, T., Schulze, S., Fenske, W., Schaefer, I.: Synchronizing Software Variants with VariantSync. In: Proceedings of the 20th International Conference on Software Product Lines, SPLC 2016, Beijing, China, September 19–23, 2016 (2016)
Rubin, J., Chechik, M.: A survey of feature location techniques. In: Domain Engineering, Product Lines, Languages, and Conceptual Models, pp. 29–58. Springer (2013)
Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: 17th International Software Product Line Conference, SPLC 2013, Tokyo, Japan - August 26–30, 2013, pp. 101–110. ACM (2013)
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. ACM (2011)
Salman, H.E., Seriai, A., Dony, C.: Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval. In: IEEE 14th International Conference on Information Reuse & Integration, IRI 2013, San Francisco, CA, USA, August 14–16, 2013, pp. 209–216. IEEE Computer Society (2013)
Shatnawi, A., Seriai, A., Sahraoui, H.A.: Recovering architectural variability of a family of product variants. In: 14th International Conference on Software Reuse, ICSR 2015, Miami, FL, USA, January 4–6, 2015. Proceedings, Lecture Notes in Computer Science, vol. 8919, pp. 17–33. Springer (2015)
Strüber, D., Mukelabai, M., Krüger, J., Fischer, S., Linsbauer, L., Martinez, J., Berger, T.: Facing the truth: benchmarking the techniques for the evolution of variant-rich systems. In: Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume A, Paris, France, September 9–13, 2019, pp. 26:1–26:12 (2019)
Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming 79(0) (2014)
Tinkerpop: TinkerPop3: A Graph Computing Framework. http://blueprints.tinkerpop.com (2015)
Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Transactions on Software Engineering 42(8), 707–740 (2016)
WordNet Similarity for Java: WordNet Similarity for Java. https://code.google.com/p/ws4j/ (2015)
Wu, Z., Palmer, M.S.: Verb semantics and lexical selection. In: 32nd Annual Meeting of the Association for Computational Linguistics, 27–30 June 1994, New Mexico State University, Las Cruces, New Mexico, USA, Proceedings., pp. 133–138. Morgan Kaufmann Publishers/ACL (1994)
Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants. In: 19th Working Conference on Reverse Engineering, WCRE 2012, Kingston, ON, Canada, October 15–18, 2012, pp. 145–154. IEEE Computer Society (2012)
Zave, P.: An experiment in feature engineering. In: Programming methodology, pp. 353–377. Springer New York (2003)
Ziadi, T., Frias, L., da Silva, M.A.A., Ziane, M.: Feature identification from the source code of product variants. In: 16th European Conference on Software Maintenance and Reengineering, CSMR 2012, Szeged, Hungary, March 27–30, 2012, pp. 417–422. IEEE Computer Society (2012)
Ziadi, T., Henard, C., Papadakis, M., Ziane, M., Traon, Y.L.: Towards a language-independent approach for reverse-engineering of software product lines. In: Symposium on Applied Computing, SAC 2014, Gyeongju, Republic of Korea - March 24–28, 2014, pp. 1064–1071. ACM (2014)
Ziadi, T., Hillah, L.: Software product line extraction from bytecode based applications. In: 23rd International Conference on Engineering of Complex Computer Systems, ICECCS 2018, Melbourne, Australia, December 12–14, 2018, pp. 221–225. IEEE Computer Society (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., le Traon, Y. (2023). Bottom-Up Technologies for Reuse: A Framework to Support Extractive Software Product Line Adoption Activities. 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_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-11686-5_14
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)