[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5] coverity: Store the modelling file in the source tree.



On Fri, 2014-01-24 at 16:59 +0000, George Dunlap wrote:
> On 01/24/2014 04:57 PM, Andrew Cooper wrote:
> > On 24/01/14 16:52, George Dunlap wrote:
> >> On 01/23/2014 03:19 PM, Andrew Cooper wrote:
> >>> On 23/01/14 15:13, George Dunlap wrote:
> >>>> On 01/23/2014 02:28 PM, Andrew Cooper wrote:
> >>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> >>>>> CC: Keir Fraser <keir@xxxxxxx>
> >>>>> CC: Jan Beulich <JBeulich@xxxxxxxx>
> >>>>> CC: Tim Deegan <tim@xxxxxxx>
> >>>>> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> >>>>> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> >>>>> CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> >>>>>
> >>>>> ---
> >>>>>
> >>>>> George:
> >>>>>      This is just documentation, and it would be nice to include it as
> >>>>> part of
> >>>>>      the 4.4 release.
> >>>>> ---
> >>>>>     misc/coverity_model.c |   98
> >>>>> +++++++++++++++++++++++++++++++++++++++++++++++++
> >>>>>     1 file changed, 98 insertions(+)
> >>>>>     create mode 100644 misc/coverity_model.c
> >>>>>
> >>>>> diff --git a/misc/coverity_model.c b/misc/coverity_model.c
> >>>>> new file mode 100644
> >>>>> index 0000000..418d25e
> >>>>> --- /dev/null
> >>>>> +++ b/misc/coverity_model.c
> >>>>> @@ -0,0 +1,98 @@
> >>>>> +/* Coverity Scan model
> >>>>> + *
> >>>>> + * This is a modelling file for Coverity Scan. Modelling helps to
> >>>>> avoid false
> >>>>> + * positives.
> >>>>> + *
> >>>>> + * - A model file can't import any header files.
> >>>>> + * - Therefore only some built-in primitives like int, char and void
> >>>>> are
> >>>>> + *   available but not NULL etc.
> >>>>> + * - Mode-ling doesn't need full structs and typedefs. Rudimentary
> >>>>> structs
> >>>>> + *   and similar types are sufficient.
> >>>>> + * - An uninitialized local pointer is not an error. It signifies
> >>>>> that the
> >>>>> + *   variable could be either NULL or have some data.
> >>>>> + *
> >>>>> + * Coverity Scan doesn't pick up modifications automatically. The
> >>>>> model file
> >>>>> + * must be uploaded by an admin in the analysis.
> >>>> So this file isn't compiled; it's manually uploaded as part of the
> >>>> coverity scanning process; and could be provided out-of-band, but it's
> >>>> just convenient to put it in the tree, particularly if any of these
> >>>> things should change as things go forward.  (Hence comparing it to
> >>>> documentation.)  Is that right?
> >>>>
> >>>>    -George
> >>>>
> >>> Correct.  I believe internally Coverity compiles it (at least to an
> >>> AST), but that is completely opaque to users of Scan.
> >> Right; I have a hard time coming up with a compelling reason to wait
> >> for this one.
> >>
> >> Release-acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> >>
> >> The name of the file might be a bit confusing though, if people think
> >> it is supposed to be compliled... would it make sense maybe to call it
> >> ".txt", and include some instructions at the top with a line that says
> >> "---- cut here 8< ---" or something?
> >>
> >>   -George
> > Not really - Coverity uses the file extension to work out how to
> > interpret the modelling file.  ".c" is correct here, and will cause
> > smart text editors to apply proper syntax highlighting.
> >
> > Alternates are .cpp and .java, depending on the primary language of the
> > project.
> 
> Yes, I assumed that *coverity* needs it to be a .c.  But it doesn't need 
> to be a .c file in the xen tree -- the instructions could say, "Place 
> the text below into a file named coverity_model.c".

This file is uploaded via a web interface. It'd be far more convenient
to browse with the browesers file dialog to the exact file in the xen
source tree.

Perhaps a README next to the file? Perhaps
misc/coverity/{README,model.c} ?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.