Skip to main content

Use of Visualization to Aid Object-Oriented Redesign

  • Chapter
Software Visualization

Part of the book series: The Springer International Series in Engineering and Computer Science ((SECS,volume 734))

  • 167 Accesses

Abstract

Object-oriented19 programming has many advantages over the non-objected oriented, such as information hiding, inheritance, polymorphism, and dynamic binding. While conventional languages implement information hiding by procedure20 and abstract data type, OO programming languages extend information hiding by class and object, which allows users only to see what a class lets them see from the outside of a class. When the implementation of a class changes, if the corresponding public methods and their variables remain the same, the changes are limited within the class only. By reducing the degree of interconnectedness between separate elements of a software system, the principle of information hiding helps in the development of reliable software [31]. In conventional languages, abstract data types can be good candidates as the units to be reused. However, there are two problems to this approach. First, the existing abstract data types are not quite right for new use and require at least some modification. Second, almost all abstract data type definitions are independent and at the same level, which often makes it impossible to structure a program to fit the problem space that the program addresses [40]. On the other hand, inheritance in OO languages is a reasonable solution to these two problems. By inheriting, classes can be organized into a hierarchical inheritance tree.

Hereafter, we use OO as the abbreviation for Object-Oriented.

The terms “procedure” and “function” are used interchangeably.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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. H. Agrawal, “Dominators, Super Blocks, and Program Coverage,” Proceedings of the 21 st Symposium on Principles of Programming Languages, pp. 25–34, Portland, OR, January 1994.

    Google Scholar 

  2. Agrawal, J. R. Horgan, J. J. Li, and W. E. Wong, “Mining System Tests to Aid Software Maintenance,” IEEE Computer, 31(7):64–73, July 1998.

    Article  Google Scholar 

  3. T. Budd, “An Introduction to Object-Oriented Programming,” Addison-Wesley, 1991.

    Google Scholar 

  4. Deursen and T. Kuipers, “Finding Classes in Legacy Code Using Cluster Analysis,” ESEC/FSE′97 Workshop on Object-Oriented Reengineering, Zurich, Switzerland, September 1997.

    Google Scholar 

  5. R. Fanta and V. Rajlich, “Reengineering Object-Oriented code,” Proceedings of International Conference on Software Maintenance, Bethesda, Maryland, March 1998.

    Google Scholar 

  6. U. Gleich and T. Kohler, “Tool-support for Reengineering of Object-Oriented Systems,” ESEC/FSE′97 Workshop on Object-Oriented Reengineering, Zurich, Switzerland, September 1997.

    Google Scholar 

  7. N. A. Gonzalez, C. Czarnecki, and S. Pidaparthi, “Migrating Software from Procedural to Object-Oriented Architecture,” Proceedings of International Conference on Systems, Man and Cybernetics, pp. 4872–4877, San Diego, CA, October 1998.

    Google Scholar 

  8. J. R. Horgan and S. A. London, “Data Flow Coverage and the C Language,” Proceedings of the 4th Symposium on Software Testing, Analysis, and Verification, pp. 87–97, Victoria, British Columbia, Canada. October 1991.

    Google Scholar 

  9. J. J. Li and W. E. Wong, “Automatic Test Generation from Communicating Extended Finite State Machine (CEFSM)-Based Models,” Proceedings of the 5 th International Symposium on Object-Oriented Real-Time Distributed Computing, pp. 181–185, Washington D. C, May 2002.

    Google Scholar 

  10. J. Martin and H. A. Muller, “C to Java Migration Experiences,” Proceedings of the 6 th European Conference on Software Maintenance and Reengineering, pp. 143–153, Budapest, Hungary, March 2002.

    Google Scholar 

  11. W. J. Park, S. Y. Min and D. H. Bae, “Object-Oriented Model Refinement Technique in Software Reengineering,” Proceedings of the 22 nd International Computer Software and Applications Conference, pp. 32–38, Vienna, Austria, August 1998.

    Google Scholar 

  12. R. W. Sebesta, “Concepts of Programming Languages,” Addison Wesley, 2002.

    Google Scholar 

  13. G. Trausmuth and R. Knor, “Reengineering of C/C++ Programs using Generic Components,” ESEC/FSE′97 Workshop on Object-Oriented Reengineering, Zurich, Switzerland, September 1997.

    Google Scholar 

  14. “χSuds User’s Manual,” Telcordia Technologies, Morristown, New Jersey, 1998.

    Google Scholar 

  15. N. Wilde and M. S. Scully, “Software Reconnaissance: Mapping Program Features to Code,” Software Maintenance: Research and Practice, 7(l):49–62, January 1995.

    Article  Google Scholar 

  16. K. Wong, “The Rigi User’s Manual - Version 5.4.4,” Department of Computer Science, University of Victoria, Canada, June 1998.

    Google Scholar 

  17. W. E. Wong, S. S. Gokhale, J. R. Horgan, and K. S. Trivedi, “Locating Program Features using Execution Slices,” Proceedings of Symposium on Application-Specific Systems and Software Engineering Technology, Richardson, Texas, March, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer Science+Business Media New York

About this chapter

Cite this chapter

Wong, W.E., Li, J. (2003). Use of Visualization to Aid Object-Oriented Redesign. 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_13

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-0457-3_13

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-5086-6

  • Online ISBN: 978-1-4615-0457-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics