Modular Checking for Buffer Overflows in the Large

We describe an ongoing project, the deployment of a modular checker to statically find and prevent every buffer overflow in future versions of a Microsoft product. Lightweight annotations specify requirements for safely using each buffer, and functions are checked individually to ensure they obey these requirements and do not overflow. To date over 400,000 annotations have been added to specify buffer usage in the source code for this product, of which over 150,000 were automatically inferred, and over 3,000 potential buffer overflows have been found and fixed.

tr-2005-139.pdf
PDF file

Details

TypeTechReport
NumberMSR-TR-2005-139
Pages10
InstitutionMicrosoft Research
> Publications > Modular Checking for Buffer Overflows in the Large