A scheme for dynamic detection of concurrent execution of object-oriented software

Program testing is the most widely adopted approach for assuring the quality and reliability of software systems. Despite the popularity of the objected-oriented programs, its testing is much more challenging than that of the conventional programs. We proposed previously a methodology known as TACCLE for testing object-oriented software. It has not, however, addressed the aspects of concurrency and non-determinism. In this paper, we propose a scheme for dynamically detecting and testing concurrency in object-oriented software by executing selected concurrent pairs of operations. The scheme is based on OBJSA nets and addresses concurrency and nondeterminism problems. An experimental case study is reported to show the effectiveness of the scheme in detecting deadlocks, race conditions and other coherence problems. The scheme supplements our previous static approach to detecting deadlock in Java multithreaded programs.

[1]  Tsong Yueh Chen,et al.  TACCLE: a methodology for object-oriented software testing at the class and cluster levels , 2001, TSEM.

[2]  David J. Robson,et al.  A State-Based Approach to the Testing of Class-Based Programs , 1995, Softw. Concepts Tools.

[3]  Giancarlo Mauri,et al.  Modular Algebraic Nets to Specify Concurrent Systems , 1996, IEEE Trans. Software Eng..

[4]  David Chenho Kung,et al.  A test strategy for object-oriented programs , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[5]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[6]  Fiorella de Cindio,et al.  CLOWN as a Testbed for Concurrent Object-Oriented Concepts , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[7]  Richard H. Carver,et al.  Replay and testing for concurrent programs , 1991, IEEE Software.

[8]  Huo Yan Chen,et al.  The design and implementation of a prototype for data flow analysis at the method-level of object-oriented testing , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[9]  Hong Zhu,et al.  A Theory of Testing High Level Petri Nets , 2000 .

[10]  Richard H. Carver,et al.  Use of sequencing constraints for specification-based testing of concurrent programs , 1998 .

[11]  Huo Yan Chen Race condition and concurrency safety of multithreaded object-oriented programming in Java , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[12]  D. J. Robson,et al.  A framework for testing object-oriented programs , 1992 .