deadlock or livelock | inspecting to detect such defects, rather than testing alone | over-use of locking | a result of unusual combinations of conditions that are hard to anticipate or reproduce | - Vary the time consumption of different threads by giving them differing amounts of input, or running them on hardware that varies in speed
- Run a large number of threads concurrently
- Deliberately deny resources to one or more threads (e.g. temporarily cut a network connection, or make a file unreadable)
| 10.5 - Defects in Timing and Co-Ordination: Deadlock, Livelocks and Critical Races | a person with a background in real-time systems who can apply his or her knowledge and experience to best anticipate typical defects | glass-box testing since you can actually study the progress and states of the various threads |