View Single Post
  #2 (permalink)  
Old 03-27-2008, 08:19 AM
steve martin steve martin is offline
Newbie
 
Join Date: Mar 2008
Posts: 1
Credits: 0
Rep Power: 0
steve martin is on a distinguished road
Default Coverity Prevent- static source code analysis tool for debugging

Hi
In you situation ,a race condition has occurred due to a lack of synchronization or the improper use of synchronization when accessing shared resources such as variables. Data races occur when the developer fails to specify which thread has access to a variable at a given time. In such a case, whichever thread wins the race gets access to the data, with unpredictable results.
Because threads can be preempted at any time, you can't safely assume that a thread executing at start-up will have accessed the data it needs before other threads begin to run. As well, the order in which threads are executed may differ from one VM to the next, making it impossible to determine a standard succession of events.
Sometimes, data races may be insignificant in the outcome of the program, but more often than not they can lead to unexpected results that are hard to debug. In short, data races are concurrency problems waiting to rear their ugly heads. A good static source code analysis tool like Coverity Prevent will identify any data race it encounters while executing your program , and flag it for you to fix. Coverity has customers like Symbian, RIM (Blackberry), Juniper networks, Cisco, Texas instruments and is also used by the Department of Homeland security to scan lots of open source projects. You can get more info at Static Analysis, Software Quality for C,C++ Java - Coverity Inc
Reply With Quote