This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Construction of Contextual Def-Use Associations for Object-Oriented Systems
November 2003 (vol. 29 no. 11)
pp. 1005-1018
Amie L. Souter, IEEE Computer Society
Lori L. Pollock, IEEE Computer Society

Abstract—This paper describes a program representation and algorithms for realizing a novel structural testing methodology that not only focuses on addressing the complex features of object-oriented languages, but also incorporates the structure of object-oriented software into the approach. The testing methodology is based on the construction of contextual def-use associations, which provide context to each definition and use of an object. Testing based on contextual def-use associations can provide increased test coverage by identifying multiple unique contextual def-use associations for the same context-free association. Such a testing methodology promotes more thorough and focused testing of the manipulation of objects in object-oriented programs. This paper presents a technique for the construction of contextual def-use associations, as well as detailed examples illustrating their construction, an analysis of the cost of constructing contextual def-use associations with this approach, and a description of a prototype testing tool that shows how the theoretical contributions of this work can be useful for structural test coverage.

[1] R. Alexander and A.J. Offutt, Analysis Techniques for Testing Polymorphic Relationships Proc. Int'l Conf. Exhibition on Technology of Object-Oriented Languages and Systems, 1999.
[2] D.F. Bacon and P.F. Sweeney, “Fast Static Analysis of C++ Virtual Function Calls,” Proc. 11th Ann. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp. 324–341, Oct. 1996.
[3] U. Buy, A. Orso, and M. Pezze, Automated Testing of Classes Proc. ACM SIGSOFT Int'l Symp. Software Testing and Analysis, Aug. 2000.
[4] R. Chatterjee, B. Ryder, and W. Landi, “Relevant Context Inference,” Proc. ACM SIGPLAN/SIGACT Symp. Principles of Programming Languages, 1999.
[5] M.-H. Chen and H.M. Kao, Testing Object-Oriented Programs An Integrated Approach Proc. Int'l Symp. Software Reliability Eng., 1999.
[6] M. Fröhlich and M. Werner, The Graph Visualization System da Vinci technical report, Universität Bremen, Germany, Sept. 1994.
[7] M.J. Harrold and G. Rothermel, “Performing Dataflow Testing on Classes,” Proc. ACM Symp. Foundations of Software Eng., Dec. 1994.
[8] Z. Jin and A.J. Offutt, Coupling-Based Criteria for Integration Testing Software Testing, Verification and Reliability, vol. 8, no. 3, pp. 133-154, 1998.
[9] P.C. Jorgensen and C. Erickson, Object-Oriented Integration Testing Comm. ACM, vol. 37, no. 9, pp. 30-38, 1994.
[10] D. Kung et al., "Developing an Object-Oriented Software Testing and Maintenance Environment," Comm. ACM, Oct. 1995, pp. 75-87.
[11] A. Orso, Integration Testing of Object-Oriented Software PhD thesis, Politecnico Di Milano, 1998.
[12] J. Overbeck, Integration Testing for Object-Oriented Software PhD thesis, Vienna Univ. of Tech nology, 1994.
[13] M. Rinard, FLEX: The FLEX Group http:/www.flex-compiler. lcs.mit.edu, 2002.
[14] A.L. Souter, Context-Driven Testing of Object-Oriented Systems PhD thesis, Univ. of Delaware, 2002.
[15] A.L. Souter and L.L. Pollock, OMEN: A Strategy for Testing Object-Oriented Software Proc. ACM SIGSOFT Int'l Symp. Software Testing and Analysis, Aug. 2000.
[16] A.L. Souter and L.L. Pollock, Contextual Def-Use Associations for Object Aggregation Proc. ACM Workshop Program Analysis for Software Tools and Eng., 2001.
[17] A.L. Souter, L.L. Pollock, and D. Hisley, Inter-Class Def-Use Analysis with Partial Class Representations Proc. ACM Workshop Program Analysis For Software Tools and Eng., 1999.
[18] A.L. Souter, T.M. Wong, S.A. Shindo, and L.L. Pollock, TATOO: Testing and Analysis Tool for Object-Oriented Software Proc. Conf. Tools and Algorithms for the Construction and Analysis of Systems, Apr. 2001.
[19] J. Whaley and M. Rinard, Compositional Pointer and Escape Analysis for Java Programs Proc. ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages, and Applications, Nov. 1999.

Index Terms:
D.3.2.p Object-oriented languages, D.2.5.m Testing coverage of code, object flow analysis.
Citation:
Amie L. Souter, Lori L. Pollock, "The Construction of Contextual Def-Use Associations for Object-Oriented Systems," IEEE Transactions on Software Engineering, vol. 29, no. 11, pp. 1005-1018, Nov. 2003, doi:10.1109/TSE.2003.1245302
Usage of this product signifies your acceptance of the Terms of Use.