New Formal Semantics for OpenMP C Code Guarantees Race-Free Execution
Researchers formalize C+OpenMP semantics to catch logic errors and data races automatically.
Get AI news that actually matters
One email a day. Zero fluff. Join 10,000+ professionals.
Deep Dive
Ke Du, Anshu Sharma, Liyi Li, and William Mansky present a formal semantics for C code with OpenMP directives, building on the C semantics of the CompCert verified compiler and its extension to concurrency. It captures subtle interactions between OpenMP directives and variable state, providing a basis for detecting undesired behaviors introduced by incorrect annotations. Any successful execution is guaranteed to be free of data races.
Key Points
- Builds on CompCert's verified C semantics and its concurrency extension for rigorous formal reasoning.
- Captures previously obscured interactions between OpenMP directives (shared/private clauses) and variable state.
- Guarantees that any successful execution under the semantics is provably free of data races.
Why It Matters
Provides a rigorous foundation to eliminate race conditions in real-world parallel C code.