Object Oriented Software Engineering   View all facts   Glossary   Help
subject > problem > defect > timing and co-ordination defect > critical race
Uptiming and co-ordination defect

critical race
(race condition)
subjectfact 
critical racecan be detected by glass-box testing since you can actually study the progress and states of the various threads2001-08-30 14:55:08.0
can be detected by inspection2001-08-30 14:55:08.0
has definition A defect in which one thread or process can sometimes experience a failure because another thread or process interferes with the 'normal' sequence of events2001-08-30 14:55:08.0
has black-box testing strategy
  • 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)
2001-08-30 14:55:08.0
is hard to detect with black box testing alone since you often don't know the extent of the concurrency going on inside the system, and can not always manipulate the various threads to cause race conditions2001-08-30 14:55:08.0
is a subtopic of 10.5 - Defects in Timing and Co-Ordination: Deadlock, Livelocks and Critical Races2001-08-30 14:55:08.0
is a kind of timing and co-ordination defect2001-08-30 14:55:08.0
is a synonym of race condition2001-08-30 14:57:12.0
timing and co-ordination defectoccur when several threads or processes interact in inappropriate ways2001-08-30 14:58:03.0
only occurs in a situation involving some form of concurrency2001-08-30 14:58:03.0
defecthas example the absence of code to handle an exception2001-08-30 14:55:12.0
problemhas solution which will normally entail developing software, although you may decide that it is better to purchase software or to develop a non-software solution2001-08-30 14:57:03.0
should be written as a simple problem statement in one or two sentences2001-08-30 14:57:03.0