[krbdev.mit.edu #3665] idea for kerberos!

Ken Raeburn via RT rt-comment at krbdev.mit.edu
Tue Apr 18 17:41:44 EDT 2006


On Apr 18, 2006, at 17:11, Folkert van Heusden via RT wrote:
> Maybe it is a good idee to get kerberos scanned by coverity!
> http://scan.coverity.com/
> Coverity is an excellent static sourcecode analyzer which found quit a
> few bugs in the linux kernel. I'm NOT in any way related to them
> (altough I'm really hoping they'll scan multitail as well). Please see
> that page for a list of all the projects they're already scanning.


Yeah, I thought about this after seeing some of the work they've done  
on GNU Emacs recently.  But a couple of issues come to mind:

1) They've gotten quite a few false positives in the reports I've  
seen.  The most common is probably the "possibly uninitialized" type  
where initialization happens in a path that also includes a setting  
of a second variable that you need to have in order to reach the site  
of the warning; i.e., if the variable being warned about wasn't set,  
then other conditions necessary to reach the warning site couldn't be  
met.

2) If we (MIT, or some other developers who want to help out) have  
got the cycles to chase down these reports, we could start by  
applying OCD-like focus to cleaning up the warnings GCC spits out  
during a build.  That's not to say that using the Coverity tool  
wouldn't be useful.  But we've got other, simpler things we could do  
first to knock off the more obvious possible problems, and mildly  
"interesting" data/control flow constructs that trigger false  
positives in simple analyses like these, and we aren't doing enough  
of *that* currently in my opinion.

If you feel like tackling either of these -- GCC warnings or Coverity  
-- and sorting through the false positives and giving us patches for  
the rest, I expect we'd be happy to take them.... :-)

Ken

P.S.  There's also Splint, which I've used a few times on parts of  
our code to search for possible problems; you'll even find some  
Splint annotations in the code in a few places.  Unfortunately,  
Splint has problems with functions like realloc() where the memory  
management behavior goes two different ways depending on success or  
failure.




More information about the krb5-bugs mailing list