Most static analysis tools are operating after the fact. The SATE experience, with struggles to find all the code, recreate the compiler context, etc., illustrates how painful this can be. To achieve wide-spread usage of static analysis, it seems clear that the tools need to become more tightly integrated with the compiler. The Green Hills Double Check and the AdaCore CodePeer tools are examples of this. Ideally performing static analysis is a “one click” operation in the IDE, or just another command-line flag to the compiler and/or linker. From the user’s point of view, static analysis doesn’t want to appear as yet another tool they need to learn. It wants to appear as simply a “pickier” mode of the compiler or linker.