...
Although the race window is narrow, an assignment or an expression can evaluate improperly because of misinterpreted data resulting in a corrupted running state or unintended information disclosure.
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
CON52-CPP | Medium | Probable | No | NoMedium | P8P4 | L2L3 |
Automated Detection
| Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| read_write_data_race write_write_data_race | Supported | ||||||
| Axivion Bauhaus Suite |
| CertC++-CON52 | |||||||
| CodeSonar |
| CONCURRENCY.DATARACE | Data Race | ||||||
| Coverity | 6.5 | RACE_CONDITION | Fully implemented | ||||||
| Helix QAC |
| C++1774, C++1775 | |||||||
| Parasoft C/C++test |
| CERT_CPP-CON52-a | Use locks to prevent race conditions when modifying bit fields | ||||||
| Polyspace Bug Finder |
| CERT C++: CON52-CPP | Checks for data races (rule partially covered) |
...