[gdal-dev] GDAL/OGR 1.11.0 Release Candidate 1 available for testing

Even Rouault even.rouault at mines-paris.org
Thu Apr 17 14:41:44 PDT 2014


> Code reviews would be another way to prevent accidental
> segfaults, but we might not have enough people with enough time for that,
> and some people might not want it. I personally love when someone reviews
> my code.

Code reviews are of course good for quality. I think any GDAL committer should 
welcome any remark coming from a reviewer. But, the practical problem is 
indeed to find the reviewer with the time and experience to do the review 
(which might translate into extra costs). So practically, we cannot 
realistically impose systematic peer code review.

I should mention that we have a "free" (as in beer) code reviewer... The 
Coverity static analyzer : https://scan.coverity.com/projects/749 . Any GDAL 
committer can request access to the details (the analysis is done on a weekly 
basis). Complementary with human reviewing, but not completely equivalent. But 
in the segfault case, it would have found the issue since there was a if( 
poGeomIn == NULL )test AFTER the dereferencing of the pointer, and this is 
something for which it has a heuristics. But if the if( poGeomIn == NULL ) 
didn't exist, there would be no information for the analyzer to figure out if 
calling SetSpatialFilter() with a NULL pointer is valid or not, so in doubt, 
it will shut up to avoid false positives.

Practical exercice: there's a 7000 lines long patch for the SQLAnywhere driver 
waiting for review in Trac... And a lot of other tickets with smaller patches. 
My experience is that most patches coming from casual contributors needs to be 
at least amended to some degree. And they rarely come with the associated 
regression test.

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html


More information about the gdal-dev mailing list