Skip to main content

Static Analysis Based Software Architecture Recovery

  • Conference paper
Computational Science and Its Applications - ICCSA 2006 (ICCSA 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3982))

Included in the following conference series:

Abstract

Recover the software architectures is a key step in the reengineering legacy (procedural) programs into an object-oriented platform. Identifying, extracting and reengineering software architectures that implement abstractions within existing systems is a promising cost-effective way to create reusable assets and reengineer legacy systems. We introduce a new approach to recover software architectures in legacy systems. The approach described in this paper concentrate especially on how to find software architectures and on how to establish the relationships of the identified software components. This paper summarizes our experiences with using computer-supported methods to facilitate the reuse of the software architectures of the legacy systems by recovering the behavior of the systems using systematic methods, and illustrate their use in the context of the Janus System.

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 139.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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. Favre, J., Sanlaville, R.: Continuous Discovery of Software Architecture in a Large Evolving Company. In: Workshop on Software Architecture Reconstruction, the Working Conference on Reverse Engineering (2002)

    Google Scholar 

  2. Hall, P.: Architecture-driven Component Reuse. Information and Software Technology 41(14) (1999)

    Google Scholar 

  3. Gall, H., Klösch, R., Mittermeir, R.: Application Patterns in Reengineering: Identifying and Using Reusable Concepts. In: Proceedings of the 5th International Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems, Granada, Spain (1996)

    Google Scholar 

  4. Ali, F., Du, W.: Toward reuse of object-oriented software design models. Information and Software Technology 46(8) (2004)

    Google Scholar 

  5. Hakala, K., Hautamäki, J., Koskimies, K.: Annotating Reusable Software Architectures with Specialization Patterns. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (2001)

    Google Scholar 

  6. Guo, J.: Towards Semi-Automatically Reusing Objects from Legacy Systems. International Journal of Computers and Their Applications 11(3) (2004)

    Google Scholar 

  7. Goseva-Popstojanova, K., Trivedi, K.: Architecture-Based Approaches to Software Reliability Prediction. Computers and Mathematics with Applications 46 (2003)

    Google Scholar 

  8. Svetinovic, D., Godfrey, M.: A Lightweight Architecture Recovery Process. Software Architecture Recovery and Modelling, Stuttgart, Germany (2001)

    Google Scholar 

  9. Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: Australian Software Engineering Conference, Melbourne (2004)

    Google Scholar 

  10. Pinzger, M., Gall, H.: Pattern-Supported Architecture Recovery. In: Proceedings of 10th International Workshop on Program Comprehension. IEEE Computer Society Press, Paris (2002)

    Google Scholar 

  11. Kazman, R., Carriere, S.: View Extraction and View Fusion in Architectural Understanding. In: Prococeedings of the 5th International Conference on Software Reuse, Victoria, BC, Canada (1998)

    Google Scholar 

  12. Fiutem, R., Tonella, A., Antoniol, G., Merlo, E.: A Cliché-based Environment to Support Architectural Reverse Engineering. In: Proceedings of the International Conference on Software Maintenance, Monterey, California (1996)

    Google Scholar 

  13. Harris, D., Reubenstein, H., Yeh, A.: Reverse Engineering to the Architectural Level. In: Proceedings of the 17th International Conference on Software Engineering, Seattle, Washington (1995)

    Google Scholar 

  14. Guo, G., Atlee, J., Kazman, R.: A Software Architecture Reconstruction method. In: Proceedings of the 1st Working IFIP Conference on Software Architecture, San Antonio, Texas (1999)

    Google Scholar 

  15. Sartipi, K., Kontogiannis, K., Mavaddat, F.: A Pattern Matching Framework for Software Architecture Recovery and Restructuring. In: Proceedings of the 8th International Workshop on Program Comprehension, Limerick, Ireland (2000)

    Google Scholar 

  16. Dijsktra, E.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)

    Google Scholar 

  17. Boehm, C., Jacopini, G.: Flow Diagrams, Turing Machines, and Languages with only Two Formation Rules. Communications of the ACM 9(5) (1966)

    Google Scholar 

  18. Atkinson, D., Griswold, W.: Implementation Techniques for Efficient Data-flow Analysis of Large Programs. In: Proceedings of the International Conference on Software Maintenance (2001)

    Google Scholar 

  19. Carriére, S., Woods, S., Kazman, R.: Software Architectural Transformation. In: Proceedings of 6th Working Conference on Reverse Engineering, Atlanta, Georgia (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guo, J., Liao, Y., Pamula, R. (2006). Static Analysis Based Software Architecture Recovery. In: Gavrilova, M., et al. Computational Science and Its Applications - ICCSA 2006. ICCSA 2006. Lecture Notes in Computer Science, vol 3982. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11751595_102

Download citation

  • DOI: https://doi.org/10.1007/11751595_102

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34075-1

  • Online ISBN: 978-3-540-34076-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics