Skip to main content

Software Architecture Recovery Process Based on Object-Oriented Source Code and Documentation

  • Conference paper

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

Abstract

Architecture recovery aims at providing a high level abstraction of a system using the architectural elements to represent functionalities and interactions. This architecture makes easier the program comprehension and then provides many advantages during all the phases of software life cycle. Nevertheless, most architecture recovery approaches fail to combine the human expertise on the system with a high automation level. In order to solve this issue, we propose to use the intentional architecture of a system, which represent the system as imagined by its designers, to improve the adequation between the resulting software architecture and the architect’s expectations without requiring more human expertise. Thus, we present in this paper a semi-automatic process to recover intentional architecture from the available documentation and the expert recommendations. This process is an extension of ROMANTIC, an approach aiming at recovering a component-based architecture of an existing object-oriented system.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Garlan, D.: Software architecture: a roadmap. In: ICSE 2000, pp. 91–101. ACM, New York (2000)

    Google Scholar 

  2. Garlan, D., Perry, D.: Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering 21(4), 269–274 (1995)

    Google Scholar 

  3. Koschke, R.: Atomic Architectural Component Recovery for Program Understanding and Evolution. PhD thesis, University of Stuttgart (2000)

    Google Scholar 

  4. Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D.: Extraction of component-based architecture from object-oriented systems. In: WICSA, pp. 285–288. IEEE ComputerSociety, Los Alamitos (2008)

    Google Scholar 

  5. Harman, M.: The current state and future of search based software engineering. IEEE Future of Software Engineering, 342–357 (2007)

    Google Scholar 

  6. Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D.: Search-based extraction of component-based architecture from object-oriented systems. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 322–325. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Chardigny, S., Seriai, A., Tamzalit, D., Oussalah, M.: Quality-driven extraction of a component-based architecture from an object-oriented system. In: CSMR, IEEE, pp. 269–273 (2008)

    Google Scholar 

  8. ISO: ISO 9126-1 Software Engineering - Product Quality - Part 1: Quality Model. International Organization for Standardization (2001)

    Google Scholar 

  9. Laarhoven, P.J.M., Aarts, E.H.L. (eds.): Simulated annealing: theory and applications. Kluwer Academic Publishers, Norwell (1987)

    MATH  Google Scholar 

  10. Riva, C., Selonen, P., Systa, T., Xu, J.: Uml-based reverse engineering and model analysis approaches for software architecture maintenance. In: ICSM 2004, pp. 50–59. IEEE Computer Society, Washington (2004)

    Google Scholar 

  11. de Boer, R.C., van Vliet, H.: Architectural knowledge discovery with latent semantic analysis: Constructing a reading guide for software product audits. J. Syst. Softw. 81(9), 1456–1469 (2008)

    Article  Google Scholar 

  12. Harris, D.R., Reubenstein, H.B., Yeh, A.S.: Reverse engineering to the architectural level. In: Proc. of ICSE, pp. 186–195. ACM, New York (1995)

    Google Scholar 

  13. Medvidovic, N., Jakobac, V.: Using software evolution to focus architectural recovery. Automated Software Engg. 13(2), 225–256 (2006)

    Article  Google Scholar 

  14. Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: Engineering of Complex Computer Systems ICECCS 1998, pp. 68–78 (1998)

    Google Scholar 

  15. Mancoridis, S., Mitchell, B.S., Chen, Y.F., Gansner, E.R.: Bunch: A clustering tool for the recovery and maintenance of software system structures. In: ICSM, p. 50 (1999)

    Google Scholar 

  16. van der Spek, P., Klusener, S., van de Laar, P.: Towards recovering architectural concepts using latent semantic indexing. In: CSMR 2008, pp. 253–257. IEEE Computer Society, Los Alamitos (2008)

    Google Scholar 

  17. Beyer, D.: Clustering software artifacts based on frequent common changes. In: IWPC, IEEE, pp. 259–268 (2005)

    Google Scholar 

  18. Johnson, S.: Hierarchical clustering schemes. Psychometrika 32, 241–245 (1967)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chardigny, S., Seriai, A. (2010). Software Architecture Recovery Process Based on Object-Oriented Source Code and Documentation. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_35

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15114-9_35

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15113-2

  • Online ISBN: 978-3-642-15114-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics