10.1145/379605.379633acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedings
Article

Contextual def-use associations for object aggregation

ABSTRACT

This paper presents a novel formulation of definitions, uses, and def-use associations for objects in object-oriented programs by exploiting the relations that occur between classes and their instantiated objects due to aggregation. Contextual def-use associations are computed by generating a partial call sequence for each def and use based on object aggregation relations. By extending an escape points-to graph representation of the program, we have developed and implemented three strategies for achieving different levels of context for contextual def-use associations. Our experiments reveal that with all three strategies, multiple unique contextual def-use associations related to the same traditional (context-free) association are often generated. Contextual def-use associations are particularly useful for increasing test coverage and focusing the testing on critical method invocation sequences of object-oriented programs.

References

  1. 1.Roger Alexander and A. Jefferson Offutt. Analysis techniques for testing polymorphic relationships. In TOOLS USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Mei-Hwa Chen andHoward M. Kao. Testing object-oriented programs - an integrated approach. In International Symposium on Software Reliability Engineering, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Mary Jean Harrold and Mary Lou Soffa. Efficient computation of interprocedural definition-use chains. ACM Transactions on Programming Languages and Systems, 16(2):175-204, March 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M.J. Harrold and G. Rothermel. Performing Data Flow Testing on Classes. In Proceedings of the Symposium on the Foundations of Software Engineering, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.M. Rinard et. al. FLEX. www. ex-compiler.lcs.mit.edu, 2000.Google ScholarGoogle Scholar
  6. 6.John D. McGregor, Brian A. Malloy, and Rebecca L. Siegmund. A Comprehensible Program Representation of Object-Oriented Software. Annals of Software Engineering, 1996.Google ScholarGoogle Scholar
  7. 7.A. Orso. Integration Testing of Object-Oriented Software. PhD thesis, Politecnico Di Milano, 1999.Google ScholarGoogle Scholar
  8. 8.S. Rapps and E. Weyuker. Selecting Software Test Data Using Data Flow Information. IEEE Transactions on Software Engineering, 11(4):367-375, April 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.A. Souter and L. Pollock. OMEN: A Strategy for Testing Object-Oriented Software. In Proceedings of the International Symposium on Software Testing and Analysis, August 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.A. Souter, L. Pollock, and Dixie Hisley. Inter-class Def-Use Analysis with Partial Class Representations. In Proceedings of the ACM Workshop on Program Analysis For Software Tools and Engineering, September 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.J. Whaley and M. Rinard. Compositional Pointer and Escape Analysis for Java Programs. In Proceedings of OOPSLA, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Contextual def-use associations for object aggregation

          Comments

          Login options

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

          Sign in

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!