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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Hall, P.: Architecture-driven Component Reuse. Information and Software Technology 41(14) (1999)
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)
Ali, F., Du, W.: Toward reuse of object-oriented software design models. Information and Software Technology 46(8) (2004)
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)
Guo, J.: Towards Semi-Automatically Reusing Objects from Legacy Systems. International Journal of Computers and Their Applications 11(3) (2004)
Goseva-Popstojanova, K., Trivedi, K.: Architecture-Based Approaches to Software Reliability Prediction. Computers and Mathematics with Applications 46 (2003)
Svetinovic, D., Godfrey, M.: A Lightweight Architecture Recovery Process. Software Architecture Recovery and Modelling, Stuttgart, Germany (2001)
Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: Australian Software Engineering Conference, Melbourne (2004)
Pinzger, M., Gall, H.: Pattern-Supported Architecture Recovery. In: Proceedings of 10th International Workshop on Program Comprehension. IEEE Computer Society Press, Paris (2002)
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)
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)
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)
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)
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)
Dijsktra, E.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)
Boehm, C., Jacopini, G.: Flow Diagrams, Turing Machines, and Languages with only Two Formation Rules. Communications of the ACM 9(5) (1966)
Atkinson, D., Griswold, W.: Implementation Techniques for Efficient Data-flow Analysis of Large Programs. In: Proceedings of the International Conference on Software Maintenance (2001)
Carriére, S., Woods, S., Kazman, R.: Software Architectural Transformation. In: Proceedings of 6th Working Conference on Reverse Engineering, Atlanta, Georgia (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)