The University of Southampton
University of Southampton Institutional Repository

Structural testing for message-passing concurrent programs: an extended test model

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 messagepassing 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 messagepassing 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
1532-0626
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, n/a. (doi:10.1002/cpe.2937).

Record type: Article

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 messagepassing 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 messagepassing 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: 28 Oct 2019 21:09

Export record

Altmetrics

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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×