ARCHER: using symbolic, path-sensitive analysis to detect memory access errors
CIL: Intermediate language and tools for analysis and transformation of C programs