qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fabien Chouteau <chouteau@adacore.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: "Lluís Vilanova" <vilanova@ac.upc.edu>,
	"Alexander Graf" <agraf@suse.de>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] GSoC mentor summit QEMU users session
Date: Thu, 03 Nov 2011 10:35:28 +0100	[thread overview]
Message-ID: <4EB26060.4060003@adacore.com> (raw)
In-Reply-To: <CAJSP0QX2Q2WpXETTSRvUjK4s_82=qYHvYBABCGzmd=LXuDLY1A@mail.gmail.com>

On 03/11/2011 08:44, Stefan Hajnoczi wrote:
> On Wed, Nov 2, 2011 at 5:39 PM, Fabien Chouteau <chouteau@adacore.com> wrote:
>> On 29/10/2011 15:52, Alexander Graf wrote:
>>> The RTEMS guys use QEMU to do coverage testing of their kernel code.
>>> They run their test-cases and see if all of their code and branches
>>> have been hit. Adacore seems to have a patches version of QEMU to
>>> provide an easily parsable log file for that sort of thing. Might be a
>>> good idea to consolidate upstream. Patches welcome :)
>>
>> That's right we do have a coverage analysis solution based on Qemu.
>> Execution traces generated by Qemu are analyzed by the GNATcoverage
>> tool to provide object, statement, decision or Modified
>> Condition/Decision coverage analysis.
>>
>> The main interest of Qemu is to provide execution traces without
>> code instrumentation.
>>
>> Alex, it is of course in our plans to submit patches to the upstream Qemu ;)
>>
>> I give you some pointers if you want to find more on GNATcoverage (technical stuff :)
>>
>>  * GNATcoverage is hosted on forge.open-do.org. You can checkout the
>>   repository with:
>>
>>     $ svn checkout svn://scm.forge.open-do.org/scmrepos/svn/couverture/trunk/couverture
>>
>>   From there, you have
>>     * the tool source tree in "tools"
>>     * a synthesis article in "publications" : 201005-erts2.pdf
>>
>>  * GNATcov's documentation attached to this email
>
> Thanks for mentioning Couverture.  Just yesterday I talked to neo_1987
> on IRC who is trying to get QEMU /w couverture to work for him.

Great, good to know!

>  We ran into a little bit of confusion because the -trace command-line
>  option is also used in upstream QEMU but for a different purpose
>  (http://wiki.qemu.org/Features/Tracing).
>

We had the same problem, the option is now -exec-trace. Checkout the
qemu-head branch of https://forge.open-do.org/anonscm/git/couverture-qemu/couverture-qemu.git

> 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.

-- 
Fabien Chouteau

  reply	other threads:[~2011-11-03  9:36 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-29 13:52 [Qemu-devel] GSoC mentor summit QEMU users session Alexander Graf
2011-10-31 13:12 ` Peter Maydell
2011-11-01  0:08   ` Alexander Graf
2011-11-01  1:35     ` Peter Maydell
2011-11-01  4:29       ` Alexander Graf
2011-11-01 10:05   ` Gerd Hoffmann
2011-11-01 23:11     ` Chris Johns
2011-11-02 17:44   ` Fabien Chouteau
2011-11-02 18:17     ` Jan Kiszka
2011-11-02 18:29       ` Anthony Liguori
2011-11-02 18:34         ` Alexander Graf
2011-11-02 18:46           ` Jan Kiszka
2011-11-02 18:47             ` Alexander Graf
2011-11-02 19:07               ` Peter Maydell
2011-11-02 19:27                 ` Alexander Graf
2011-11-02 19:35                   ` Anthony Liguori
2011-11-02 20:24                     ` Blue Swirl
2011-11-02 20:42                       ` Anthony Liguori
2011-11-03  7:34                         ` Markus Armbruster
2011-11-03  7:46                     ` Markus Armbruster
2011-11-03  8:36                       ` Andreas Färber
2011-11-04 15:47                         ` Alexander Graf
2011-11-02 18:50             ` Anthony Liguori
2011-11-02 18:52               ` Jan Kiszka
2011-11-02 18:51           ` Anthony Liguori
2011-11-03  7:38             ` Stefan Hajnoczi
2011-11-03  7:44           ` Markus Armbruster
2011-11-01 14:28 ` Andreas Färber
2011-11-01 14:50   ` Anthony Liguori
2011-11-02 17:39 ` Fabien Chouteau
2011-11-03  7:44   ` Stefan Hajnoczi
2011-11-03  9:35     ` Fabien Chouteau [this message]
2011-11-04  8:36       ` Stefan Hajnoczi
2011-11-04  9:53         ` Fabien Chouteau
2011-11-04 12:04           ` Stefan Hajnoczi
2011-11-04 14:36             ` Fabien Chouteau
2011-11-04 18:45         ` Lluís Vilanova
2011-11-07 10:16           ` Fabien Chouteau
2011-11-07 11:50             ` Lluís Vilanova
2011-11-07 13:51               ` Fabien Chouteau
2011-11-07 14:17                 ` Lluís Vilanova

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EB26060.4060003@adacore.com \
    --to=chouteau@adacore.com \
    --cc=agraf@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=vilanova@ac.upc.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).