Abstract

Software testing and metrics are two important approaches to assure the reliability and quality of software. Testing and metrics of sequential programs have been fairly sophisticated processes, with various methodologies and tools available for use in building and demonstrating the correctness of a program. The emergence of concurrent programming in the recent years, however, introduces new testing problems and difficulties that cannot be solved by testing techniques of traditional sequential programs. One of the difficult tasks is that concurrent programs can have many instances of execution for the same set of input data. Many concurrent program testing methodologies are proposed to solve controlled execution and determinism. However, there are few discussions of concurrent software testing from an inter-task perspective. Yet, the common characteristics of concurrent programming are explicit identification of the large grain parallel computation units (tasks), and the explicit inter-task communication via a rendezvous-style mechanism. In this paper, we focus testing on the concurrent programming through a task decomposition mechanism. Four testing criteria to test a concurrent program are proposed. Associated with the strategies, four equations are provided to measure the complexity of the concurrent programs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call