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.