Skip to main content
Erschienen in: Empirical Software Engineering 3/2018

22.09.2017

General methods for software architecture recovery: a potential approach and its evaluation

verfasst von: Damian A. Tamburri, Rick Kazman

Erschienen in: Empirical Software Engineering | Ausgabe 3/2018

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Software architecture is a critical artefact in the software lifecycle. It is a system blueprint for construction, it aids in planning teaming and division of work, and it aids in reasoning about system properties. But architecture documentation is seldom created and, even when it is initially created, it is seldom maintained. For these reasons organisations often feel the need to recover legacy architectures, for example, as part of planning for evolution or cloud migration. But there is no existing general architecture recovery approach nor tool that can be applied to any type of system, under any condition. We will show that one way of achieving such generality is to apply systematic code inspection following a Grounded Theory (GT) approach. Though relatively costly and human-intensive, a GT-based approach has several merits, for example: (a) it is general by design; (b) it can be partially automated; (c) it yields evidence-based results rooted of the system being examined. This article presents one theoretical formulation of a general architecture recovery method–called REM–and reports on the evaluation of REM in the context of a large architecture recovery campaign performed for the European Space Agency. Our results illustrate some intriguing properties and opportunities of GT-based architecture recovery approaches and point out lessons learned and venues for further research.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Literatur
Zurück zum Zitat Bachmann F et al (2000) Software architecture documentation in practice: documenting architectural layers. Special Report CMU/SEI-2000-SR-004 SEI CMU Bachmann F et al (2000) Software architecture documentation in practice: documenting architectural layers. Special Report CMU/SEI-2000-SR-004 SEI CMU
Zurück zum Zitat Baldwin C, Clark K (2000) Design rules: the power of modularity, vol 1. MIT Press, Cambridge, MACrossRef Baldwin C, Clark K (2000) Design rules: the power of modularity, vol 1. MIT Press, Cambridge, MACrossRef
Zurück zum Zitat Bloor M (1997) Techniques of validation in qualitative research. A critical commentary. In: Miller G, Dingwall R (eds) Context and method in qualitative research. Sage, Thousand Oaks, CA, pp 37–50 Bloor M (1997) Techniques of validation in qualitative research. A critical commentary. In: Miller G, Dingwall R (eds) Context and method in qualitative research. Sage, Thousand Oaks, CA, pp 37–50
Zurück zum Zitat Clements P, Kazman R, Klein M (2001) Evaluatinjg software architectures: methods and case studies. Addison Wesley Professional Clements P, Kazman R, Klein M (2001) Evaluatinjg software architectures: methods and case studies. Addison Wesley Professional
Zurück zum Zitat Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Nord R, Stafford J (2002) Documenting software architectures: views and beyond. Addison Wesley Professional Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Nord R, Stafford J (2002) Documenting software architectures: views and beyond. Addison Wesley Professional
Zurück zum Zitat Corbin J, Strauss A (1990) Grounded theory research: procedures, canons, and evaluative criteria. Qual Sociol 13(1):3–21CrossRef Corbin J, Strauss A (1990) Grounded theory research: procedures, canons, and evaluative criteria. Qual Sociol 13(1):3–21CrossRef
Zurück zum Zitat Corbin JM, Strauss AL (2008) Basics of qualitative research, 3 edn. Sage Publisher Corbin JM, Strauss AL (2008) Basics of qualitative research, 3 edn. Sage Publisher
Zurück zum Zitat Denzin NK, Lincoln YS (2011) The sage handbook of qualitative research. Sage, Thousand Oaks Denzin NK, Lincoln YS (2011) The sage handbook of qualitative research. Sage, Thousand Oaks
Zurück zum Zitat Ding L, Medvidovic N (2001) Focus: a light-weight, incremental approach to software architecture recovery and evolution. In: WICSA. IEEE Computer Society, p 191 Ding L, Medvidovic N (2001) Focus: a light-weight, incremental approach to software architecture recovery and evolution. In: WICSA. IEEE Computer Society, p 191
Zurück zum Zitat Frankel D (2002) Model driven architecture: applying MDA to enterprise computing. Wiley Frankel D (2002) Model driven architecture: applying MDA to enterprise computing. Wiley
Zurück zum Zitat Glaser BG (1978) Theoretical sensitivity: advances in the methodology of grounded theory. Sociology Press, San Francisco, CA Glaser BG (1978) Theoretical sensitivity: advances in the methodology of grounded theory. Sociology Press, San Francisco, CA
Zurück zum Zitat Guo G, Atlee J, Kazman R (1999) A software architecture reconstruction method. In: Software architecture (proceedings of the first working IFIP conference on software architecture (WICSA1)), pp 15–33CrossRef Guo G, Atlee J, Kazman R (1999) A software architecture reconstruction method. In: Software architecture (proceedings of the first working IFIP conference on software architecture (WICSA1)), pp 15–33CrossRef
Zurück zum Zitat Gwet K, Gwet K (2002) Inter-rater reliability: dependency on trait prevalence and marginal homogeneity. Stat Methods Inter-Rater Reliab Assess 2:1–9 Gwet K, Gwet K (2002) Inter-rater reliability: dependency on trait prevalence and marginal homogeneity. Stat Methods Inter-Rater Reliab Assess 2:1–9
Zurück zum Zitat Kandé MM, Strohmeier A (2000) Towards a UML profile for software architecture. In: Kent S, Evans A (eds) UML’2000 - the unified modeling language: advancing the standard, third international conference, York, UK, October 2–6, 2000, LNCS, vol 1939, pp 513–527 Kandé MM, Strohmeier A (2000) Towards a UML profile for software architecture. In: Kent S, Evans A (eds) UML’2000 - the unified modeling language: advancing the standard, third international conference, York, UK, October 2–6, 2000, LNCS, vol 1939, pp 513–527
Zurück zum Zitat Kazman R, Carriere J (1998) View extraction and view fusion in architectural understanding. In: Proceedings of the fifth international conference on software reuse, pp 290–299 Kazman R, Carriere J (1998) View extraction and view fusion in architectural understanding. In: Proceedings of the fifth international conference on software reuse, pp 290–299
Zurück zum Zitat Kazman R, Carriere SJ (1999) Playing detective: reconstructing software architecture from available evidence. Autom Softw Eng 6(2):107–138CrossRef Kazman R, Carriere SJ (1999) Playing detective: reconstructing software architecture from available evidence. Autom Softw Eng 6(2):107–138CrossRef
Zurück zum Zitat Kazman R, Woods S, Carriere J (1998) Requirements for integrating software architecture and reengineering models: corum ii. In: Proceedings of the 5th IEEE working conference on reverse engineering (WCRE), pp 154–163 Kazman R, Woods S, Carriere J (1998) Requirements for integrating software architecture and reengineering models: corum ii. In: Proceedings of the 5th IEEE working conference on reverse engineering (WCRE), pp 154–163
Zurück zum Zitat Kruchten P (1995) Architectural blueprints – the “ 4 + 1” view model of software architecture. IEEE Softw 12(6) Kruchten P (1995) Architectural blueprints – the “ 4 + 1” view model of software architecture. IEEE Softw 12(6)
Zurück zum Zitat Kruchten P (1995) The 4 + 1 view model of architecture. IEEE Softw 12(6):45–50CrossRef Kruchten P (1995) The 4 + 1 view model of architecture. IEEE Softw 12(6):45–50CrossRef
Zurück zum Zitat Lutellier T, Chollak D, Joshua Garcia LT, Rayside D, Medvidovic N, Kroeger R (2015) Comparing software architecture recovery techniques using accurate dependencies. In: Proceedings of the 2015 international conference on software engineering, ICSE ’15. IEEE Press, Piscataway, NJ, USA Lutellier T, Chollak D, Joshua Garcia LT, Rayside D, Medvidovic N, Kroeger R (2015) Comparing software architecture recovery techniques using accurate dependencies. In: Proceedings of the 2015 international conference on software engineering, ICSE ’15. IEEE Press, Piscataway, NJ, USA
Zurück zum Zitat Medvidovic N, Jakobac V (2006) Using software evolution to focus architectural recovery. Autom Softw Eng 13(32):225–256CrossRef Medvidovic N, Jakobac V (2006) Using software evolution to focus architectural recovery. Autom Softw Eng 13(32):225–256CrossRef
Zurück zum Zitat Murphy GC, Notkin D, Sullivan KJ (2001) Software reflexion models: bridging the gap between design and implementation. IEEE TSE 27(4):364–380 Murphy GC, Notkin D, Sullivan KJ (2001) Software reflexion models: bridging the gap between design and implementation. IEEE TSE 27(4):364–380
Zurück zum Zitat Naur P (1985) Programming as theory building. Microprocessing and Microprogramming 15(5):253–261CrossRef Naur P (1985) Programming as theory building. Microprocessing and Microprogramming 15(5):253–261CrossRef
Zurück zum Zitat Resnik P (1999) Semantic similarity in a taxonomy: an information-based measure and its application to problems of ambiguity in natural language. J Artif Intell Res 11:95–130CrossRef Resnik P (1999) Semantic similarity in a taxonomy: an information-based measure and its application to problems of ambiguity in natural language. J Artif Intell Res 11:95–130CrossRef
Zurück zum Zitat Sarkarati M, Gomez E, Nanni A, Tamburri DA, Bianco A (2008) Round trip engineering for legacy space data systems based on a model driven architecture approach. In: Proceedings of SpaceOps 2008 conference, Heidelberg, Germany, May 12–16, 2008, pp 310–320 Sarkarati M, Gomez E, Nanni A, Tamburri DA, Bianco A (2008) Round trip engineering for legacy space data systems based on a model driven architecture approach. In: Proceedings of SpaceOps 2008 conference, Heidelberg, Germany, May 12–16, 2008, pp 310–320
Zurück zum Zitat Sartipi K, Dezhkam N, Safyallah H (2006) An orchestrated multi-view software architecture reconstruction environment. IEEE Computer Society, Washington, DC, USACrossRef Sartipi K, Dezhkam N, Safyallah H (2006) An orchestrated multi-view software architecture reconstruction environment. IEEE Computer Society, Washington, DC, USACrossRef
Zurück zum Zitat Schmerl B, Garlan D, Kazman R, Yan H (2006) Discovering architectures from running systems. IEEE Trans Softw Eng 32(7):454–466CrossRef Schmerl B, Garlan D, Kazman R, Yan H (2006) Discovering architectures from running systems. IEEE Trans Softw Eng 32(7):454–466CrossRef
Zurück zum Zitat Schreiber C, Carley KM (2004) Going beyond the data: empirical validation leading to grounded theory. Computational & Mathematical Organization Theory 10 (2):155–164CrossRef Schreiber C, Carley KM (2004) Going beyond the data: empirical validation leading to grounded theory. Computational & Mathematical Organization Theory 10 (2):155–164CrossRef
Zurück zum Zitat Silverman D (1997) Validity and credibility in qualitative research. In: Miller G, Dingwall R (eds) Context and method in qualitative research. Sage, Thousand Oaks, CA, pp 13–25 Silverman D (1997) Validity and credibility in qualitative research. In: Miller G, Dingwall R (eds) Context and method in qualitative research. Sage, Thousand Oaks, CA, pp 13–25
Zurück zum Zitat Suddaby R (2006) From the editors: what grounded theory is not. Acad Manag J 49(4):633–642CrossRef Suddaby R (2006) From the editors: what grounded theory is not. Acad Manag J 49(4):633–642CrossRef
Zurück zum Zitat Thomson SB (2011) Sample size and grounded theory. JOAAG, 184–192 Thomson SB (2011) Sample size and grounded theory. JOAAG, 184–192
Zurück zum Zitat van Niekerk JC, Roode JD (2009) Glaserian and straussian grounded theory: similar or completely different?. In: Dwolatzky B, Cohen J, Hazelhurst S (eds) SAICSIT conference, ACM international conference proceeding series, ACM, pp 96–103 van Niekerk JC, Roode JD (2009) Glaserian and straussian grounded theory: similar or completely different?. In: Dwolatzky B, Cohen J, Hazelhurst S (eds) SAICSIT conference, ACM international conference proceeding series, ACM, pp 96–103
Zurück zum Zitat Vasconcelos A, Werner C (2007) Architecture recovery and evaluation aiming at program understanding and reuse. LNCS Springer Vasconcelos A, Werner C (2007) Architecture recovery and evaluation aiming at program understanding and reuse. LNCS Springer
Zurück zum Zitat Wille R (2005) Formal concept analysis as mathematical theory of concepts and concept hierarchies. In: Formal concept analysis, pp 1–33MATH Wille R (2005) Formal concept analysis as mathematical theory of concepts and concept hierarchies. In: Formal concept analysis, pp 1–33MATH
Zurück zum Zitat Xiao L, Cai Y, Kazman R (2014) Titan: a toolset that connects software architecture with quality analysis. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014. https://doi.org/10.1145/2635868.2661677. ACM, New York, NY, USA, pp 763–766 Xiao L, Cai Y, Kazman R (2014) Titan: a toolset that connects software architecture with quality analysis. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014. https://​doi.​org/​10.​1145/​2635868.​2661677. ACM, New York, NY, USA, pp 763–766
Metadaten
Titel
General methods for software architecture recovery: a potential approach and its evaluation
verfasst von
Damian A. Tamburri
Rick Kazman
Publikationsdatum
22.09.2017
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 3/2018
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-017-9543-z

Weitere Artikel der Ausgabe 3/2018

Empirical Software Engineering 3/2018 Zur Ausgabe