Abstract | ||
---|---|---|
Testing concurrent programs is a challenging problem: (1) the tester has to come up with a set of input values that may trigger a bug, and (2) even with a bug-triggering input value, there may be a large number of interleavings that need to be explored. This paper proposes an approach for testing concurrent programs that explores both input and interleaving spaces in a systematic way. It is based on a program transformation technique that takes a concurrent program P as an input and generates a sequential program that simulates a subset of behaviours of P. It is then possible to use an available sequential testing tool to test the resulting sequential program. We introduce a new interleaving selection technique, called bounded-interference, which is based on the idea of limiting the degree of interference from other threads. The transformation is sound in the sense that any bug discovered by a sequential testing tool in the sequential program is a bug in the original concurrent program. We have implemented our approach into a prototype tool that tests concurrent C# programs. Our experiments show that our approach is effective in finding both previously known and new bugs. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1007/978-3-642-34026-0_28 | ISoLA (1) |
Keywords | Field | DocType |
available sequential testing tool,concurrent program,program transformation technique,sequential testing tool,concurrent program p,bug-triggering input value,concurrent c,bounded-interference sequentialization,original concurrent program,sequential program,testing concurrent program | Shared variables,Program transformation,Computer science,Thread (computing),Theoretical computer science,Interference (wave propagation),Sequential analysis,Limiting,Interleaving,Bounded function | Conference |
Citations | PageRank | References |
2 | 0.36 | 15 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Niloofar Razavi | 1 | 66 | 4.08 |
Azadeh Farzan | 2 | 438 | 23.35 |
Andreas Holzer | 3 | 197 | 13.62 |