Skip to main content

An Iterative Framework for Software Architecture Recovery: An Experience Report

  • Conference paper
Software Architecture (ECSA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5292))

Included in the following conference series:

Abstract

Both architecture recovery and architecture evaluation play an important role in the area of software reverse-engineering. In this paper, we propose and evaluate a framework for incremental and iterative application of automated architecture recovery (using SWAG Kit) and architecture analysis (using SAAM.) We conclude that SWAG Kit helps in generating a low-level architecture that forms the basis of analysis, while SAAM helps in deriving from this a deeply understood conceptual architecture. The process is iterative, where SAAM analysis helps refine the parameters fed to SWAG Kit, in turn leading to a superior architecture for further analysis. We have applied this process to the extraction of the architectures of three open source compression tools, and we report on the strengths and weaknesses of the approach that this case study exposed. Over all, we conclude that the framework allowed us to understand the software architectures more deeply than would have been possible with the software architecture recovery process alone.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Abowd, G., Bass, L., Clements, P., Kazman, R., Northrop, L., Zaremski, A.: Recommended Best Industrial Practice for Software Architecture Evaluation (CMU/SEI-96-TR-025) (1996)

    Google Scholar 

  2. Babar, M.A., Zhu, L., Jefery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: Australian Software engineering, pp. 309–318. IEEE CS, Washington (2004)

    Chapter  Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, Reading (1998)

    Google Scholar 

  4. Bergner, K., Rausch, A., Sihling, M., Ternité, T.: DoSAM - Domain-Specific Software Architecture Comparison Model. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds.) QoSA 2005 and SOQUA 2005. LNCS, vol. 3712, pp. 4–20. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Bosch, J., Molin, P.: Software architecture design: Evaluation and transformation. In: Engineering of Computer Based Systems Symposium, pp. 4–10. IEEE CS, Los Alamitos (1999)

    Google Scholar 

  6. Ivan, T.B., Holt, R.C.: Software Architecture Recovery Using Conway’s Law. In: Centre for Advanced Studies Conference, pp. 123–133. IBM Press, Toronto (1998)

    Google Scholar 

  7. Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley Professional, Reading (2002)

    Google Scholar 

  8. Dobrica, L., Niemela, E.: A Survey on Software Architecture Analysis Methods. IEEE Transactions on Software Engineering 28, 638–653 (2002)

    Article  Google Scholar 

  9. Eixelsberger, W.: Recovery of a Reference Architecture: A case study. In: 3rd International Software Architecture Workshop, pp. 105–108. ACM, New York (1998)

    Google Scholar 

  10. Graaf, B., Dijk, H.v.: Evaluating an Embedded Software Reference Architecture. In: 9th European Conference on Software Maintenance and Reengineering, pp. 354–363. IEEE CS, Washington (2005)

    Chapter  Google Scholar 

  11. Garlan, D.: Software Architecture: A Roadmap. In: The Future of Software Engineering, pp. 93–101. ACM, New York (2000)

    Google Scholar 

  12. Globus, http://www.globus.org/

  13. Gronbaek, K., Wiil, U.K.: Towards a Reference Architecture for Open Hypermedia, http://www.aue.aau.dk/~kock/OHS-HT97/Papers/gronbak.html

  14. Guo, G.Y., Atlee, J.M., Kazman, R.: A Software Architecture Reconstruction Method. In: Working IFIP Conference on Software Architecture, pp. 15–34. Kluwer B.V., Deventer (1998)

    Google Scholar 

  15. GZip, http://www.gzip.org/

  16. Kazman, R., Abowd, G., Webb, M.: SAAM: A Method for Analyzing the Properties of Software Architectures. In: 16th International Conference on Software Engineering, pp. 81–90. IEEE CS, Los Alamitos (1994)

    Chapter  Google Scholar 

  17. Kazman, R., Carriére, S.J.: Playing Detective: Reconstructing Software Architecture from Available Evidence. Automated Software Engineering 6, 107–138 (1999)

    Article  Google Scholar 

  18. OODT, http://oodt.jpl.nasa.gov/oodt-site/

  19. Lutz, R., Gannod, G.C.: Analysis of a software product line architecture: an experience report. The Journal of Systems and Software 66, 253–267 (2003)

    Article  Google Scholar 

  20. Matinlassi, M.: Evaluating the Portability and Maintainability of Software Product Family Architecture: Terminal Software Case Study. In: 4th Working IEEE/IFIP Conference on Software Architecture, pp. 295–298. IEEE CS, Wasington (2004)

    Chapter  Google Scholar 

  21. Medvidovic, N., Jakobac, V.: Using Software Evolution to Focus Architectural Recovery. Automated Software Engineering 13, 225–256 (2006)

    Article  Google Scholar 

  22. Mendonca, N.C., Kramer, J.: An Approach for Recovering Distributed System Architectures. Automated Software Engineering Journal 8, 311–354 (2001)

    Article  MATH  Google Scholar 

  23. Monroe, R.T., Kompanek, A., Melton, R., Garlan, D.: Architectural Styles, Design Patterns, and Objects. IEEE Software 15, 43–52 (1997)

    Article  Google Scholar 

  24. Murphy, G.C., Notkin, D., Griswold, W.G., Lan, E.S.: An empirical study of static call graph extractors. In: 18th International Conference on Software Engineering, pp. 158–191. ACM, New York (1996)

    Google Scholar 

  25. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. In: Software Engineering Notes. ACM Sigsoft, vol. 17, pp. 40–52. ACM, New York (1992)

    Google Scholar 

  26. Pinzger, M., Gall, H., Girard, J.F., Knodel, J., Riva, C., Pasman, W., Broerse, C., Wijnstra, J.G.: Architecture Recovery for Product Families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 332–351. Springer, Heidelberg (2004)

    Google Scholar 

  27. Rigi, http://www.rigi.csc.uvic.ca/

  28. Roy, B., Graham, T.C.N.: Methods for Evaluating Software Architecture: A Survey, p. 82, School of Computing TR 2008-545, Queen’s University (2008), http://www.cs.queensu.ca/TechReports/reports2008.html

  29. Shrimp, http://www.thechiselgroup.org/shrimp

  30. SWAG Kit: Software Architecture Group, http://www.swag.uwaterloo.ca/SWAGKit/

  31. ZDelta, http://cis.poly.edu/ZDelta/

  32. ZLib, http://www.zlib.net/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ron Morrison Dharini Balasubramaniam Katrina Falkner

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Roy, B., Graham, T.C.N. (2008). An Iterative Framework for Software Architecture Recovery: An Experience Report. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds) Software Architecture. ECSA 2008. Lecture Notes in Computer Science, vol 5292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88030-1_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88030-1_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88029-5

  • Online ISBN: 978-3-540-88030-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics