[Python-Dev] Running Clang 2.7's static analyzer over the code base

Brett Cannon brett at python.org
Thu May 6 19:40:05 CEST 2010


On Thu, May 6, 2010 at 08:09, Ronald Oussoren <ronaldoussoren at mac.com>wrote:

>
> On 5 May, 2010, at 22:56, Brett Cannon wrote:
>
> I am done running the analysis over trunk. I will not svnmerge these
> changes into py3k as the amount of time and effort that would take equates
> to running the static analyzer again just before 3.2 is released and
> possibly catching more changes (and maybe even a newer version of Clang at
> that point).
>
>
> Have you looked into teaching clang's static analyser about Python's
> refcounting rules?  Clang's analyser can tell you about problems related to
> reference count management for Objective-C code and doing the same for code
> using the CPython API would be usefull.
>

That's a thought, but I have not looked into it yet. As of right now the
first thing I would do is fix its NULL de-reference analysis as it had a
bunch of false-positives on that (I don't think it handles `!ptr` as
equivalent to `ptr == NULL`).

-Brett



>
> Ronald
>
>
> On Mon, May 3, 2010 at 15:37, Brett Cannon <brett at python.org> wrote:
>
>> Since 2.7 is probably going to exist for a while, I am running Clang 2.7's
>> static analyzer (``clang --static``) over trunk. It's mostly just finding
>> stuff like unneeded variable initialization or variables that are never used
>> (compilation is picking up unused returned values, almost all from
>> PyObject_INIT).
>>
>> When I check in these changes I will do it file by file, but my question
>> is how to handle Misc/NEWS. I have gone through the underscores and the 'a's
>> in Modules and already have six modified files, so the final count might be
>> a little high. Do people want individual entries per file, or simply a
>> single entry that lists each file modified?
>>
>> We should probably go through the C code and fix the whitespace before we
>> hit 2.7 final (there is a ton of lines with extraneous spaces).
>>
>> -Brett
>>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20100506/dc5d5f7b/attachment.html>


More information about the Python-Dev mailing list