?
High-Level Memory Model with Low-Level Pointer Cast Support for Jessie Intermediate Language
The paper presents a target analyzable language used for verification of real world production
GNU C programs (Linux kernel modules). The language represents an extension of the existing intermediate
language used by the Jessie plugin for the Frama C static analysis framework. Compared to the original
Jessie, the extension is fully compatible with the C semantics of arrays, initially supports discriminated unions
and prefix (hierarchical) structure pointer casts and provides a limited, but reasonable support for low level
pointer casts (reinterpretations of the underlying bytes of memory). The paper describes the approaches to
translation of the original C code into the analyzable intermediate language and of the intermediate language
into Why3ML i.e. the input language of the Why3 deductive verification platform.