Structural testing for message-passing concurrent programs:
an extended test model
Structural testing for message-passing concurrent programs:
an extended test model
Developing high-quality, error-free message-passing concurrent programs is not trivial. Although a number of different primitives with associated semantics are available to assist such development, they often increase the complexity of the testing process. In this paper, we extend our previous test model for message-passing programs and present new structural testing criteria, taking into account additional features used in this paradigm, such as collective communication, non-blocking sends, distinct semantics for non-blocking receives, and persistent operations. Our new model also recognizes that sender primitives cannot always be matched with every receive primitive. This improvement allows us to remove statically a significant number of infeasible synchronization edges that would otherwise have to be analyzed later by the tester. In this paper, the test model is presented using the Message-Passing Interface standard; however, our new model has been designed to be flexible, and it can be configured to support a range of different message-passing environments or languages. We have carried out case studies showing the applicability of the new test model to represent message-passing programs and also to reveal errors, mainly those errors related to inter-process communication. In addition to increasing the number of features supported by the test model, we have also reduced the overall cost of testing significantly. Our case studies suggest that the number of synchronization edges can be reduced by up to 93%, mainly by eliminating infeasible edges between unmatchable communication primitives. The main contribution of the paper is to present a more flexible test model that provides improved coverage for message-passing programs and at the same time reduces the cost of testing significantly.
concurrent software testing, message-passing programs, structural testing criteria
n/a
Souza, Paulo S.L.
976d9a07-c8eb-49a7-93cf-dc8cf8b4cfe0
Souza, Simone R.S.
7ae89e83-4765-4d42-8d04-3638b7b72255
Zaluska, Ed
43f6a989-9542-497e-bc9d-fe20f03cad35
Souza, Paulo S.L.
976d9a07-c8eb-49a7-93cf-dc8cf8b4cfe0
Souza, Simone R.S.
7ae89e83-4765-4d42-8d04-3638b7b72255
Zaluska, Ed
43f6a989-9542-497e-bc9d-fe20f03cad35
Souza, Paulo S.L., Souza, Simone R.S. and Zaluska, Ed
(2012)
Structural testing for message-passing concurrent programs:
an extended test model.
Concurrency and Computation: Practice and Experience, n/a, .
(doi:10.1002/cpe.2937).
Abstract
Developing high-quality, error-free message-passing concurrent programs is not trivial. Although a number of different primitives with associated semantics are available to assist such development, they often increase the complexity of the testing process. In this paper, we extend our previous test model for message-passing programs and present new structural testing criteria, taking into account additional features used in this paradigm, such as collective communication, non-blocking sends, distinct semantics for non-blocking receives, and persistent operations. Our new model also recognizes that sender primitives cannot always be matched with every receive primitive. This improvement allows us to remove statically a significant number of infeasible synchronization edges that would otherwise have to be analyzed later by the tester. In this paper, the test model is presented using the Message-Passing Interface standard; however, our new model has been designed to be flexible, and it can be configured to support a range of different message-passing environments or languages. We have carried out case studies showing the applicability of the new test model to represent message-passing programs and also to reveal errors, mainly those errors related to inter-process communication. In addition to increasing the number of features supported by the test model, we have also reduced the overall cost of testing significantly. Our case studies suggest that the number of synchronization edges can be reduced by up to 93%, mainly by eliminating infeasible edges between unmatchable communication primitives. The main contribution of the paper is to present a more flexible test model that provides improved coverage for message-passing programs and at the same time reduces the cost of testing significantly.
Text
EarlyViewDOI_10.1002_cpe.pdf
- Version of Record
Restricted to Repository staff only
Request a copy
More information
e-pub ahead of print date: 10 October 2012
Keywords:
concurrent software testing, message-passing programs, structural testing criteria
Organisations:
Web & Internet Science
Identifiers
Local EPrints ID: 350316
URI: http://eprints.soton.ac.uk/id/eprint/350316
ISSN: 1532-0626
PURE UUID: c31bfccd-fddb-4d3c-ad51-e3b83bf82d07
Catalogue record
Date deposited: 25 Mar 2013 14:51
Last modified: 14 Mar 2024 13:24
Export record
Altmetrics
Contributors
Author:
Paulo S.L. Souza
Author:
Simone R.S. Souza
Author:
Ed Zaluska
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics