Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux Kernel Source

Péter Breuer, Simon Pickin, Maria Mercedes Larrondo-Petrie · 2006

The formal analysis described here detects two so far undetected real deadlock situations per thousand C source files or million lines of code in the open source Linux operating system kernel, and three undetected accesses to freed memory, at a few seconds per file. That is notable because the code has been continuously under scrutiny from thousands of developers' pairs of eyes. In distinction to mo del-checking techniques, which also use symbolic logic, the analysis uses a "3-phase" compositional Hoare-style programming logic combined with abstract interpretation. The result is a customisable post-hoc semantic analysis of C code that is capable of several different analyses at once

Read the paper · More papers on PaperTik