Skip to main content

Architecture Recovery and Evaluation Aiming at Program Understanding and Reuse

  • Conference paper
Software Architectures, Components, and Applications (QoSA 2007)

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

Included in the following conference series:

Abstract

Organizations use to have implemented systems that represent a large effort and budget invested in the past. These systems are evolved and adapted over time in order to accommodate technological and business changes. Moreover, big companies often develop similar systems within the same domain. This has been motivating them to migrate to reuse approaches, such as domain engineering and product line. However, existing systems in general don’t have up-to-date architectural documentation that can help in their maintenance and reuse. Considering this scenario, this paper presents an approach to architecture recovery and evaluation that aims at extracting knowledge from existing systems to help in their understanding and reuse. This extracted knowledge is represented through a recovered application architectural model composed by architectural elements that represent domain concepts traced to implemented functional requirements, which may help in generating reusable artifacts. In order to evaluate the approach feasibility, an experimental study was performed.

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, R., Srikant, R.: Fast Algorithms for Mining Association Rules. In: 20th Very Large Databases Conference, Santiago Chile, pp. 487–499 (1994)

    Google Scholar 

  2. Anquetil, N., Fourrier, C., Lethbridge, T.C.: Experiments with Hierarchical Clustering Algorithms as Software Remodularization Methods. In: Working Conference on Reverse Engineering, Pittsburgh PA USA, pp. 235–255 (1999)

    Google Scholar 

  3. Anquetil, N., Lethbridge, T.: Recovering Software Architecture from the Names of Source Files. Journal of Software Maintenance: Research and Practice 11, 201–221 (1999)

    Article  Google Scholar 

  4. Aspectj: Eclipse Project, AspectJ 1.5.3. (2007), http://eclipse.org/aspectj/

  5. Barcelos, R., Travassos, G.H.: Evaluation Approaches for Software Architectural Documents: A Systematic Review. In: Ideas 2006 - 9º Workshop Iberoamericano de Ingenieria de Requisitos y Ambientes de Software, La Plata Argentina, vol. 1, pp. 433–446 (2006)

    Google Scholar 

  6. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)

    Google Scholar 

  7. Bojic, D., Velasevic, D.: A Use-Case Driven Method of Architecture Recovery for Program Understanding and Reuse Reengineering. In: 4th European Software Maintenance and Reengineering Conference. Zuriq Swiss, pp. 23–31 (2000)

    Google Scholar 

  8. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 1st edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  9. Deursen, A.V., Hofmeister, C., Koschke, R., Moonen, L., Riva, C.: Symphony: View-Driven Software Architecture Reconstruction. In: Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004). Oslo Norway, pp. 122–132 (2004)

    Google Scholar 

  10. Duenas, J.C., De Oliveira, W.L., De La Puente, J.A.: A Software Architecture Evaluation Model. In: 2nd International ESPRIT ARES Workshop, Las Palmas de Gran Canaria Spain, pp. 148–157 (1998)

    Google Scholar 

  11. Fagan, M.E.: Design and Code Inspection to Reduce Errors in Program Development. IBM Systems Journal 15(3), 182–211 (1976)

    Article  Google Scholar 

  12. Kazman, R., Bass, L., Abowd, G., Webb, M.: SAAM: A Method for Analyzing the Properties of Software Architectures. In: International Conference on Software Engineering (ICSE). Sorrento Italy, pp. 81–90 (1994)

    Google Scholar 

  13. Kazman, R., Carrière, S.J.: Playing Detective: Reconstructing Software Architecture from Available Evidence. Technical Report CMU/SEI-97-TR-010. Pittsburgh PA USA (1997)

    Google Scholar 

  14. Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation. Technical Report CMU/SEI-2000-TR-004 CMU/SEI. Pittsburgh PA USA (2000)

    Google Scholar 

  15. Lima, M.J.D., Ururahy, C., Moura, A., Melcop, T., Cassino, C., Nery, M., Silvestre, B., Reis, V., Cerqueira, R.: CSBase: A Framework for Building Customized Grid Environments. In: Third International Workshop on Emerging Technologies for Next-generation GRID (ETNGRID 2006), Manchester Reino Unido, pp. 187–192 (2006)

    Google Scholar 

  16. Mitchell, B.S., Mancoridis, S.: On the Automatic Modularization of Software Systems Using the Bunch Tool. IEEE Transactions on Software Engineering 32(3), 193–208 (2006)

    Article  Google Scholar 

  17. Murta, L.G.P., Van Der Hoek, A., Werner, C.M.L.: ArchTrace: Policy-Based Support for Managing Evolving Architecture-to-Implementation Traceability Links. In: International Conference on Automated Software Engineering (ASE), Tokyo Japan, pp. 135–144 (2006)

    Google Scholar 

  18. Odyssey.: Software Reuse Environment based on Domain Engineering (2007), http://reuse.cos.ufrj.br/odyssey

  19. Sametinger, J.: Software Engineering with Reusable Components. Springer, New York (1997)

    Book  MATH  Google Scholar 

  20. Sartipi, K.: Software Architecture Recovery based on Pattern Matching. In: International Conference on Software Maintenance, Amsterdam the Netherlands, pp. 293–296 (2003)

    Google Scholar 

  21. Schmerl, B., Aldrich, J., Garlan, D., Kazman, R., Yan, H.: Discovering Architectures from Running Systems. IEEE Transactions on Software Engineering 32(7), 454–466 (2006)

    Article  Google Scholar 

  22. Tzerpos, V.: Comprehension-Driven Software Clustering. PhD Thesis. Department of Computer Science University of Toronto (2001)

    Google Scholar 

  23. Vasconcelos, A.P.V., Cepêda, R.S.V., Werner, C.M.L.: An Approach to Program Comprehension through Reverse Engineering of Complementary Software Views. In: 1st International Workshop on Program Comprehension through Dynamic Analysis, Pittsburgh PA USA, pp. 58–62 (2005)

    Google Scholar 

  24. Vasconcelos, A.P.V., Werner, C.M.L.: Towards a set of Application Independent Clustering Criteria within an Architecture Recovery Approach. In: 5th IEEE/IFIP Working Conference on Software Architecture - Software Architecture Evaluation and Analysis Working Session, Pittsburgh PA USA, pp. 235–236 (2005)

    Google Scholar 

  25. Vitharana, P., Jain, H., Zahedi, F.M.: Strategy-Based Design of Reusable Business Components. IEEE Transactions on Systems, Man, and Cybernetics – Part C: Applications and Reviews 34(4), 460–474 (2004)

    Article  Google Scholar 

  26. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Boston (2000)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vasconcelos, A., Werner, C. (2007). Architecture Recovery and Evaluation Aiming at Program Understanding and Reuse. In: Overhage, S., Szyperski, C.A., Reussner, R., Stafford, J.A. (eds) Software Architectures, Components, and Applications. QoSA 2007. Lecture Notes in Computer Science, vol 4880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77619-2_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77619-2_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77617-8

  • Online ISBN: 978-3-540-77619-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics