{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,1]],"date-time":"2026-07-01T03:18:53Z","timestamp":1782875933171,"version":"3.54.5"},"reference-count":66,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2017,1,27]],"date-time":"2017-01-27T00:00:00Z","timestamp":1485475200000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2017,8]]},"DOI":"10.1007\/s10664-016-9459-z","type":"journal-article","created":{"date-parts":[[2017,1,27]],"date-time":"2017-01-27T04:11:43Z","timestamp":1485490303000},"page":"1717-1762","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":19,"title":["Case study on which relations to use for clustering-based software architecture recovery"],"prefix":"10.1007","volume":"22","author":[{"given":"Ioanna","family":"Stavropoulou","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Marios","family":"Grigoriou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kostas","family":"Kontogiannis","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2017,1,27]]},"reference":[{"key":"9459_CR1","doi-asserted-by":"crossref","unstructured":"Adams B, Tromp W, De Meuter H, Hassan A (2009) Can we refactor conditional compilation into aspects? In: Proceedings of the 8th ACM International Conference on Aspect-oriented Software Development, AOSD 09, pages 243\u2013254, New York, ACM","DOI":"10.1145\/1509239.1509274"},{"key":"9459_CR2","unstructured":"Akers RL, Baxter ID, Mehlich M, Ellis B, Luecke K (2005) C++ component model reengineering by automatic transformation. In: CrossTalk, The Journal of Defense Software Engineering"},{"key":"9459_CR3","unstructured":"Allen R (1997) A formal approach to software architecture, Ph.D. thesis, Carnegie Mellon School of Computer Science"},{"key":"9459_CR4","doi-asserted-by":"crossref","unstructured":"Andritsos P, Tzerpos V (2005) Information-theoretic software clustering. IEEE Trans Softw Eng 150\u2013165","DOI":"10.1109\/TSE.2005.25"},{"key":"9459_CR5","doi-asserted-by":"crossref","unstructured":"Anquetil N, Lethbridge T (1998) Extracting concepts from file names: a new file clustering criterion. In: Proceedings of the international conference on software engineering. Association of Computing Machinery (ACM) Press, pp 84\u201393","DOI":"10.1109\/ICSE.1998.671105"},{"key":"9459_CR6","unstructured":"Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley Professional, 3rd Edn"},{"key":"9459_CR7","volume-title":"Software architecture in practice","author":"L Bass","year":"2013","unstructured":"Bass L, Clements P, Kazman R (2013) Software architecture in practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA"},{"key":"9459_CR8","doi-asserted-by":"crossref","unstructured":"Bauer M, Trifu M (2004) Architecture-aware adaptive clustering of oo systems. In: Proceedings of the conference on software maintenance and reengineering. IEEE Computer Society Press, pp 3\u201312","DOI":"10.1109\/CSMR.2004.1281401"},{"key":"9459_CR9","unstructured":"Bois BD, et al. (2007) Supporting reengineering scenarios with FETCH: an experience report. ECEASST 8"},{"key":"9459_CR10","doi-asserted-by":"crossref","unstructured":"Bojic D, Velasevic D (2000) A use-case driven method of architecture recovery for program understanding and reuse reengineering. In: IEEE Conference on Software Maintenance and Reengineering, CSMR\u201900. pp 23\u201333","DOI":"10.1109\/CSMR.2000.827302"},{"key":"9459_CR11","doi-asserted-by":"crossref","unstructured":"Boughanmi F (2010) Multi-language and heterogeneously-licensed software analysis. In: Proceedings of 17th working conference on reverse engineering. pp 293\u2013296","DOI":"10.1109\/WCRE.2010.43"},{"key":"9459_CR12","unstructured":"Bowman IT, Holt R (1998) Software architecture recovery using conway\u2019s law. In: Proceedings of the 1998 conference of the centre for advanced studies on collaborative research. CASCON \u201998, 6 IBM Press"},{"key":"9459_CR13","doi-asserted-by":"crossref","unstructured":"Canfora G, Czeranski J, Koschke R (2000) Revisiting the delta-ic approach to component recovery. In: Proceedings of the working conference on reverse engineering. IEEE Computer Society Press","DOI":"10.1109\/WCRE.2000.891461"},{"key":"9459_CR14","doi-asserted-by":"crossref","unstructured":"Chiricota Y, Jourdan Y, Melanon F (2003) G. Software Components capture using graph clustering. In: Proceedings of the workshop on program comprehension. IEEE Computer Society Press, pp 217\u2013226","DOI":"10.1109\/WPC.2003.1199205"},{"key":"9459_CR15","doi-asserted-by":"crossref","unstructured":"Corazza A, et al. (2011) Investigating the use of lexical information for software system clustering, CSMR, IEEE Computer Society 35\u201344","DOI":"10.1109\/CSMR.2011.8"},{"key":"9459_CR16","doi-asserted-by":"crossref","unstructured":"DeBaud JM, Moopen B, Rugaber S (1994) Domain analysis and reverse engineering. ICSM IEEE Comput Soc 326\u2013335","DOI":"10.1109\/ICSM.1994.336762"},{"key":"9459_CR17","doi-asserted-by":"crossref","unstructured":"Ducasse S, Pollet D (2009) Software architecture reconstruction: A process-oriented taxonomy. IEEE Trans Softw Eng 99(1)","DOI":"10.1109\/TSE.2009.19"},{"key":"9459_CR18","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1002\/smr.279","volume":"15","author":"S Ducasse","year":"2003","unstructured":"Ducasse S, Tichelaar S (2003) Dimensions of reengineering environment infrastructures. Int J Softw Maint Res Pract 15:345\u2013373","journal-title":"Int J Softw Maint Res Pract"},{"issue":"3","key":"9459_CR19","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1145\/2692956.2663174","volume":"34","author":"PH Feiler","year":"2014","unstructured":"Feiler PH (2014) AADL and model-based engineering. Ada Lett ACM 34(3):17\u201318","journal-title":"Ada Lett ACM"},{"key":"9459_CR20","doi-asserted-by":"crossref","unstructured":"Fischer M, Pinzger M, Gall H (2003) Analyzing and relating bug report data for feature tracking. In: Proceedings of the 10th working conference on reverse engineering, WCRE \u201903. IEEE Computer Society, Washington, pp. 90\u2013,","DOI":"10.1109\/WCRE.2003.1287240"},{"key":"9459_CR21","doi-asserted-by":"crossref","unstructured":"Fleck G, et al. (2016) Experience report on building astm based tools for multi-language reverse engineering. In: Proceedings of 23rd conference on software analysis, evolution, and reengineering, pp 283\u2013687","DOI":"10.1109\/SANER.2016.33"},{"key":"9459_CR22","doi-asserted-by":"crossref","unstructured":"Garcia J, et al. (2011) Enhancing architectural recovery using concerns. In: Proceedings of the 2011 26th IEEE\/ACM international conference on automated software engineering, ASE \u201911, IEEE, pp 552\u2013555","DOI":"10.1109\/ASE.2011.6100123"},{"key":"9459_CR23","unstructured":"Garcia J, Popescu D, Mattmann C, Medvidovic N, Cai Y (2011) Enhancing architectural recovery using concerns, 26th IEEE\/ACM International Conference on Automated Software Engineering, ASE \u201911. IEEE 552\u2013555"},{"key":"9459_CR24","unstructured":"Garcia J, Ivkovic I, Medvidovic N (2013) A comparative analysis of software architecture recovery techniques, 28th International Conference on Automated Software Engineering, ASE 2013. IEEE 486\u2013496"},{"key":"9459_CR25","doi-asserted-by":"crossref","unstructured":"Garcia J, Krka I, Mattmann C, Medvidovic N (2013) Obtaining ground-truth software architectures. In: Proceedings of the 2013 international conference on software engineering. ICSE \u201913 IEEE Press, pp 901\u2013910","DOI":"10.1109\/ICSE.2013.6606639"},{"key":"9459_CR26","unstructured":"Garlan D, Monroe R T, Wile D (1997) Acme: An architecture description interchange language. In: Proceedings of CASCON\u201997, Toronto, Ontario, pp 169\u2013183"},{"key":"9459_CR27","unstructured":"Imber M (1991) The CASE data interchange format (CDIF) standards. In: Long, F (ed) Software engineering environments, Ellis Horwood. pp 457\u2013474"},{"key":"9459_CR28","unstructured":"Jackson D (2012) Software Abstractions: logic, language, and analysis MIT press"},{"key":"9459_CR29","doi-asserted-by":"crossref","unstructured":"Jerding D, Rugaber S (2000) Using visualization for architectural localization and extraction. Sci Comput Program:267\u2013284","DOI":"10.1016\/S0167-6423(99)00038-6"},{"key":"9459_CR30","doi-asserted-by":"crossref","unstructured":"Kobayashi K, et al. (2012) Feature-gathering dependency-based software clustering using dedication and modularity. In: Proceedings of the 28th international conference on software maintenance. IEEE Computer Society, pp 462\u2013471","DOI":"10.1109\/ICSM.2012.6405308"},{"key":"9459_CR31","doi-asserted-by":"crossref","unstructured":"Koschke R, Canfora G, Czeranski J (2006) Revisiting the approach to component recovery, Science of Computer Programming, Special Issue on Software Analysis, Evolution and Re-engineering, pp 171\u2013188","DOI":"10.1016\/j.scico.2005.10.004"},{"issue":"6","key":"9459_CR32","doi-asserted-by":"crossref","first-page":"42","DOI":"10.1109\/52.469759","volume":"12","author":"P Kruchten","year":"1995","unstructured":"Kruchten P (1995) The 4+1 view model of architecture. IEEE Softw 12(6):42\u201350","journal-title":"IEEE Softw"},{"key":"9459_CR33","doi-asserted-by":"crossref","unstructured":"Kuhn H W (1955) The Hungarian method for the assignment problem. Nav Res Logist Q:83\u201397","DOI":"10.1002\/nav.3800020109"},{"key":"9459_CR34","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1016\/j.entcs.2004.01.008","volume":"94","author":"T Lethbridge","year":"2004","unstructured":"Lethbridge T, Tichelaar S, Ldereder E (2004) The dagstuhl middle metamodel: A schema for reverse engineering. Electr Notes Theor Comput Sci 94:7\u201318","journal-title":"Electr Notes Theor Comput Sci"},{"key":"9459_CR35","doi-asserted-by":"crossref","unstructured":"Lung CH (1998) Software architecture recovery and restructuring through clustering techniques. In: Proceedings of the third international workshop on software architecture, ISAW \u201998, ACM, pp 101\u2013104","DOI":"10.1145\/288408.288434"},{"key":"9459_CR36","doi-asserted-by":"crossref","unstructured":"Lung C-H (1998) Software architecture recovery and restructuring through clustering techniques. In: Proceedings of the Third International Workshop on Software Architecture. Association of Computing Machinery (ACM) Press, pp 101\u2013104","DOI":"10.1145\/288408.288434"},{"key":"9459_CR37","doi-asserted-by":"crossref","first-page":"204","DOI":"10.1016\/j.scico.2012.04.007","volume":"79","author":"M Lungu","year":"2014","unstructured":"Lungu M, Lanza M, Nierstrasz O (2014) Evolutionary and collaborative software architecture recovery with softwarenaut. Sci Comput Program 79:204\u2013223. In: Proceedings of the Conference on Software Maintenance and Reengineering, CSMR \u201900, pages 23\u2013, Washington, DC, USA, 2000 IEEE Computer Society","journal-title":"Sci Comput Program"},{"key":"9459_CR38","doi-asserted-by":"crossref","unstructured":"Lutellier T, Chollak D, Garcia J, Tan L, Rayside D, Medvidovi\u0107 N, Kroeger R (2015) Comparing software architecture recovery techniques using accurate dependencies. In: Proceedings of the 37th international conference on software engineering - vol 2, ICSE \u201915. IEEE Press, Piscataway, pp 69\u201378","DOI":"10.1109\/ICSE.2015.136"},{"key":"9459_CR39","doi-asserted-by":"crossref","unstructured":"Mancoridis S, et al. (1999) Bunch: A clustering tool for the recovery and maintenance of software system structures. In: Proceedings IEEE international conference on software maintenance. IEEE Computer Society Press, pp 50\u201359","DOI":"10.1109\/ICSM.1999.792498"},{"key":"9459_CR40","doi-asserted-by":"crossref","unstructured":"Mancoridis S, Holt R C (1996) Recovering the structure of software systems using tube graph interconnection clustering. In: Proceedings of international conference on software maintenance 1996. IEEE, pp 23\u201332","DOI":"10.1109\/ICSM.1996.564985"},{"key":"9459_CR41","doi-asserted-by":"crossref","unstructured":"Mahdavi K, Harman M, Hierons RM (2003) A multiple hill climbing approach to software module clustering. In: Proceedings of the international conference on software maintenance, september. IEEE Computer Society Press, pp 315\u2013324","DOI":"10.1109\/ICSM.2003.1235437"},{"key":"9459_CR42","doi-asserted-by":"crossref","unstructured":"Maqbool O, Babri HA (2004) The weighted combined algorithm: A linkage algorithm for software clustering. In: Proceedings of the conference on software maintenance and reengineering. IEEE Computer Society Press, pp 15\u201324","DOI":"10.1109\/CSMR.2004.1281402"},{"key":"9459_CR43","doi-asserted-by":"crossref","unstructured":"Maqbool O, Babri H (2007) Hierarchical clustering for software architecture recovery. IEEE Trans Softw Eng IEEE:759\u2013780","DOI":"10.1109\/TSE.2007.70732"},{"key":"9459_CR44","unstructured":"Medvidovic N (1995) Formal definition of the chiron-2 software architectural style"},{"key":"9459_CR45","doi-asserted-by":"crossref","unstructured":"Mendon\u00e7a NC, Kramer J (2001) An approach for recovering distributed system architectures, Automated Software Engg, Kluwer Academic Publishers, pp 311\u2013354","DOI":"10.1023\/A:1011217720860"},{"key":"9459_CR46","unstructured":"Muller H, Wong K, Tilley S (1992) A reverse engineering environment based on spatial and visual software interconnection models, ACM SIGSOFT Symposium on Software Development Environments. Association of Computing Machinery (ACM) Press, pp 88\u201398"},{"issue":"4","key":"9459_CR47","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1145\/222132.222136","volume":"20","author":"GC Murphy","year":"1995","unstructured":"Murphy GC, Notkin D, models K S (1995) Software reflexion Bridging the gap between source and high-level models. SIGSOFT Softw Eng Notes 20(4):18\u201328","journal-title":"SIGSOFT Softw Eng Notes"},{"key":"9459_CR48","unstructured":"Overbey JL, Johnson RE (2008) Generating rewritable abstract syntax trees. In: Ga\u0161evic D, L\u00e4mmel R, Wyk E V (eds) Software language engineering: first international conference (SLE 2008), Vol. 5452 of Lecture Notes in Computer Science. Springer, Berlin, pp 114\u2013133"},{"key":"9459_CR49","doi-asserted-by":"crossref","unstructured":"Patel C, Hamou-Lhadj A, Rilling J (2009) Software clustering using dynamic analysis and static dependencies. In: 13th European conference on software maintenance and reengineering, CSMR 2009, Architecture-Centric Maintenance of Large-SCale Software Systems, Kaiserslautern Germany, 24-27 March 2009, pp 27\u201336","DOI":"10.1109\/CSMR.2009.62"},{"key":"9459_CR50","doi-asserted-by":"crossref","unstructured":"Pinzger M et al. (2004) Architecture recovery for product families. In: van der Linden F (ed) Software product-family engineering, Lecture notes in computer science, vol 3014. Springer, Berlin, pp 332\u2013351","DOI":"10.1007\/978-3-540-24667-1_26"},{"key":"9459_CR51","doi-asserted-by":"crossref","unstructured":"Rayside D, Reuss S, Hedges E, Kontogiannis K (2000) The effect of call graph construction algorithms for object-oriented programs on automatic clustering. In: Proceedings workshop on program comprehension, 2000. Proceedings. IWPC, pp 191\u2013200","DOI":"10.1109\/WPC.2000.852493"},{"key":"9459_CR52","doi-asserted-by":"crossref","unstructured":"Sartipi K, Kontogiannis K (2001) A graph pattern matching approach to software architecture recovery. In: Proceedings of the IEEE international conference on software maintenance (ICSM\u201901). IEEE Computer Society, pp 408\u2013419","DOI":"10.1109\/ICSM.2001.972754"},{"issue":"4","key":"9459_CR53","doi-asserted-by":"crossref","first-page":"265","DOI":"10.1002\/smr.277","volume":"15","author":"K Sartipi","year":"2003","unstructured":"Sartipi K, Kontogiannis K (2003) A user-assisted approach to component clustering. J Softw Maint Evol Res Pract 15(4):265\u2013295","journal-title":"J Softw Maint Evol Res Pract"},{"key":"9459_CR54","unstructured":"Tilley S, Weiderman N, Woods S, Bergey J, Smith D (1999) Why reengineering projects fail. In: TECHNICAL REPORT CMU SEI99TR010 ESCTR99010. Software Engineering Institute"},{"key":"9459_CR55","unstructured":"Tzerpos V, Holt RC (1996) A hybrid process for recovering software architecture CASCON"},{"key":"9459_CR56","doi-asserted-by":"crossref","unstructured":"Tzerpos V, Holt RC (2000a) ACDC: An algorithm for comprehension-driven clustering. In: Proceedings of the seventh working conference on reverse engineering. IEEE, pp 258\u2013267","DOI":"10.1109\/WCRE.2000.891477"},{"key":"9459_CR57","doi-asserted-by":"crossref","unstructured":"Tzerpos V, Holt RC (2000b) On the stability of software clustering algorithms, 8th international workshop on program comprehension (IWPC 2000). IEEE:211\u2013218","DOI":"10.1109\/WPC.2000.852495"},{"key":"9459_CR58","doi-asserted-by":"crossref","unstructured":"van Deursen A, Kuipers T (1999) Identifying objects using cluster and concept analysis. In: Proceedings of the international conference on software engineering. Association of Computing Machinery (ACM) Press, pp 246\u2013255","DOI":"10.1145\/302405.302629"},{"key":"9459_CR59","doi-asserted-by":"crossref","unstructured":"Van Rompaey B, et al. (2009) SERIOUS: software evolution, refactoring, improvement of operational and usable systems. In: CSMR. IEEE Computer Society, pp 277\u2013280","DOI":"10.1109\/CSMR.2009.30"},{"key":"9459_CR60","doi-asserted-by":"crossref","unstructured":"Van Rompaey B, Demeyer S (2009) Establishing traceability links between unit test cases and units under test. In: 13th European conference on software maintenance and reengineering, CSMR 2009, Architecture-Centric Maintenance of Large-SCale Software Systems. Kaiserslautern Germany, pp 209\u2013218","DOI":"10.1109\/CSMR.2009.39"},{"key":"9459_CR61","unstructured":"Vasconcelos A, Werner C (2004) Software architecture recovery based on dynamic analysis. In: XVIII Brazilian symposium on software engineering. Workshop on Modern Software Maintenance"},{"key":"9459_CR62","unstructured":"Wilson RJ (1986) Introduction to graph theory. Wiley"},{"key":"9459_CR63","doi-asserted-by":"crossref","unstructured":"Wu J, Hassan AE, Holt RC (2005) Comparison of clustering algorithms in the context of software evolution. ICSM IEEE Comput Soc:525\u2013535","DOI":"10.1109\/ICSM.2005.31"},{"key":"9459_CR64","doi-asserted-by":"crossref","unstructured":"Wu J, Hassan AE, Holt RC (2005) Comparison of clustering algorithms in the context of software evolution. In: Proceedings of the 21st IEEE international conference on software maintenance. ICSM \u201905 IEEE Computer Society, pp 525\u2013535","DOI":"10.1109\/ICSM.2005.31"},{"key":"9459_CR65","doi-asserted-by":"crossref","unstructured":"Xing Z, Stroulia E (2005) UMLDiff: An Algorithm for Object-oriented Design Differencing. In: Proceedings of 20th international conference on automated software engineering. ACM, pp 54\u201365","DOI":"10.1145\/1101908.1101919"},{"key":"9459_CR66","unstructured":"Zou Y, Kontogiannis K (2001) Towards a portable xml-based source code representation. In: Proceedings of international conference on software engineering (ICSE) 2001 workshops of XML technologies and software engineering (XSE), Toronto, Canada"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-016-9459-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9459-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9459-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,14]],"date-time":"2025-06-14T20:32:41Z","timestamp":1749933161000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-016-9459-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,1,27]]},"references-count":66,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,8]]}},"alternative-id":["9459"],"URL":"https:\/\/doi.org\/10.1007\/s10664-016-9459-z","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,1,27]]}}}