Systems and methods for detecting and tolerating atomicity violations between concurrent code blocks
US8732682B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Aug 19, 2011 |
| Grant date | May 20, 2014 |
| Priority date | — |
| Expiry date | Jul 10, 2032 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F11/3612
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
The system and methods described herein may be used to detect and tolerate atomicity violations between concurrent code blocks and/or to generate code that is executable to detect and tolerate such violations. A compiler may transform program code in which the potential for atomicity violations exists into alternate code that tolerates these potential violations. For example, the compiler may inflate critical sections, transform non-critical sections into critical sections, or coalesce multiple critical sections into a single critical section. The techniques described herein may utilize an auxiliary lock state for locks on critical sections to enable detection of atomicity violations in program code by enabling the system to distinguish between program points at which lock acquisition and release operations appeared in the original program, and the points at which these operations actually occur when executing the transformed program code. Filtering and analysis techniques may reduce false positives induced by the transformations.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.