[postgis-devel] Static Analysis

Nicklas Aven nicklas.aven at jordogskog.no
Fri May 6 02:33:06 PDT 2016


Interesting things. I want to dp my share of the clean up work. 
I guess I will learn a lot from that.

Will most of the issues be isolated to source files, or special functions or will it be more about keeping things conseqent over the whole code base?

/Nicklas

Skickat från min Sony Xperia™-smartphone

---- Even Rouault skrev ----

>Le vendredi 06 mai 2016 10:55:50, Mark Cave-Ayland a écrit :
>> On 05/05/16 19:06, Paul Ramsey wrote:
>> > Hey Devs,
>> > 
>> > Are we interested in receiving static analysis reports (Coverity) on
>> > the PostGIS code base?
>> > 
>> > The folks at CrunchyData are willing to stick-handle the bureaucracy
>> > around getting Coverity account for the project and a system set up to
>> > regularly pass the PostGIS code base through Coverity static analysis.
>> > Coverity provides free (as in beer) accounts for open source projects,
>> > so the actual Coverity "account" would be the PostGIS project's and
>> > the PSC would control it.
>> > 
>> > Anyways, other than providing an annoying list of things we should do
>> > (gah!) I see no downside to having some more information on our code
>> > cleanliness/security. Unlike the transifex stuff, there'd be no
>> > dependencies on a foreign system, since if Coverity ever shut off our
>> > access we'd be no worse off than we are right now.
>> > 
>> > Thoughts?
>> 
>> Definitely! I suspect that there will be a number of things to check
>> after the first scan which may take some time. Note that Coverity does
>> produce false positives, so perhaps some thought should be given to as
>> to whether we should aim for a "clean" scan to the point where we can
>> add annotations to the code for cases like these.
>
>We have gone through the Coverity route for GDAL. Dealing with the results of 
>the first scan is likely to be painful (took months to clear the > 1300 initial 
>stock). There are some false positives, but not that much (10% ?). In general 
>you get false positives in portion of the code where the logic is convoluted 
>and you can get rid of most of them by simplifying the code a bit, or adding 
>extra conditions, and making it more obvious, including for humans. 
>For real false positives, you can add the following annotation before the line
>/* coverity[name_of_the_violated_rule] */
>
>The largest occurence in GDAL code base is /* coverity[tainted_data] */ , that 
>is due to using the value of an environment variable with no or little 
>checking. Likely not going to affect PostGIS.
>
>We've also used Clang Static Analyzer. To be honest, it is far less powerful 
>than Coverity and has a high rate of false positives, and reworking the code 
>to make it happy can be really hard sometimes. It did uncover a couple of 
>things other tools didn't find though but the rate time invested to investigate 
>reports / bug founds is prettly low. If you want to give it a try, I'd 
>recommend only using it after cleaning all Coverity warnings, so as to limit 
>the number of things to look at.
>
>-- 
>Spatialys - Geospatial professional services
>http://www.spatialys.com
>_______________________________________________
>postgis-devel mailing list
>postgis-devel at lists.osgeo.org
>http://lists.osgeo.org/mailman/listinfo/postgis-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20160506/ab695fac/attachment.html>


More information about the postgis-devel mailing list