I gave a talk at PyCon 2012 on Friday about my Python plugin for GCC,
how this lowers the barrier for entry to potential GCC hackers, and how
I've been using this to find reference-counting errors in 3rd-party
Python C extensions.

A video of the talk can be seen here:
http://pyvideo.org/video/648/static-analysis-of-python-extension-modules-using

The slides are here:
http://fedorapeople.org/~dmalcolm/presentations/pycon-2012/StaticAnalysisOfPythonExtensionModulesUsingGcc.html

We had a mini-sprint after the talk, and another yesterday in the main
sprints, covering these topics:
  - getting the plugin to build on OS X (using MacPorts' build of
gcc-4.6.1): this works, but needed some compat patching around some of
the differences between glibc and OS X's libc (also case-sensitivity of
filenames).  I'll try to merge the changes once I've got back from PyCon
  - improving the static analysis engine: currently it takes the
simplistic approach of trying to generate all traces of execution
through the function in a big tree, which suffers from exponentially
explosions.  I'm hoping the insides can be reworked to implement an
iterative solver that can handle loops more robustly (data flow
equations)
  - improving the HTML error reports that the analyzer generates: I have
lots of ideas on this, which I need to sketch out.  I'm hoping to
decouple the analysis engine from the presentation layer, to make it
easier for a graphic designer who knows CSS, JS, etc to hack up a report
generator that gives better readability and aesthetics compared to my
crudely functional HTML+canvas abominations.

Hope this is interesting
Dave

Reply via email to