public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: David Stacey <drstacey@tiscali.co.uk>
To: cygwin@cygwin.com
Subject: Re: Coverity Scan
Date: Sat, 17 May 2014 23:13:00 -0000	[thread overview]
Message-ID: <5377CD8E.1090501@tiscali.co.uk> (raw)
In-Reply-To: <20140517101240.GO430@calimero.vinschen.de>

On 17/05/14 11:12, Corinna Vinschen wrote:
> On May 16 21:00, David Stacey wrote:
>> OK - we're in! You can find our project page at 
>> https://scan.coverity.com/projects/2250. Off the list, I've sent 
>> e-mails to Corinna and CGF inviting them to join the project ;-) 
> I got no such mail.  You didn't try the account I'm using for the
> mailing list, I hope?  Please use my company address vinschen AT
> redhat DOT com.

Apologies - another invitation sent to the correct e-mail address. 
Further apologies if I should have known your correct e-mail address 
already!

> I have no idea how this works. I had hoped I'd just get emails with 
> the scan results, the less fancy the solution, the better. We can set 
> this up using gpg encrypted mails, that would be the most elegant 
> solution, IMHO. 

I could probably get Coverity Scan to ping you an e-mail if a new defect 
is introduced. It's probably best if you look at the web page above. 
Once you accept the invitation and log in, you'll see a button to view 
the defects. For each defect, you'll see the defect itself, along with 
the path that the analysis engine took to get there.

For example, consider the case of reading an uninitialised variable. The 
trace would start at the point the variable is declared. You would see 
the path taken through the code (e.g. taking the 'true' path of an 'if' 
statement, or not executing a 'while' loop because the condition was 
never satisfied) until you arrive at a line where the variable is read 
without ever having been initialised. This is more useful than simply 
complaining about reading an uninitialised variable: often these can be 
logic errors, i.e. the coder didn't consider a certain scenario, or 
thought that all paths through the code would initialise the variable at 
some point. As Coverity shows you the path through the code (even 
between functions), you see the hole in the logic.

>> There is still a little work to do in setting up the Coverity scan. The next
>> step is to group the code into logical clusters, which Coverity calls
>> Components. Typically, this is done on directories or other file groupings,
>> and the tool allows you to concentrate on just one of these components at
>> once. If you let me know what components you'd like, I'll set them up.
> Well, the problem is that we're going to switch to git pretty soon, and
> that will slightly change the directory layout.  But basically, in the
> winsup dir, you see the subdirs
>
>    cygserver
>    cygwin
>    doc
>    lsaauth
>    testsuite
>    utils
>
> Of those you can ignore
>
>    doc
>    testsuite
>
> The other four would be natural groups, I think.  The toplevel and
> winsup dirs don't need to be scanned either.

I've set up components for cygserver, cygwin, utils and newlib. There 
were no defects found in 'lsaauth' (which needs investigation in itself 
- I'll look at this). If our directory structure is going to change when 
we move to git then that is OK - I'll remap the components at the point 
we move. However, be aware that reorganising things can confuse Coverity 
- if you sign off any warnings as 'won't fix' then they may reappear if 
the offending code is moved into a different class or file.

> You are aware that we need a copyright assignment from you if you'd 
> like to provide patches, right? Please have a look at the "Before you 
> get started" section of http://cygwin.com/contrib.html

I'll limit my patches to the trivial kind that are ten lines or less. My 
present employer is amazingly supportive of the open source work that I 
do in my own time, and that boat doesn't need rocking.

> In theory, at the time of writing this, I'd suggest to include only cgf,
> yaakov, and me.

I've sent an invitation to Yaakov also.

Cheers,

Dave.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2014-05-17 20:59 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-25  5:33 David Stacey
2014-04-25  8:35 ` Corinna Vinschen
2014-04-25 12:20   ` David Stacey
2014-04-25 13:33     ` Corinna Vinschen
2014-04-25 15:53   ` Christopher Faylor
2014-04-25 19:09     ` David Arnstein
2014-05-16 20:03     ` David Stacey
2014-05-16 20:35       ` Jeffrey Altman
2014-05-17 16:13         ` Corinna Vinschen
2014-05-17 10:13       ` Corinna Vinschen
2014-05-17 23:13         ` David Stacey [this message]
2014-05-19  8:36           ` Corinna Vinschen
     [not found] <CAO1jNwuZhQoyccTTGJWcdUJHHQjHeYc5GZEyG-Hci5kfLaMcTA@mail.gmail.com>
2014-04-25  9:10 ` Fwd: " Jan Nijtmans
2014-04-25 12:17   ` Corinna Vinschen
2014-04-25 15:55     ` Christopher Faylor

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=5377CD8E.1090501@tiscali.co.uk \
    --to=drstacey@tiscali.co.uk \
    --cc=cygwin@cygwin.com \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).