Abstract
Understanding the architecture of a legacy system is essential for the further development, the maintenance and the re-engineering of this system. Unfortunately, architecture is hardly documented in such systems. The only trustworthy source of information is the system implementation. Hence, the architecture has to be retrieved from this source. As real world legacy systems tend to be large, the source code cannot be read directly. Instead, we propose to use (semi-)automatic program analyses to extract the information.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Ball, T. and S. G. Erick (1996), “Software Visualization in the Large”, IEEE Computer 29, 4, 33–43.
Bär, H., M. Bauer, O. Ciupke, S. Demeyer, S. Ducasse, M. Lanza, R. Marinescu, R. Nebbe, O. Nierstrasz, T. Richner, M. Rieger, C. Riva, A.-M. Sassen, B. Schulz, P. Steyaert, S. Tichelaar, and J. Weisbrod (1999), “The FAMOOS Object-Oriented Reengineering Handbook”, Technical report, Forschungszentrum Informatik, Karlsruhe, Software Composition Group, University of Berne, ESPRIT Program Project 21975.
Bass, L., P. Clements, and R. Kazman (1998), Software Architecture in Practice, Addison Wesley.
Brown, K. (1997), “Design Reverse-Engineering and Automated Design Pattern Detection in Smalltalk”, Master Thesis, http://www2.ncsu.edu/eos/info/tasug/kbrown/thesis2.htm.
Brown, W. J., R. C. Malveau, H. W. S. McCormick III, and T. J. Mowbray (1998), AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, John Wiley, New York, NY.
Carriere, S. J., S. G. Woods, and R. Kazman (1999), “Software Architectural Transformation”, In Proceedings of the 6th Working Conference on Reverse Engineering 1999.
Chidamber, S. R. and C. F. Kemerer (1994), “A Metric Suite for Object-Oriented Design”, IEEE Transactions on Software Engineering 20, 6, 476–493.
8. Ciupke, O. (1999), “Automatic Detection of Design Problems in Object-Oriented Reengineering”, In Technology of Object-Oriented Languages and Systems — TOOLS 30, IEEE Computer Society, pp. 18–32.
Demeyer, S., S. Ducasse, and M. Lanza (1999), “A Hybrid Reverse Engineering Approach Combining Metrics and Program Visualization”, In Proceedings: Sixth Working Conference on Reverse Engineering, IEEE Computer Society Press, pp. 175–186.
Eisenbarth, T., R. Koschke, and D. Simon (2001), “Aiding Program Comprehension by Static and Dynamic Feature Analysis”, In Proceedings of the International Conference on Software Maintenance, IEEE Computer Society Press.
Gamma, E., R. Helm, R. Johnson, and J. Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, Addison-Wesley Publishing Company, New York, NY.
Garlan, D. and M. Shaw (1993), “An Introduction to Software Architecture”, In Advances in Software Engineering and Knowledge Engineering, V. Ambriola and G. Tortora, Eds., Vol. 1, World Scientific Publishing Company, Singapore, pp. 1–40.
Girard, J.-F. and R. Koschke (1997), “Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding”, In Proc. of the International Conference on Software Maintenance — ICSM ′97.
Heuzeroth, D., T. Holl, and W. Löwe (2002), “Combining Static and Dynamic Analyses to Detect Interaction Patterns”, In Proceedings of the Sixth International Conference on Integrated Design and Process Technology (IDPT).
Heuzeroth, D., W. Löwe, A. Ludwig, and U. Aßmann (2001), “Aspect-Oriented Configuration and Adaptation of Component Communication”, In Third International Conference on Generative and Component-Based Software Engineering, GCSE, J. Bosch, Ed., Springer, LNCS 2186, p. 58 ff.
IBM (2000), “JInsight”, http://www.research.ibm.com/jinsight.
Keller, R. K., R. Schauer, S. Robitaille, and P. Page (1999), “Pattern-Based Reverse-Engineering of Design Components, In International Conference on Software Engineering, pp. 226–235.
Kleyn, M. F. and P. C. Gingrich (1988), “GraphTrace — Understanding Object-Oriented Systems Using Concurrently Animated Views”, In OOPSLA′88: Object-Oriented Programming Systems, Languages and Applications: Conference Proceedings, N. Meyrowitz, Ed., pp. 191–205.
Koschke, R. (2000), “Atomic Architectural Component Recovery for Program Understanding and Evolution”, Ph.D. thesis, Institute for Computer Science, University of Stuttgart.
Koskimies, K. and H. Mössenböck (1996), “Scene: Using Scenario Diagrams and Active Text for Illustrating Object-Oriented Programs”, In Proceedings of the 18th International Conference on Software Engineering, IEEE Computer Society Press/ACM Press, pp. 366–375.
Löwe, W. (2002), “VizzEditor, VizzScheduler, and VizzAnalyzer”, http://www.msi.vxu.se/~vizz.
Löwe, W. and A. Liebrich (2001), “VizzScheduler — A Framework for the Visualization of Scheduling Algorithms”, In Euro-Par 2001, Springer, LNCS 2150, p. 62 ff.
Luckham, D. C., J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, and W. Mann (1995), “Specification and Analysis of System Architecture Using Rapide”, IEEE Transactions on Software Engineering 21, 4.
Ludwig, A., R. Neumann, U. Aßmann, and D. Heuzeroth (2001), “RECODER Homepage”, http://recoder.sf.net.
Melton, R. (2002), The Aesop System: A Tutorial, School of Computer Science Carnegie Mellon University, http://www-2.cs.cmu.edu/~able/aesop/aesop_home.html.
Pauw, W. D., R. Helm, D. Kimelman, and J. Vlissides (1993), “Visualizing the Behavior of Object-Oriented Systems”, In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 326–337.
Prechelt, L. and C. Krämer (1998), “Functionality versus Practicality: Employing Existing Tools for Recovering Structural Design Patterns”, J.UCS: Journal of Universal Computer Science 4, 12, 866ff.
Price, B., R. Baecker, and I. Small (1998), “An Introduction to Software Visualization”, In Stasko, Domingue, Brown, Price (eds.) — Software Visualization: Programming as a Multimedia Experience, pp. 3–28.
Schwind, A. (2000), “Visualisierung von Strukturen in Softwaresystemen”, Diplomarbeit, Universität Karlsruhe, Fakultät für Informatik.
Shaw, DeLine, and Zelesnik (1996), “Abstraction and Implementations for Architectural Connections”, In 3rd International Conference on Configurable Distributed Systems (ICCDS ′96).
Shaw, M. and D. Garlan (1996), Software Architecture in Practice — Perspectives on an Emerging Discipline, Prentice Hall.
Sun Mircosystems (2001), “Java Platform Debugger Architecture”, http://java.sun.com/products/jpda/.
TogetherSoft (2000), http://www.togethersoft.com.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
Heuzeroth, D., Löwe, W. (2003). Understanding Architecture through Structure and Behavior Visualization. In: Zhang, K. (eds) Software Visualization. The Springer International Series in Engineering and Computer Science, vol 734. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-0457-3_9
Download citation
DOI: https://doi.org/10.1007/978-1-4615-0457-3_9
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-5086-6
Online ISBN: 978-1-4615-0457-3
eBook Packages: Springer Book Archive