[cfe-dev] GSOC Static Analyzer Proposal
adamschn at umich.edu
Wed Apr 10 15:05:44 PDT 2013
I agree, it would be nice to have diagnostics for implementation defined
behavior as well.
However, it seems like there would be some degree of overlap. For example,
have -fsanitize=shift, which, I believe, technically checks implementation
rather than undefined behavior (language lawyers feel free to correct me).
I think it could be very interesting to check some behaviors not covered
in the sanitizers statically. Do you have thoughts about static versus
On Wed, Apr 10, 2013 at 5:40 PM, Jeffrey Walton <noloader at gmail.com> wrote:
> On Wed, Apr 10, 2013 at 5:07 PM, Adam Schnitzer <adamschn at umich.edu>
> > John and Sean,
> > Thank you very much for the feedback. I have a better idea of scope and
> > where to focus.
> > John, I think you're absolutely right, with -fsanitize=undefined and
> > more behavior is being caught at runtime/compile time. I will start
> > on a list of behaviors for which no diagnostics currently exist, and
> > a subset to focus on.
> My apologies for stepping in and bike shedding: I would really enjoy
> something for 'implementation defined' behaviors also. Its not always
> portable, and I find it to be a key indicator of code quality.
> Perhaps another switch would be in order(-fsanitzie=implementation)?
> > On Wed, Apr 10, 2013 at 1:54 PM, John Regehr <regehr at cs.utah.edu> wrote:
> >>> I would like to work on improving support for C++ in the static
> >>> Specifically, I think it
> >>> would be valuable to improve the checkers for undefined behavior
> >>> including those already suggested.
> >> I'd be happy to provide feedback on a more specific version of this part
> >> of the proposal.
> >> In particular, a useful starting point (maybe this already exists?)
> >> be a list of all C/C++ undefined behaviors broken down by whether
> >> Clang/LLVM...
> >> - can reliably provide a compile-time diagnostic
> >> - can reliably provide a runtime diagnostic
> >> - cannot provide any diagnostic, but implements a predictable behavior
> >> - cannot provide any diagnostic and also implements unpredictable
> >> Obviously the last category is the interesting place for future work.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev