A path analysis approach to concurrent program testing

A path analysis approach to concurrent program testing is proposed. A concurrent path model for modeling the execution behavior of a concurrent program is presented. In the model, an execution of a concurrent program is seen as involving a concurrent path (which comprises the paths of all concurrent tasks), and the tasks' synchronizations are modeled as a concurrent route to traverse the concurrent path involved in the execution. Accordingly, testing is a process to examine the correctness of each concurrent route along all concurrent paths of concurrent programs. On the basis of the model, the test format is defined, and a path analysis testing methodology is presented. Also, several coverage criteria, extended from coverage criteria for sequential programs, are proposed. Some practical issues of path analysis testing, namely, test path generation, test data generation, and design of the test execution control mechanism are also addressed.<<ETX>>

[1]  R. A. Kemmerer,et al.  An experience with two symbolic execution-based approaches to formal verification of Ada tasking programs , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[2]  Richard N. Taylor,et al.  Combining Static Concurrency Analysis with Symbolic Execution , 1988, IEEE Trans. Software Eng..

[3]  Stewart N. Weiss A formal framework for the study of concurrent program testing , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[4]  Per Brinch Hansen,et al.  Reproducible testing of monitors , 1978, Softw. Pract. Exp..

[5]  John F. Passafiume,et al.  Software testing and evaluation , 1987 .

[6]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[7]  Kuo-Chung Tai,et al.  Reproducible testing of concurrent Ada programs , 1985 .

[8]  Per Brinch Hansen Testing a multiprogramming system , 1973, Softw. Pract. Exp..

[9]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

[10]  John B. Goodenough,et al.  Toward a theory of test data selection , 1975 .