Concurrent testing

The purpose is, as with most software testing, to understand the behaviour and performance of a software system that uses concurrent computing, particularly assessing the stability of a system or application during normal activity.

[4] Examples of problems that concurrency testing might expose are incorrect shared memory access and unexpected order sequence of message or thread execution.

[5]: 2 [1] Resource contention resolution, scheduling, deadlock avoidance, priority inversion and race conditions are also highlighted.

Testing of concurrent programs can exhibit problems when a system is performing within its defined limits.

A study in 2008[11] analysed bug databases in a selection of open source software.