Timing-sequence testing of parallel programs
Testing of parallel programs involves two parts—testing of control-flow within the processes and testing of timing-sequence. This paper focuses on the latter, particularly on the timing-sequence of message-passing paradigms. Firstly the coarse-grained SYN-sequence model is built up to describe the execution of distributed programs. All of the topics discussed in this paper are based on it. The most direct way to test a program is to run it. A fault-free parallel program should be of both correct computing results and proper SYN-sequence. In order to analyze the validity of observed SYN-sequence, this paper presents the formal specification (Backus Normal Form) of the valid SYN-sequence. Till now there is little work about the testing coverage for distributed programs. Calculating the number of the valid SYN-sequences is the key to coverage problem, while the number of the valid SYN-sequences is terribly large and it is very hard to obtain the combination law among SYN-events. In order to resolve this problem, this paper proposes an efficient testing strategy—atomic SYN-event testing, which is to linearize the SYN-sequence (making it only consist of serial atomic SYN-events) first and then test each atomic SYN-event independently. This paper particularly provides the calculating formula about the number of the valid SYN-sequences for tree-topology atomic SYN-event (broadcast and combine). Furthermore, the number of valid SYN-sequences also, to some degree, mirrors the testability of parallel programs. Taking tree-topology atomic SYN-event as an example, this paper demonstrates the testability and communication speed of the tree-topology atomic SYN-event under different numbers of branches in order to achieve a more satisfactory tradeoff between testability and communication efficiency.
Keywordstiming-sequence testing SYN-sequence atomic SYN-event linearization coverage
Unable to display preview. Download preview PDF.
- Boris Beizer. Software Testing Techniques. Van Nostrand Reinhold Company, New York, ISBN: 0-442-24592-0, 1983.Google Scholar
- Tai K C, Carver Richard H. Testing of Distributed Programs. Parallel & Distributed Computing Handbook, Albert Y Zomaya (ed.), McGraw-Hill Series on Computer Engineering, 1996, pp. 955–978.Google Scholar
- Stephen P Masticola, Barbara Gyder G. Static Infinite Wait Anomaly Detection in Polynomial Time. In1990 International Conference on Parallel Processing, 1990, pp.II.78-II.87.Google Scholar
- Richard J Linn, M Umit Uyar. Conformance Testing Methodologies & Architecture for OSI (Open System Interconnection) Protocols. IEEE Computer Society Press, Los Alamitos, California.Google Scholar
- Claire Diehl, Claude Jard, Jean-Xavier Rampon. Reachability Analysis on Distributed Executions.Google Scholar
- Netzer R H B, Miller B P. Optimal tracing and replay for debugging message-passing parallel programs. InProceedings of Supercomputing 1992, Minneapolis, MN, Nov. 1992, pp.502–511.Google Scholar
- HUANG Ning, JIN Maozhong. The improvement and application of optimal tracing strategy in PVM based parallel programs.Journal of Software, 1997, 8(7): 486–492.Google Scholar
- Leu E, Schiper A, Zramdini A. Efficient execution replay techniques for distributed memory architectures. InProc. of the Second European Distributed Memory Computing Conference, Arndt Bode (ed.), Munich, 1991, pp.315–324.Google Scholar