skip to main content
article

A categorization of classes based on the visualization of their internal structure: the class blueprint

Authors Info & Claims
Published:01 October 2001Publication History
Skip Abstract Section

Abstract

The reengineering and reverse engineering of software systems is gaining importance in software industry, because the accelerated turnover in software industry, because the accelerated turnover in software companies creates legacy systems in a shorter period of time. Especially understanding classes is a key activity in object-oriented programming, since classes represent the primary abstractions from which applications are built. The main problem of this task is to quickly grasp the purpose of a class and its inner structure. To help the reverse engineers in their first contact with a foreign system, we propose a categorization of classes based on the visualization of their internal structure. The contributions of this paper are a novel categorization of classes and a visualization of the which we call the class blueprint. We have validated the categorization on several case studies, two of which we present here.

References

  1. 1 E. J. Chikofsky and J. H. Cross, II. Reverse engineering and design recovery: A taxonomy. IEEE Software, pages 13-17, Jan. 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 M. Consens and A. Mendelzon. Hy+: A hygraph-based query and visualisation system. In Proceeding of the 1993 ACM SIGMOD International Conference on Management Data, SIGMOD Record Volume 22, No. 2, pages 511-516, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 K. DeHondt. A Novel Approach to Architectural Recovery in Evolving Object-Oriented Systems. PhD thesis, Vrije Universiteit Brussel, 1998.]]Google ScholarGoogle Scholar
  4. 4 S. Demeyer, S. Ducasse, and M. Lanza. A hybrid reverse engineering platform combining metrics and program visualization. In F. Balmas, M. Blaha, and S. Rugaber, editors, Proceedings WCRE'99 (6th Working Conference on Reverse Engineering). IEEE, Oct. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 S. Demeyer, S. Tichelaar, and S. Ducasse. FAMIX 2.1 - the FAMOOS information exchange model. Technical report, University of Berne, 2001. to appear.]]Google ScholarGoogle Scholar
  6. 6 S. Ducasse and M. Lanza. Towards a methodology for the understanding of object-oriented systems. Technique et Science Informatique, 2001. To appear in Techniques et Sciences Informatiques, Edition Speciale Reutilisation.]]Google ScholarGoogle Scholar
  7. 7 S. Ducasse, M. Lanza, and S. Tichelaar. Moose: an extensible language-independent environment for reengineering object-oriented systems. In Proceedings of the Second International Symposium on Constructing Software Engineering Tools (CoSET 2000), June 2000.]]Google ScholarGoogle Scholar
  8. 8 S.G.Eick,J.L.Steffen,andE.E.S.Jr.SeeSoft -A Toolfor Visualizing Line Oriented Software Statistics. IEEE Transactions on Software Engineering, 18(11):957-968, November 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 N. Fenton and S. L. Pfleeger. Software Metrics: A Rigorous and Practical Approach. International Thomson Computer Press, London, UK, second edition, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 D. Flanagan. Java In a Nutshell: 3rd Edition. O'Reilly, 3rd edition, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison Wesley, Reading, MA, 1995.]]Google ScholarGoogle Scholar
  13. 13 B. Henderson-Sellers. Object-Oriented Metrics: Measures of Complexity. Prentice-Hall, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 D. J. Jerding, J. T. Stansko, and T. Ball. Visualizing interactions in program executions. In Proceedings of ICSE'97, pages 360-370, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 R. Kazman and M. Burth. Assessing architectural complexity. Technical report, University of Waterloo, 1995.]]Google ScholarGoogle Scholar
  16. 16 M. F. Kleyn and P. C. Gingrich. Graphtrace - understanding object-oriented systems using concurrently animated views. In Proceedings OOPSLA '88, ACM SIGPLAN Notices, pages 191-205, Nov. 1988. Published as Proceedings OOPSLA '88, ACM SIGPLAN Notices, volume 23, number 11.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 D. B. Lange and Y. Nakamura. Interactive visualization of design patterns can help in framework understanding. In Proceedings of OOPSLA'95, pages 342-357. ACM Press, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 M. Lanza. Combining metrics and graphs for object oriented reverse engineering. Diploma thesis, University of Bern, Oct. 1999.]]Google ScholarGoogle Scholar
  19. 19 M. Lorenz and J. Kidd. Object-Oriented Software Metrics: A Practical Guide. Prentice-Hall, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 H. Muller. Rigi - A Model for Software System Construction, Integration, and Evaluation based on Module Interface Specifications. PhD thesis, Rice University, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 W. D. Pauw, R. Helm, D. Kimelman, and J. Vlissides. Visualizing the behavior of object-oriented systems. In Proceedings OOPSLA '93, ACM SIGPLAN Notices, pages 326-337, Oct. 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 W. D. Pauw and G. Sevitsky. Visualizing reference patterns for solving memory leaks in Java. In R. Guerraoui, editor, Proceedings ECOOP'99, LCNS 1628, pages 116-134, Lisbon, Portugal, June 1999. Springer-Verlag.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23 S. P. Reiss. Interacting with the field environment. Software- Practice and Experience, 20:89-115, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 J. T. Stasko. Tango: A framework and system for algorithm animation. IEEE Computer, 23(9):27-39, September 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 P. Steyaert, C. Lucas, K. Mens, and T. D'Hondt. Reuse contracts: Managing the evolution of reusable assets. In Proceedings of OOPSLA '96 Conference, pages 268-285. ACM Press, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 M.-A. D. Storey and H. A. M~ller. Manipulating and documenting software structures using shrimp views. In Proceedings of the 1995 International Conference on Software Maintenance, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27 C. Ware. Information Visualization. Morgan Kaufmann, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28 N. Wilde and R. Huitt. Maintenance support for object-oriented programs. IEEE Transactions on Software Engineering, SE-18(12):1038-1044, Dec. 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A categorization of classes based on the visualization of their internal structure: the class blueprint

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 36, Issue 11
              11/01/2001
              380 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/504311
              Issue’s Table of Contents
              • cover image ACM Conferences
                OOPSLA '01: Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
                October 2001
                382 pages
                ISBN:1581133359
                DOI:10.1145/504282

              Copyright © 2001 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 October 2001

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader