On Sun, Apr 19, 2015 at 8:31 PM, Michal Zalewski <lcam...@coredump.cx> wrote: >> Clang and its analyzers found a number of issues a couple of years >> ago. As far as I know, the results were dismissed. See "Clang 3.3 and >> Scan-Build results", > > Well, I can kinda sympathize. Somebody took one of my OSS projects > (p0f) and ran it through a static analyzer a while ago (the analyzer > shall remain nameless, but was one of the major ones). The results > were just pages and pages of nonsensical findings, interspersed with > non-specific style recommendations.
I've felt the pain myself. So I'm definitely in the sympathize camp. > An experience like that can quickly divide developers into two camps: > the "not sure, but let me spend a week to address everything, just in > case" one, and the "show me faulting test cases or get lost" bunch. Yeah, its a trade off. We know developers are smarter than the analyzers. But rather than developers working with the analyzers - like initializing a variable even if it does not need to be done (and letting the optimizer do its job) - they just dismiss all the results. They dismiss both the valid ones and the noise. Its a very disingenuous strategy. Its no wonder software has so many problems with security. Until developers abandon the l33t, 1970's K&R way of doing things, improvement will continue to move at a snail's pace. > I've heard it summed up this way: when a particular check is stable > and reliable enough to be actually useful to most developers, it stops > being called "static analysis" and becomes a "standard compiler > warning" =) Haha, yes. Be careful with Clang and the dynamic analyzers. They *don't* produce false positives because they operate on real data. Jeff _______________________________________________ Sent through the Full Disclosure mailing list https://nmap.org/mailman/listinfo/fulldisclosure Web Archives & RSS: http://seclists.org/fulldisclosure/