Our tool cqual presents the results of the tainting analysis to the programmer using Program Analysis Mode (PAM) for Emacs , a GUI developed at Berkeley that is designed to add hyperlinks and color mark-ups to the preprocessed text of the program.
Figure 5 shows a screenshot of a run of cqual on muh, an IRC proxy application. cqual initially displays a list of all files analyzed and any errors that occurred. The user can click on a filename to jump to that file or click on an error message to jump to information about that error (see below).
Each identifier in a file is colored according to its inferred qualifiers. Tainted identifiers (those whose type contains a tainted qualifier somewhere) are colored red, untainted identifiers are colored green, and any identifiers that could be either tainted or untainted are not colored. Intuitively, this last set of qualifiers could all be marked untainted, but it is easier on the user to reduce the number of marked up identifiers.
The user can click on an identifier to display its fully qualified type, with each individual qualifier colored according to its taintedness.