{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:49:17Z","timestamp":1742914157166,"version":"3.40.3"},"publisher-location":"Cham","reference-count":45,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031116858"},{"type":"electronic","value":"9783031116865"}],"license":[{"start":{"date-parts":[[2022,7,5]],"date-time":"2022-07-05T00:00:00Z","timestamp":1656979200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,7,5]],"date-time":"2022-07-05T00:00:00Z","timestamp":1656979200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-11686-5_8","type":"book-chapter","created":{"date-parts":[[2022,11,22]],"date-time":"2022-11-22T21:33:47Z","timestamp":1669152827000},"page":"199-220","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Extraction of Software Product Line Architectures from Many System Variants"],"prefix":"10.1007","author":[{"given":"Anas","family":"Shatnawi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Abdelhak-Djamel","family":"Seriai","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Houari","family":"Sahraoui","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,7,5]]},"reference":[{"key":"8_CR1","doi-asserted-by":"crossref","unstructured":"Abdellatif, M., Shatnawi, A., Mili, H., Moha, N., El Boussaidi, G., Hecht, G., Privat, J., Gu\u00e9h\u00e9neuc, Y.G.: A taxonomy of service identification approaches for legacy software systems modernization. Journal of Systems and Software. Volume 173. (2021)","DOI":"10.1016\/j.jss.2020.110868"},{"key":"8_CR2","doi-asserted-by":"crossref","unstructured":"Allier, S., Sahraoui, H.A., Sadou, S.: Identifying components in object-oriented programs using dynamic analysis and clustering. In: Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research, pp. 136\u2013148. IBM Corp. (2009)","DOI":"10.1145\/1723028.1723045"},{"key":"8_CR3","doi-asserted-by":"crossref","unstructured":"Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, p. 7. ACM (2013)","DOI":"10.1145\/2430502.2430513"},{"key":"8_CR4","doi-asserted-by":"crossref","unstructured":"Businge, J., Openja, M., Nadi, S., Bainomugisha, E., Berger, T.: Clone-based variability management in the android ecosystem. In: 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 625\u2013634. IEEE (2018)","DOI":"10.1109\/ICSME.2018.00072"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Canal, C., Pimentel, E., Troya, J.M.: Specification and refinement of dynamic software architectures. In: Software Architecture, pp. 107\u2013125. Springer (1999)","DOI":"10.1007\/978-0-387-35563-4_7"},{"key":"8_CR6","doi-asserted-by":"crossref","unstructured":"Capiluppi, A., Ajienka, N.: National boundaries and semantics of artefacts in open source development. In: 2018 IEEE\/ACM 1st International Workshop on Software Health (SoHeal), pp. 33\u201339. IEEE (2018)","DOI":"10.1145\/3194124.3194131"},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"Carbonnel, J., Huchard, M., Miralles, A., Nebut, C.: Feature model composition assisted by formal concept analysis. In: ENASE: Evaluation of Novel Approaches to Software Engineering, pp. 27\u201337. SciTePress (2017)","DOI":"10.5220\/0006276600270037"},{"issue":"1","key":"8_CR8","doi-asserted-by":"publisher","first-page":"13","DOI":"10.1109\/52.43044","volume":"7","author":"EJ Chikofsky","year":"1990","unstructured":"Chikofsky, E.J., Cross, J.H., et al.: Reverse engineering and design recovery: A taxonomy. Software, IEEE 7(1), 13\u201317 (1990)","journal-title":"Software, IEEE"},{"key":"8_CR9","unstructured":"Clements, P., Northrop, L.: Software product lines: practices and patterns, vol. 3. Addison-Wesley Reading (2002)"},{"key":"8_CR10","volume-title":"Rivest","author":"TH Cormen","year":"2009","unstructured":"Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to algorithms. MIT press (2009)"},{"key":"8_CR11","doi-asserted-by":"crossref","unstructured":"DeBaud, J.M., Flege, O., Knauber, P.: Pulse-dssa-a method for the development of software reference architectures. In: Proceedings of the third international workshop on Software architecture, pp. 25\u201328. ACM (1998)","DOI":"10.1145\/288408.288415"},{"key":"8_CR12","doi-asserted-by":"crossref","unstructured":"Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on, pp. 25\u201334. IEEE (2013)","DOI":"10.1109\/CSMR.2013.13"},{"issue":"4","key":"8_CR13","doi-asserted-by":"publisher","first-page":"573","DOI":"10.1109\/TSE.2009.19","volume":"35","author":"S Ducasse","year":"2009","unstructured":"Ducasse, S., Pollet, D.: Software architecture reconstruction: A process-oriented taxonomy. IEEE Transactions on Software Engineering 35(4), 573\u2013591 (2009)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Dugerdil, P., Sennhauser, D.: Dynamic decision tree for legacy use-case recovery. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC \u201913, pp. 1284\u20131291. ACM, New York, NY, USA (2013)","DOI":"10.1145\/2480362.2480602"},{"key":"8_CR15","doi-asserted-by":"crossref","unstructured":"Erdemir, U., Tekin, U., Buzluca, F.: Object oriented software clustering based on community structure. In: 2011 18th Asia Pacific Software Engineering Conference (APSEC), pp. 315\u2013321. IEEE (2011)","DOI":"10.1109\/APSEC.2011.33"},{"key":"8_CR16","doi-asserted-by":"crossref","unstructured":"Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Enhancing clone-and-own with systematic reuse for developing software variants. In: Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on, pp. 391\u2013400. IEEE (2014)","DOI":"10.1109\/ICSME.2014.61"},{"key":"8_CR17","doi-asserted-by":"crossref","unstructured":"Frenzel, P., Koschke, R., Breu, A.P., Angstmann, K.: Extending the reflexion method for consolidating software variants into product lines. In: 14th Working Conference on Reverse Engineering (WCRE), pp. 160\u2013169. IEEE (2007)","DOI":"10.1109\/WCRE.2007.28"},{"key":"8_CR18","doi-asserted-by":"crossref","unstructured":"Gasparic, M., Janes, A., Sillitti, A., Succi, G.: An analysis of a project reuse approach in an industrial setting. In: Software Reuse for Dynamic Systems in the Cloud and Beyond, pp. 164\u2013171. Springer (2014)","DOI":"10.1007\/978-3-319-14130-5_12"},{"key":"8_CR19","unstructured":"Gomaa, H.: Designing software product lines with UML. In: Software Engineering Workshop - Tutorial Notes, 2005. 29th Annual IEEE\/NASA, pp. 160\u2013216 (2005)"},{"key":"8_CR20","doi-asserted-by":"publisher","DOI":"10.21236\/ADA235785","volume-title":"Feature-oriented domain analysis (FODA) feasibility study","author":"KC Kang","year":"1990","unstructured":"Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. rep., Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst (1990)"},{"key":"8_CR21","doi-asserted-by":"crossref","unstructured":"Kang, K.C., Kim, M., Lee, J., Kim, B.: Feature-oriented re-engineering of legacy systems into product line assets\u2013a case study. In: Software Product Lines, pp. 45\u201356. Springer (2005)","DOI":"10.1007\/11554844_6"},{"key":"8_CR22","doi-asserted-by":"crossref","unstructured":"Kolb, R., Muthig, D., Patzke, T., Yamauchi, K.: A case study in refactoring a legacy component for reuse in a product line. In: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), pp. 369\u2013378. IEEE (2005)","DOI":"10.1109\/ICSM.2005.5"},{"issue":"2","key":"8_CR23","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1002\/smr.329","volume":"18","author":"R Kolb","year":"2006","unstructured":"Kolb, R., Muthig, D., Patzke, T., Yamauchi, K.: Refactoring a legacy component for reuse in a software product line: a case study. Journal of Software Maintenance and Evolution: Research and Practice 18(2), 109\u2013132 (2006)","journal-title":"Journal of Software Maintenance and Evolution: Research and Practice"},{"issue":"4","key":"8_CR24","doi-asserted-by":"publisher","first-page":"331","DOI":"10.1007\/s11219-009-9077-8","volume":"17","author":"R Koschke","year":"2009","unstructured":"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\u2013366 (2009)","journal-title":"Software Quality Journal"},{"key":"8_CR25","doi-asserted-by":"crossref","unstructured":"Langelier, G., Sahraoui, H., Poulin, P.: Visualization-based analysis of quality for large-scale software systems. In: Proceedings of the 20th IEEE\/ACM international Conference on Automated software engineering, pp. 214\u2013223. ACM (2005)","DOI":"10.1145\/1101908.1101941"},{"issue":"6","key":"8_CR26","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1109\/MS.2003.1241364","volume":"20","author":"TC Lethbridge","year":"2003","unstructured":"Lethbridge, T.C., Singer, J., Forward, A.: How software engineers use documentation: The state of the practice. IEEE Software 20(6), 35\u201339 (2003)","journal-title":"IEEE Software"},{"key":"8_CR27","doi-asserted-by":"crossref","unstructured":"Lima, C., Chavez, C., de Almeida, E.S.: Investigating the recovery of product line architectures: an approach proposal. In: International Conference on Software Reuse, pp. 201\u2013207. Springer (2017)","DOI":"10.1007\/978-3-319-56856-0_15"},{"key":"8_CR28","doi-asserted-by":"crossref","unstructured":"Liu, C., van Dongen, B., Assy, N., van der Aalst, W.M.: Component interface identification and behavioral model discovery from software execution data. In: Proceedings of the 26th Conference on Program Comprehension, pp. 97\u2013107. ACM (2018)","DOI":"10.1145\/3196321.3196338"},{"key":"8_CR29","doi-asserted-by":"crossref","unstructured":"Luckham, D.: Rapide: A language and toolset for simulation of distributed systems by partial orderings of events. Tech. rep. (1996)","DOI":"10.1090\/dimacs\/029\/18"},{"key":"8_CR30","doi-asserted-by":"crossref","unstructured":"Magee, J., Kramer, J.: Dynamic structure in software architectures. In: ACM SIGSOFT Software Engineering Notes, vol. 21, pp. 3\u201314. ACM (1996)","DOI":"10.1145\/250707.239104"},{"key":"8_CR31","doi-asserted-by":"crossref","unstructured":"Mende, T., Beckwermert, F., Koschke, R., Meier, G.: Supporting the grow-and-prune model in software product lines evolution using clone detection. In: 12th European Conference on Software Maintenance and Reengineering (CSMR), pp. 163\u2013172. IEEE (2008)","DOI":"10.1109\/CSMR.2008.4493311"},{"issue":"2","key":"8_CR32","doi-asserted-by":"publisher","first-page":"143","DOI":"10.1002\/smr.402","volume":"21","author":"T Mende","year":"2009","unstructured":"Mende, T., Koschke, R., Beckwermert, F.: An evaluation of code similarity identification for the grow-and-prune model. Journal of Software Maintenance and Evolution: Research and Practice 21(2), 143\u2013169 (2009)","journal-title":"Journal of Software Maintenance and Evolution: Research and Practice"},{"issue":"5","key":"8_CR33","doi-asserted-by":"publisher","first-page":"133","DOI":"10.5381\/jot.2009.8.5.a3","volume":"8","author":"S Mishra","year":"2009","unstructured":"Mishra, S., Kushwaha, D.S., Misra, A.K.: Creating reusable software component from object-oriented legacy system through reverse engineering. Journal of object technology 8(5), 133\u2013152 (2009)","journal-title":"Journal of object technology"},{"key":"8_CR34","doi-asserted-by":"crossref","unstructured":"Moshkenani, Z.S., Sharafi, S.M., Zamani, B.: Improving na\u00efve bayes classifier for software architecture reconstruction. In: Instrumentation & Measurement, Sensor Network and Automation (IMSNA), 2012 International Symposium on, vol. 2, pp. 383\u2013388. IEEE (2012)","DOI":"10.1109\/MSNA.2012.6324601"},{"key":"8_CR35","doi-asserted-by":"crossref","unstructured":"Nakagawa, E.Y., Antonino, P.O., Becker, M.: Reference architecture and product line architecture: A subtle but critical difference. In: European Conference on Software Architecture, pp. 207\u2013211. Springer (2011)","DOI":"10.1007\/978-3-642-23798-0_22"},{"key":"8_CR36","doi-asserted-by":"crossref","unstructured":"Pinzger, M., Gall, H., Girard, J.F., Knodel, J., Riva, C., Pasman, W., Broerse, C., Wijnstra, J.G.: Architecture recovery for product families. In: Software Product-Family Engineering, pp. 332\u2013351. Springer (2004)","DOI":"10.1007\/978-3-540-24667-1_26"},{"key":"8_CR37","doi-asserted-by":"crossref","unstructured":"Pohl, K., B\u00f6ckle, G., Van Der Linden, F.: Software product line engineering, vol. 10. Springer (2005)","DOI":"10.1007\/3-540-28901-1"},{"key":"8_CR38","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1016\/j.cola.2019.01.006","volume":"52","author":"A Rathee","year":"2019","unstructured":"Rathee, A., Chhabra, J.K.: A multi-objective search based approach to identify reusable software components. Journal of Computer Languages 52, 26\u201343 (2019)","journal-title":"Journal of Computer Languages"},{"key":"8_CR39","doi-asserted-by":"crossref","unstructured":"Seriai, A., Sadou, S., Sahraoui, H., Hamza, S.: Deriving component interfaces after a restructuring of a legacy system. In: 2014 IEEE\/IFIP Conference on Software Architecture (WICSA), pp. 31\u201340. IEEE (2014)","DOI":"10.1109\/WICSA.2014.27"},{"key":"8_CR40","doi-asserted-by":"crossref","unstructured":"Shatnawi, A., Mili, H., El Boussaidi, G., Boubaker, A., Gu\u00e9h\u00e9neuc, Y.G., Moha, N., Privat, J., Abdellatif, M.: Analyzing program dependencies in java ee applications. In: Mining Software Repositories (MSR), 2017 IEEE\/ACM 14th International Conference on, pp. 64\u201374. IEEE (2017)","DOI":"10.1109\/MSR.2017.6"},{"key":"8_CR41","doi-asserted-by":"publisher","first-page":"325","DOI":"10.1016\/j.jss.2016.07.039","volume":"131","author":"A Shatnawi","year":"2017","unstructured":"Shatnawi, A., Seriai, A.D., Sahraoui, H.: Recovering software product line architecture of a family of object-oriented product variants. Journal of Systems and Software 131, 325\u2013346 (2017)","journal-title":"Journal of Systems and Software"},{"key":"8_CR42","doi-asserted-by":"crossref","unstructured":"Shatnawi, A., Shatnawi, H., Saied, M.A., Shara, Z.A., Sahraoui, H., Seriai, A.: Identifying software components from object-oriented apis based on dynamic analysis. In: Proceedings of the 26th Conference on Program Comprehension, pp. 189\u2013199. ACM (2018)","DOI":"10.1145\/3196321.3196349"},{"key":"8_CR43","doi-asserted-by":"crossref","unstructured":"Weinreich, R., Miesbauer, C., Buchgeher, G., Kriechbaum, T.: Extracting and facilitating architecture in service-oriented software systems. In: 2012 Joint Working IEEE\/IFIP Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), pp. 81\u201390 (2012)","DOI":"10.1109\/WICSA-ECSA.212.16"},{"key":"8_CR44","doi-asserted-by":"crossref","unstructured":"Wu, Y., Yang, Y., Peng, X., Qiu, C., Zhao, W.: Recovering object-oriented framework for software product line reengineering. In: Top Productivity through Software Reuse, pp. 119\u2013134. Springer (2011)","DOI":"10.1007\/978-3-642-21347-2_10"},{"key":"8_CR45","doi-asserted-by":"crossref","unstructured":"Yuan, E., Esfahani, N., Malek, S.: Automated mining of software component interactions for self-adaptation. In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pp. 27\u201336. ACM, New York, NY, USA (2014)","DOI":"10.1145\/2593929.2593934"}],"container-title":["Handbook of Re-Engineering Software Intensive Systems into Software Product Lines"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-11686-5_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,22]],"date-time":"2022-11-22T21:54:54Z","timestamp":1669154094000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-11686-5_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,7,5]]},"ISBN":["9783031116858","9783031116865"],"references-count":45,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-11686-5_8","relation":{},"subject":[],"published":{"date-parts":[[2022,7,5]]},"assertion":[{"value":"5 July 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}