A. Identifying-the and .. Variability, 95 5.5.1 Identifying Component Variants, Identifying Conguration Variability, p.98

M. Acharya, T. Xie, J. Pei, and J. Xu, Mining API patterns as partial orders from source code, Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering , ESEC-FSE '07, p.2534, 2007.
DOI : 10.1145/1287624.1287630

S. Adjoyan, A. Seriai, and A. Shatnawi, Service Identication Based on Quality Metrics -Object-Oriented Legacy System Migration Towards SOA, The 26th International Conference on Software Engineering and Knowledge Engineering, pp.16-2014, 2013.

S. Allier, A. Houari, S. Sahraoui, and . Sadou, Identifying components in object-oriented programs using dynamic analysis and clustering, Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research, CASCON '09, pp.136148-136167, 2009.
DOI : 10.1145/1723028.1723045

URL : https://hal.archives-ouvertes.fr/hal-00511303

S. Allier, A. Houari, S. Sahraoui, S. Sadou, and . Vaucher, Restructuring Object-Oriented Applications into Component-Oriented Applications by Using Consistency with Execution Traces, Component-Based Software Engineering, pp.216231-216251, 2010.
DOI : 10.1007/978-3-642-13238-4_13

URL : https://hal.archives-ouvertes.fr/hal-00502294

S. Allier and S. Sadou, Houari Sahraoui and Régis Fleurquin. From Object-Oriented Applications to Component-Oriented Applications via Component-Oriented Architecture, 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp.214223-214257, 2011.

L. Felix-bachmann, J. Bass, . Carriere, C. Paul, D. Clements et al., Software architecture documentation in practice: Documenting architectural layers, 2000.

L. Bass, P. Clements, and R. Kazman, Software architecture in practice, 2012.

]. Baster, P. Konana, and J. E. Scott, Business components: a case study of bankers trust Australia limited, Communications of the ACM, vol.44, issue.5, p.9298, 2001.
DOI : 10.1145/374308.374364

M. James, B. Bieman, and . Kang, Cohesion and reuse in an object-oriented system, In ACM SIGSOFT Software Engineering Notes, vol.20, pp.259262-259291, 1995.

]. G. Boussaidi, A. B. Belle, S. Vaucher, and H. Mili, Reconstructing Architectural Views from Legacy Systems, 2012 19th Working Conference on Reverse Engineering, pp.345354-345374, 2012.
DOI : 10.1109/WCRE.2012.44

X. Cai, R. Michael, K. Lyu, R. Wong, and . Ko, Component-Based Software Engineering, Software Engineering Conference APSEC 2000. Proceedings. Seventh Asia-Pacic, p.372379, 2000.
DOI : 10.1002/9780470050118.ecse066

A. Sylvain-chardigny, M. Seriai, D. Oussalah, and . Tamzalit, Search-based extraction of component-based architecture from object-oriented systems, Software Architecture, p.322325, 2008.

S. Chardigny, A. Seriai, D. Tamzalit, and M. Oussalah, Quality-Driven Extraction of a Component-based Architecture from an Object-Oriented System, 2008 12th European Conference on Software Maintenance and Reengineering, pp.269273-269289, 2008.
DOI : 10.1109/CSMR.2008.4493324

URL : https://hal.archives-ouvertes.fr/hal-00456358

J. Elliot, . Chikofsky, H. James, and . Cross, Reverse engineering and design recovery: A taxonomy, Software, IEEE, vol.7, issue.1, p.1317, 1990.

]. P. Clements and L. Northrop, Software product lines: practices and patterns, pp.14-90, 2002.

]. Constantinou, G. Kakarontzas, and I. Stamelos, Towards Open Source Software System Architecture Recovery Using Design Metrics, 2011 15th Panhellenic Conference on Informatics, pp.166170-166188, 2011.
DOI : 10.1109/PCI.2011.36

H. Thomas, . Cormen, E. Charles, . Leiserson, L. Ronald et al., Introduction to algorithms, p.20, 2009.

M. Vinicius-couto, M. T. Valente, and E. Figueiredo, Extracting software product lines: A case study using conditional compilation, 15th European Conference on Software Maintenance and Reengineering (CSMR2011), 2011.

P. Dugerdil and D. Sennhauser, Dynamic decision tree for legacy use-case recovery, Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC '13, pp.12841291-12841310, 2013.
DOI : 10.1145/2480362.2480602

S. Ferreira, . Ferreira, C. Silva, and . Werner, Packaging reusable components using patterns and hypermedia, Software Reuse Proceedings Fourth International Conference on, pp.146-155, 1996.

N. Figueiredo, C. Cacho, M. Sant-'anna, U. Monteiro, A. Kulesza et al., Evolving software product lines with aspects, Proceedings of the 13th international conference on Software engineering , ICSE '08, pp.261270-261319, 2008.
DOI : 10.1145/1368088.1368124

T. Robert-filman and . Elrad, Siobhán Clarkeet al. Aspect-oriented software development, 2004.

B. William, K. Frakes, and . Kang, Software reuse research: Status and future, IEEE transactions on Software Engineering, vol.31, issue.7, p.529536, 2005.

P. Frenzel, R. Koschke, P. Andreas, K. Breu, and . Angstmann, Extending the reexion method for consolidating software variants into product lines, 14th Working Conference on Reverse Engineering (WCRE), pp.160169-160193, 2007.

B. Ganter and R. Wille, Formal concept analysis: mathematical foundations, pp.91-92, 2012.

]. Garlan, Software architecture, Proceedings of the conference on The future of Software engineering , ICSE '00, pp.91101-91116, 2000.
DOI : 10.1145/336512.336537

]. Gasparic, A. Janes, A. Sillitti, and G. Succi, An Analysis of a Project Reuse Approach in an Industrial Setting, 2014.
DOI : 10.1007/978-3-319-14130-5_12

]. H. Gomaa, Designing Software Product Lines with UML, 29th Annual IEEE/NASA Software Engineering Workshop, Tutorial Notes (SEW'05), p.160216, 2005.
DOI : 10.1109/SEW.2005.5

L. Martin and . Griss, Software reuse architecture, process, and organization for business success, Computer Systems and Software Engineering Proceedings of the Eighth Israeli Conference on, p.8689, 1997.

S. Haitham and . Hamza, A Framework for Identifying Reusable Software Components Using Formal Concept Analysis, Sixth International Conference on Information Technology: New Generations (ITNG), pp.18-25, 2009.

]. Han, M. Kamber, and J. Pei, Data mining, southeast asia edition: Concepts and techniques, pp.68-83, 2006.

H. Mark, F. Bryan, and . Jones, Search-based software engineering, Information and Software Technology, vol.43, issue.14, pp.833-839, 2001.

S. Smh-hasheminejad and . Jalili, CCIC: Clustering analysis classes to identify software components, Information and Software Technology, vol.57, issue.23, pp.329351-329376, 2015.
DOI : 10.1016/j.infsof.2014.05.013

T. George, . Heineman, T. William, and . Councill, Component-based software engineering. Putting the Pieces Together, pp.27-34, 2001.

]. S. Hendrickson and A. Van-der-hoek, Modeling Product Line Architectures through Change Sets and Relationships, 29th International Conference on Software Engineering (ICSE'07), p.189198, 2007.
DOI : 10.1109/ICSE.2007.56

C. Kyo, . Kang, G. Sholom, . Cohen, A. James et al., Feature-oriented domain analysis (FODA) feasibility study. Rapport technique, DTIC Document, 1990.

A. Selim-kebir, S. Seriai, A. Chardigny, and . Chaoui, Quality-Centric Approach for Software Component Identication from Object-Oriented Code, 2012 Joint Working IEEE/IFIP Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), pp.181190-181224, 2012.

R. Kolb, D. Muthig, T. Patzke, and K. Yamauchi, A case study in refactoring a legacy component for reuse in a product line, Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), pp.369378-369396, 2005.

R. Kolb, D. Muthig, T. Patzke, and K. Yamauchi, Refactoring a legacy component for reuse in a software product line: a case study, Journal of Software Maintenance and Evolution: Research and Practice, vol.30, issue.2, pp.109132-109150, 2006.
DOI : 10.1002/smr.329

R. Koschke, P. Frenzel, P. Andreas, K. Breu, and . Angstmann, Extending the reflexion method for consolidating software variants into product lines, Software Quality Journal, vol.19, issue.4, pp.331-366, 2009.
DOI : 10.1007/s11219-009-9077-8

J. Ronald and . Leach, Software reuse: Methods, models, costs. AfterMath, 2012.

C. Timothy, J. Lethbridge, A. Singer, and . Forward, How software engineers use documentation: The state of the practice, IEEE Software, vol.20, issue.6, p.3539, 2003.

J. Frank, K. Van-der-linden, E. Schmid, and . Rommes, Software product lines in action: The best industrial practice in product line engineering, 2007.

. Luckham, Rapide: A language and toolset for simulation of distributed systems by partial orderings of events, 1996.

H. Ma, R. Amor, and E. Tempero, Usage Patterns of the Java Standard API, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06), p.342352, 2006.
DOI : 10.1109/APSEC.2006.60

J. Magee and J. Kramer, Dynamic structure in software architectures, ACM SIGSOFT Software Engineering Notes, vol.21, issue.6, p.314, 1996.

D. Mcilroy, P. Buxton, B. Naur, and . Randell, Mass-produced software components, Proceedings of the 1st International Conference on Software Engineering, Garmisch Pattenkirchen, p.8898, 1968.

T. Mende, F. Beckwermert, R. Koschke, and G. Meier, Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection, 2008 12th European Conference on Software Maintenance and Reengineering, pp.163172-163190, 2008.
DOI : 10.1109/CSMR.2008.4493311

T. Mende, R. Koschke, and F. Beckwermert, An evaluation of code similarity identication for the grow-and-prune model, Journal of Software Maintenance and Evolution: Research and Practice, vol.21, issue.23, pp.143169-143181, 2009.

D. Sk-mishra, A. Singh-kushwaha, and . Misra, Creating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering., The Journal of Object Technology, vol.8, issue.5, pp.133152-133170, 2009.
DOI : 10.5381/jot.2009.8.5.a3

A. Hausi, . Müller, H. Jens, . Jahnke, B. Dennis et al., Reverse engineering: A roadmap, Proceedings of the Conference on the Future of Software Engineering, p.4760, 2000.

E. Yumi-nakagawa, P. O. Antonino, and M. Becker, Reference Architecture and Product Line Architecture: A Subtle But Critical Difference, Software Architecture, p.207211, 2011.
DOI : 10.1007/3-540-28901-1

E. Dewayne, . Perry, L. Alexander, and . Wolf, Foundations for the study of software architecture, ACM SIGSOFT Software Engineering Notes, vol.17, issue.4, p.4052, 1992.

M. Pinzger, H. Gall, J. Girard, J. Knodel, C. Riva et al., Architecture Recovery for Product Families, Software Product-Family Engineering, pp.332351-332382, 2004.
DOI : 10.1007/978-3-540-24667-1_26

]. Pohl, G. Böckle, and F. J. Van-der-linden, Software product line engineering: Foundations, principles and techniques, pp.6-90, 2005.
DOI : 10.1007/3-540-28901-1

]. Pohl, G. Böckle, and F. J. Van-der-linden, Software product line engineering: Foundations, principles and techniques, 2005.
DOI : 10.1007/3-540-28901-1

C. Riva and J. Vidal-rodriguez, Combining static and dynamic views for architecture reconstruction, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering, p.4755, 2002.
DOI : 10.1109/CSMR.2002.995789

]. M. Robillard, E. Bodden, D. Kawrykow, M. Mezini, and T. Ratchford, Automated API Property Inference Techniques, IEEE Transactions on Software Engineering, vol.39, issue.5, pp.613637-2013, 2013.
DOI : 10.1109/TSE.2012.63

M. James-rumbaugh, W. Blaha, F. Premerlani, . Eddy, and E. William, Lorensenet al. Object-oriented modeling and design, 1991.

I. James-rumbaugh, G. Jacobson, and . Booch, Unied modeling language reference manual, the. Pearson Higher Education, p.134, 2004.

A. Seriai, S. Sadou, H. Sahraoui, and S. Hamza, Deriving Component Interfaces after a Restructuring of a Legacy System, 2014 IEEE/IFIP Conference on Software Architecture, pp.3140-3160, 2014.
DOI : 10.1109/WICSA.2014.27

URL : https://hal.archives-ouvertes.fr/hal-01102164

A. Shatnawi and A. Seriai, Mining reusable software components from object-oriented source code of a set of similar software, 2013 IEEE 14th International Conference on Information Reuse & Integration (IRI), p.2013, 2013.
DOI : 10.1109/IRI.2013.6642472

URL : https://hal.archives-ouvertes.fr/lirmm-01324285

A. Shatnawi, A. Seriai, and H. Sahraoui, Recovering Architectural Variability of a Family of Product Variants, Software Reuse for Dynamic Systems in the Cloud and Beyond, pp.1733-2014, 2014.
DOI : 10.1007/978-3-319-14130-5_2

URL : https://hal.archives-ouvertes.fr/lirmm-01324262

A. Shatnawi, A. Seriai, H. Sahraoui, and Z. , Mining Software Components from Object-Oriented APIs, Software Reuse for Dynamic Systems in the Cloud and Beyond, pp.330347-2014, 2014.
DOI : 10.1007/978-3-319-14130-5_23

URL : https://hal.archives-ouvertes.fr/lirmm-01324282

R. Steven-she, T. Lotufo, A. Berger, K. Wasowski, and . Czarnecki, Reverse engineering feature models, The 33rd International Conference on Software Engineering, p.461470, 2011.

G. Sajjan, L. Shiva, and . Shala, Software Reuse: Research and Practice, International Conference on Information and Technology, p.603609, 2007.

M. Harry and . Sneed, Integrating legacy software into a service oriented architecture, Software Maintenance and Reengineering Proceedings of the 10th European Conference on, p.11, 2006.

T. Thüm, C. Thüm, F. Kästner, J. Benduhn, G. Meinicke et al., FeatureIDE: An extensible framework for feature-oriented software development, Science of Computer Programming, vol.79, pp.7085-2014
DOI : 10.1016/j.scico.2012.06.002

P. Tonella and A. Potrich, Reverse engineering of the UML class diagram from c++ code in presence of weakly typed containers, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001, p.376385, 2001.
DOI : 10.1109/ICSM.2001.972750

B. Gias-uddin, M. P. Dagenais, and . Robillard, Temporal Analysis of API Usage Concepts, Proceedings of the 2012 International Conference on Software Engineering, ICSE 2012, p.804814, 2012.

M. C. Markus-von-detten, S. Platenius, and . Becker, Reengineering component-based software systems with Archimetrix. Software & Systems Modeling, pp.130-150, 2013.

]. Wang, Y. Dang, H. Zhang, K. Chen, T. Xie et al., Mining succinct and high-coverage API usage patterns from source code, 2013 10th Working Conference on Mining Software Repositories (MSR), p.319328, 2013.
DOI : 10.1109/MSR.2013.6624045

]. R. Weinreich, C. Miesbauer, G. Buchgeher, and T. Kriechbaum, Extracting and Facilitating Architecture in Service-Oriented Software Systems, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp.18-20, 2012.
DOI : 10.1109/WICSA-ECSA.212.16

N. Eric-yuan, S. Esfahani, and . Malek, Automated Mining of Software Component Interactions for Self-adaptation, Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self- Managing Systems, SEAMS 2014, p.2736, 2014.

D. Zhang, Q. Qiu, L. Tian, and . Sun, Object-oriented software architecture recovery using a new hybrid clustering algorithm, 2010 Seventh International Conference on Fuzzy Systems and Knowledge Discovery, pp.25462550-25462568, 2010.
DOI : 10.1109/FSKD.2010.5569799