Testing concurrent programs:A formal evaluation of coverage criteria
Abstract
While the literature on testing sequential programs is rich, there has been very little work on testing concurrent programs. One major trend in testing sequential code is to define program-based, test data adequacy criteria. Different criteria are often evaluated using a set of properties which are intended to capture the intuition of what constitutes good testing. The work considers the adaptation of techniques for evaluating sequential program-based coverage criteria to an abstract concurrent language. The authors define two sequential and two concurrent program-based criteria which are evaluated with respect to a set of properties. Based upon their analysis, they are able to define new criteria which combine the sequential and concurrent aspects of the program. They also propose a new property that has no parallel in the field of sequential testing. Finally, they discuss the application of the new criteria to the testing of concurrent programs.