Free Trial
22/09/2020
Webinars

Understanding Implementation-Defined Behavior in C and C++

Tuesday, September 22nd, 2020

11:00-12:00 CEST (UTC+2)

The belief that C text has meaning in itself is very common, even among seasoned C practitioners. In fact, the semantics of the C programming language is not fully defined. The more than a hundred implementation-defined behaviors underpins the fact that no meaning can be assigned to source code unless full details about the build process and the toolchain employed are available. In this webinar we will see, also by means of practical experiments, how the same C program text can exhibit thousands of different behaviors depending on the toolchain used to translate it to machine code and on the way the toolchain is used. We will also discuss the consequences this fact has for the correctness of static analysis.

View recording