On Fri, Nov 4, 2011 at 9:53 AM, Fabien Chouteau <chout...@adacore.com> wrote: > On 04/11/2011 09:36, Stefan Hajnoczi wrote: >> On Thu, Nov 03, 2011 at 10:35:28AM +0100, Fabien Chouteau wrote: >>> On 03/11/2011 08:44, Stefan Hajnoczi wrote: >>>> On Wed, Nov 2, 2011 at 5:39 PM, Fabien Chouteau <chout...@adacore.com> >>>> wrote: >>>>> On 29/10/2011 15:52, Alexander Graf wrote: >>>> I took a quick peak at the qemu-trace.[ch] from couverture and it >>>> looks along the lines of the instrumentation that others have been >>>> doing too. I hope you have time to propose the coverage >>>> instrumentation for upstream QEMU. >>>> >>> >>> I don't know much about other instrumentations in Qemu (pointers are >>> welcome :), but what we have in couverture-qemu is not trivial, >>> especially when it comes to MC/DC analysis. You should take a look at >>> 201005-erts2.pdf if you want technical details. >> >> My impression was that the QEMU portion of instrumentation was fairly >> simple - it writes out trace records at various interesting points >> during guest execution in TCG. > > It's not rocket science but for MC/DC you have to log history of > branches (taken or not), but if you record everything the output will > unreasonably grow. > >> >> I think fancy analysis scripts do not have to be part of QEMU but they >> could be added to scripts/ or put in a new contrib/ directory. > > What script are you talking about? GNATcoverage is far more complex than > a fancy script :)
I'm not up to speed on GNATcoverage or couverture, so apologies if I'm wrong - please let me know. Still, I think we're talking about the same thing here: http://www.adacore.com/home/products/gnatpro/add-on_technologies/gnatcoverage/ Looks like GNATemulator is QEMU with additional instrumentation. GNATcoverage takes the execution traces that the instrumented QEMU produced. So when I said "fancy analysis scripts", I meant the tool that analyzes the trace. >> On the train, can't access the PDF you mentioned right now. > > Can't you checkout the repository? Sorry, I was reading/replying to mail offline. I now grabbed the git repo and looked at commit b82469c906829865693b4fad0edb0a069604a8d9, which I believe is the main change needed to add couverture tracing to QEMU. I'm trying to see if you want to send QEMU changes upstream? Stefan