GSoC/GCI Archive
Google Summer of Code 2010 LLVM Compiler Infrastructure

Buffer Initialization and Bounds Checking

by Jordy Rose for LLVM Compiler Infrastructure

Currently the Clang compiler and static analyzer provide only very basic support for bounds and initialization checking. This project would extend that by providing new checks for functions that require an initialized argument and functions that modify part or all of an argument buffer. If possible, this functionality would be exposed via source-level annotations (__attribute__()), allowing programmers to declare intent when writing relevant functions.