<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 26, 2013 at 8:56 AM, Eli Bendersky <span dir="ltr"><<a href="mailto:eliben@gmail.com" target="_blank">eliben@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Just a quick question - is there a chance to convince Coverity to detect Python refcounting leaks in C API code :-) ?</div>

</blockquote><div><br></div><div>You can always ask. =)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> This could be useful not only for Python but for extensions too. As it stands now, Coverity's leak detection is Python must be pretty weak because almost everything is done via PyObject refcounts.<br>

</div></blockquote><div><br></div><div>Just an FYI (mostly for others  since I think Eli was at PyCon in the relevant talk), David Malcolm has his work with gcc and refleak detection. But yes, it would be nice if it was in Coverity as it would then be part of the daily check.</div>

<div><br></div><div>-Brett</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">

<br>Eli<br></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Thu, Jul 25, 2013 at 11:48 AM, Christian Heimes <span dir="ltr"><<a href="mailto:christian@python.org" target="_blank">christian@python.org</a>></span> wrote:<br>



</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Hello,<br>
<br>
this is an update on my work and the current status of Coverity Scan.<br>
<br>
Maybe you have noticed a checkins made be me that end with the line "CID<br>
#". These are checkins that fix an issue that was discovered by the<br>
static code analyzer Coverity. Coverity is a commercial product but it's<br>
a free service for some Open Source projects. Python has been analyzed<br>
by Coverity since about 2007. Guido, Neal, Brett, Stefan and some other<br>
developers have used Coverity before I took over. I fixed a couple of<br>
issues before 3.3 reached the RC phase and more bugs in the last couple<br>
of months.<br>
<br>
Coverity is really great and its web GUI is fun to use, too. I was able<br>
to identify and fix resource leaks, NULL pointer issues, buffer<br>
overflows and missing checks all over the place. Because it's a static<br>
analyzer that follows data-flows and control-flows the tool can detect<br>
issues in error paths that are hardly visited at all. I have started to<br>
document Coverity here:<br>
<br>
  <a href="http://docs.python.org/devguide/coverity.html" target="_blank">http://docs.python.org/devguide/coverity.html</a><br>
<br>
<br>
Interview<br>
---------<br>
<br>
A week ago I was contacted by Coverity. They have started a series of<br>
articles and press releases about Open Source projects that use their<br>
free service Coverity Scan, see<br>
<br>
<br>
<a href="http://www.coverity.com/company/press-releases/read/coverity-introduces-monthly-spotlight-series-for-coverity-scan-open-source-projects" target="_blank">http://www.coverity.com/company/press-releases/read/coverity-introduces-monthly-spotlight-series-for-coverity-scan-open-source-projects</a><br>




<br>
Two days ago I had a lovely phone interview about my involvement in the<br>
Python project and our development style. They are going to release a<br>
nice article in a couple of weeks. In the mean time we have time to fix<br>
the remaining couple issues. We *might* be able to reach the highest<br>
coverity integrity level! I have dealt with all major issues so we just<br>
have to fix a couple of issues.<br>
<br>
<br>
Current stats<br>
-------------<br>
<br>
Lines of Code:  396,179<br>
Defect Density: 0.05<br>
Total defects:  1,054<br>
Outstanding:       21 (Coverity Connect shows less)<br>
Dismissed:        222<br>
Fixed:            811<br>
<br>
<a href="http://i.imgur.com/NoELjcj.jpg" target="_blank">http://i.imgur.com/NoELjcj.jpg</a><br>
<a href="http://i.imgur.com/eJSzTUX.jpg" target="_blank">http://i.imgur.com/eJSzTUX.jpg</a><br>
<br>
<br>
open issues<br>
-----------<br>
<br>
<a href="http://bugs.python.org/issue17899" target="_blank">http://bugs.python.org/issue17899</a><br>
<a href="http://bugs.python.org/issue18556" target="_blank">http://bugs.python.org/issue18556</a><br>
<a href="http://bugs.python.org/issue18555" target="_blank">http://bugs.python.org/issue18555</a><br>
<a href="http://bugs.python.org/issue18552" target="_blank">http://bugs.python.org/issue18552</a><br>
<a href="http://bugs.python.org/issue18551" target="_blank">http://bugs.python.org/issue18551</a><br>
<a href="http://bugs.python.org/issue18550" target="_blank">http://bugs.python.org/issue18550</a><br>
<a href="http://bugs.python.org/issue18528" target="_blank">http://bugs.python.org/issue18528</a><br>
<br>
<br>
Christian<br>
<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br></div></div>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/eliben%40gmail.com" target="_blank">http://mail.python.org/mailman/options/python-dev/eliben%40gmail.com</a><br>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/brett%40python.org" target="_blank">http://mail.python.org/mailman/options/python-dev/brett%40python.org</a><br>
<br></blockquote></div><br></div></div>