This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gwk
Recipients ammar2, gwk, vstinner, xdegaye
Date 2017-02-06.19:01:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1486407707.18.0.620208064806.issue29400@psf.upfronthosting.co.za>
In-reply-to
Content
I'm not sure exactly, but the way I see it (for code coverage), we want to trace transitions between basic blocks. So I would define it as: each entry into a BB is traced, with a tuple of (previous_offset, current_offset). This way when a function call starts, we callback with (-1, 0), and then get a callback for every transition between BBs. The code is well covered if we observe every possible transition.

I am not clear on the precise details, e.g. regarding unconditional branches. Since for code coverage this is essentially on optimization over per-instruction mode, I intend to first work out correctness details and test cases for the coverage tool, and then once the tests solid add the optimization.

I'm happy to discuss more, but this aspect is a lower priority for me (I still have to work out remaining correctness issues with my opcode analysis). Would it make sense to split it out into a second issue?
History
Date User Action Args
2017-02-06 19:01:47gwksetrecipients: + gwk, vstinner, xdegaye, ammar2
2017-02-06 19:01:47gwksetmessageid: <1486407707.18.0.620208064806.issue29400@psf.upfronthosting.co.za>
2017-02-06 19:01:47gwklinkissue29400 messages
2017-02-06 19:01:46gwkcreate