Checking Concurrency ControlIn multitasking and multithreading C and C++ systems, thread safety is achieved through the use of mutexes, semaphores and interrupts to control concurrency. Errors in synchronization design or implementation lead to issues such as race conditions and deadlocks, and can be very difficult to spot in large, complex systems. Imagix 4D's static analysis of concurrency controls and thread safety ranges from reports mapping intertask data sharing to tests identifying imbalance entering and exiting critical regions via semaphores, etc.
This video is a technical demo showing the tool being used to examine multitasking source code. The demo shows how to specify the tasks and critical regions contained in the software, and how to use Imagix 4D's task flow checks reports to review concurrency design and identify potential issues.