As there appears to be some interest in branch coverage and the cool testing/metrics/quality tools that can be built upon it, I've proposed a GSOC project to start the ball rolling. (I assume it will start rolling either way, but allowing someone to devote more time to it is always nice).
I put a short writeup on the Python SOC wiki page. Here's a little more info. There's only so much one can do with line coverage, but that's the best python has at the moment because the one can only trace at a line level. If tracing were enabled to happen at a condition level, then branch (and path) coverage can be reported. For people who want to go hog wild and try to do full path coverage, they can go ahead. For those who want a little more than branch coverage, there is Structured Testing. (For people who don't want to go that far, perhaps you have a bunch of tests that take a while to run, if we have path data, it would be able to tell you which tests were redundant and you could cut your testing time).
Here's my thoughts on what the project might include:
I'm willing to mentor this. If you are interested please or have suggestions please let me know. Comments? Other ideas?
I wrote python4ply in part to try to do branch coverage via a different
approach. Instead of instrumenting Python via settrace, my thought is to
instrument the AST with extra instructions then generate bytecode from that
tree.