public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Re: RFC v2: Static Analysis in edk2 CI
       [not found] <BN0PR10MB49817DF57E4808C7B340A067DEAB9@BN0PR10MB4981.namprd10.prod.outlook.com>
@ 2022-06-13 18:54 ` Michael D Kinney
  2022-06-13 21:54   ` [edk2-rfc] " Pedro Falcato
  0 siblings, 1 reply; 6+ messages in thread
From: Michael D Kinney @ 2022-06-13 18:54 UTC (permalink / raw)
  To: rfc@edk2.groups.io, POLUDOV, FELIX, devel@edk2.groups.io

+devel@edk2.groups.io

Mike

> -----Original Message-----
> From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Felix Polyudov via groups.io
> Sent: Monday, June 13, 2022 10:48 AM
> To: rfc@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>
> Subject: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
> 
> This is version 2 of the proposal that provides additional details regarding the bring up process.
> 
> The initial version is at https://edk2.groups.io/g/rfc/message/696
> 
> The goal of the proposal is integration of the static analysis (SA) into the edk2 workflow.
> 
> - Use Open Coverity SA service to scan edk2 repository. The service is free for open source projects.
>     edk2 Open Coverity project: https://scan.coverity.com/projects/tianocore-edk2
> - Update edk2 CI scripts to run analysis once a week
>    - Perform analysis on all the edk2 packages using package DSC files that are used for CI build tests
>    (Coverity analysis is executed in the course of a specially instrumented project build).
>    - SA results are uploaded to scan.coverity.com. To access them one would need to register on the site and request tianocore-
> edk2 project access. The site can be used to triage the reported issues. Confirmed issues can be addressed using a standard edk2
> process (Bugzilla, mailing list).
> - During the initial bring up period, access to the SA results is restricted to stewards, maintainers, and members of the
> TianoCore InfoSec group, who are encouraged to review reported issues with the primary goal of identifying security-related
> issues. All such issues should be handled in accordance with the following guidelines:
>   https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Security-Issues
> - The initial bring up period ends when embargo for all the identified security issues ends or after 30 days if no security
> issues have been identified
> - Once brig up period is over, SA results access is open to everybody.
> - The package maintainers should monitor weekly scan results for a newly reported issues and reach back to original patch
> submitters to resolve them. Package maintainers can revert the patch if no action is taken by the submitter.
> 
> -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication
> is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this
> message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly
> prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all
> copies of the transmission.
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
  2022-06-13 18:54 ` RFC v2: Static Analysis in edk2 CI Michael D Kinney
@ 2022-06-13 21:54   ` Pedro Falcato
  2022-06-13 22:59     ` Rebecca Cran
  0 siblings, 1 reply; 6+ messages in thread
From: Pedro Falcato @ 2022-06-13 21:54 UTC (permalink / raw)
  To: rfc, Kinney, Michael D; +Cc: POLUDOV, FELIX, devel@edk2.groups.io

[-- Attachment #1: Type: text/plain, Size: 3377 bytes --]

(Replying under Mike for devel visibility)

Felix,

Why coverity? I feel like we could run something akin to LLVM's clang-tidy
+ scan-build; it's open source (transparent *and* we can improve it or add
UEFI quirks) and doesn't rely on a third-party service. I'm sure we could
figure something out for hosting the thing. Otherwise, looks good to me.

Thanks,
Pedro

On Mon, Jun 13, 2022 at 7:54 PM Michael D Kinney <michael.d.kinney@intel.com>
wrote:

> +devel@edk2.groups.io
>
> Mike
>
> > -----Original Message-----
> > From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Felix
> Polyudov via groups.io
> > Sent: Monday, June 13, 2022 10:48 AM
> > To: rfc@edk2.groups.io
> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>
> > Subject: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
> >
> > This is version 2 of the proposal that provides additional details
> regarding the bring up process.
> >
> > The initial version is at https://edk2.groups.io/g/rfc/message/696
> >
> > The goal of the proposal is integration of the static analysis (SA) into
> the edk2 workflow.
> >
> > - Use Open Coverity SA service to scan edk2 repository. The service is
> free for open source projects.
> >     edk2 Open Coverity project:
> https://scan.coverity.com/projects/tianocore-edk2
> > - Update edk2 CI scripts to run analysis once a week
> >    - Perform analysis on all the edk2 packages using package DSC files
> that are used for CI build tests
> >    (Coverity analysis is executed in the course of a specially
> instrumented project build).
> >    - SA results are uploaded to scan.coverity.com. To access them one
> would need to register on the site and request tianocore-
> > edk2 project access. The site can be used to triage the reported issues.
> Confirmed issues can be addressed using a standard edk2
> > process (Bugzilla, mailing list).
> > - During the initial bring up period, access to the SA results is
> restricted to stewards, maintainers, and members of the
> > TianoCore InfoSec group, who are encouraged to review reported issues
> with the primary goal of identifying security-related
> > issues. All such issues should be handled in accordance with the
> following guidelines:
> >
> https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Security-Issues
> > - The initial bring up period ends when embargo for all the identified
> security issues ends or after 30 days if no security
> > issues have been identified
> > - Once brig up period is over, SA results access is open to everybody.
> > - The package maintainers should monitor weekly scan results for a newly
> reported issues and reach back to original patch
> > submitters to resolve them. Package maintainers can revert the patch if
> no action is taken by the submitter.
> >
> > -The information contained in this message may be confidential and
> proprietary to American Megatrends (AMI). This communication
> > is intended to be read only by the individual or entity to whom it is
> addressed or by their designee. If the reader of this
> > message is not the intended recipient, you are on notice that any
> distribution of this message, in any form, is strictly
> > prohibited. Please promptly notify the sender by reply e-mail or by
> telephone at 770-246-8600, and then delete or destroy all
> > copies of the transmission.
> >
> >
> >
> >
>
>
>
> 
>
>
>

-- 
Pedro Falcato

[-- Attachment #2: Type: text/html, Size: 4870 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
  2022-06-13 21:54   ` [edk2-rfc] " Pedro Falcato
@ 2022-06-13 22:59     ` Rebecca Cran
       [not found]       ` <30179.1655232215857794558@groups.io>
  0 siblings, 1 reply; 6+ messages in thread
From: Rebecca Cran @ 2022-06-13 22:59 UTC (permalink / raw)
  To: rfc, pedro.falcato, Kinney, Michael D
  Cc: POLUDOV, FELIX, devel@edk2.groups.io

LLVM's tools also appear to be much easier to review, for other people 
to run etc. I'd suggest at least starting with clang-tidy + scan-build 
and possibly adding Coverity later.

I've found the Coverity tools, while very powerful, tend to get ignored 
after a while because it's quite a process to keep it running, go 
through the issues it detects and keep the database up-to-date etc.


-- 

Rebecca Cran


On 6/13/22 15:54, Pedro Falcato wrote:
> (Replying under Mike for devel visibility)
>
> Felix,
>
> Why coverity? I feel like we could run something akin to LLVM's clang-tidy
> + scan-build; it's open source (transparent *and* we can improve it or add
> UEFI quirks) and doesn't rely on a third-party service. I'm sure we could
> figure something out for hosting the thing. Otherwise, looks good to me.
>
> Thanks,
> Pedro
>
> On Mon, Jun 13, 2022 at 7:54 PM Michael D Kinney <michael.d.kinney@intel.com>
> wrote:
>
>> +devel@edk2.groups.io
>>
>> Mike
>>
>>> -----Original Message-----
>>> From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Felix
>> Polyudov via groups.io
>>> Sent: Monday, June 13, 2022 10:48 AM
>>> To: rfc@edk2.groups.io
>>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>
>>> Subject: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
>>>
>>> This is version 2 of the proposal that provides additional details
>> regarding the bring up process.
>>> The initial version is at https://edk2.groups.io/g/rfc/message/696
>>>
>>> The goal of the proposal is integration of the static analysis (SA) into
>> the edk2 workflow.
>>> - Use Open Coverity SA service to scan edk2 repository. The service is
>> free for open source projects.
>>>      edk2 Open Coverity project:
>> https://scan.coverity.com/projects/tianocore-edk2
>>> - Update edk2 CI scripts to run analysis once a week
>>>     - Perform analysis on all the edk2 packages using package DSC files
>> that are used for CI build tests
>>>     (Coverity analysis is executed in the course of a specially
>> instrumented project build).
>>>     - SA results are uploaded to scan.coverity.com. To access them one
>> would need to register on the site and request tianocore-
>>> edk2 project access. The site can be used to triage the reported issues.
>> Confirmed issues can be addressed using a standard edk2
>>> process (Bugzilla, mailing list).
>>> - During the initial bring up period, access to the SA results is
>> restricted to stewards, maintainers, and members of the
>>> TianoCore InfoSec group, who are encouraged to review reported issues
>> with the primary goal of identifying security-related
>>> issues. All such issues should be handled in accordance with the
>> following guidelines:
>> https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Security-Issues
>>> - The initial bring up period ends when embargo for all the identified
>> security issues ends or after 30 days if no security
>>> issues have been identified
>>> - Once brig up period is over, SA results access is open to everybody.
>>> - The package maintainers should monitor weekly scan results for a newly
>> reported issues and reach back to original patch
>>> submitters to resolve them. Package maintainers can revert the patch if
>> no action is taken by the submitter.
>>> -The information contained in this message may be confidential and
>> proprietary to American Megatrends (AMI). This communication
>>> is intended to be read only by the individual or entity to whom it is
>> addressed or by their designee. If the reader of this
>>> message is not the intended recipient, you are on notice that any
>> distribution of this message, in any form, is strictly
>>> prohibited. Please promptly notify the sender by reply e-mail or by
>> telephone at 770-246-8600, and then delete or destroy all
>>> copies of the transmission.
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
       [not found]         ` <CAKbZUD3Pc+AEcOFjNjjjsV5KwBVVGochh9k4ufd1VpbF_xasjQ@mail.gmail.com>
@ 2022-06-14 20:00           ` Pedro Falcato
  2022-06-24  1:29             ` Michael D Kinney
  0 siblings, 1 reply; 6+ messages in thread
From: Pedro Falcato @ 2022-06-14 20:00 UTC (permalink / raw)
  To: rfc, POLUDOV, FELIX; +Cc: Rebecca Cran, edk2-devel-groups-io

[-- Attachment #1: Type: text/plain, Size: 1177 bytes --]

(Re-adding devel@ since Felix dropped it)

On Tue, Jun 14, 2022 at 8:59 PM Pedro Falcato <pedro.falcato@gmail.com>
wrote:

> Just want to note that if we want to go ahead with fuzzing (I detailed a
> possible plan to do so in the mailing list a month or so ago) we will
> definitely need somewhere to run fuzzing (even if it's Google's syzbot).
> Getting somewhere where we can run static analysis, fuzzing just makes
> sense IMO (hell, who knows, maybe even CI or something like Gerrit for
> mailing list-less code reviews).
>
> On Tue, Jun 14, 2022 at 7:43 PM Felix Polyudov via groups.io <felixp=
> ami.com@groups.io> wrote:
>
>> Yes, LLVM/CLANG Static Analyzer is another possibility. I've mentioned it
>> in the first version of the RFC.
>> CodeChecker (https://codechecker.readthedocs.io/en/latest/) is an open
>> source front-end for the scan-build and clang-tidy.
>> It simplifies analyzer configuration and provides web-based report
>> storage. However, it has to be hosted somewhere.
>> If somebody has an idea on how edk2 community can host the CodeChecker,
>> that's definitely an option to consider.
>>
>>
>> 
>>
>>
>>
>
> --
> Pedro Falcato
>


-- 
Pedro Falcato

[-- Attachment #2: Type: text/html, Size: 2069 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
  2022-06-14 20:00           ` Pedro Falcato
@ 2022-06-24  1:29             ` Michael D Kinney
  2022-06-27 17:07               ` Felix Polyudov
  0 siblings, 1 reply; 6+ messages in thread
From: Michael D Kinney @ 2022-06-24  1:29 UTC (permalink / raw)
  To: rfc@edk2.groups.io, pedro.falcato@gmail.com, POLUDOV, FELIX,
	Kinney, Michael D
  Cc: Rebecca Cran, edk2-devel-groups-io

I have Coverity scan builds running in a GitHub Action and then uploaded to Coverity.

We should be able to configure a GitHub Action to run other analyzers.

Mike

> -----Original Message-----
> From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Pedro Falcato
> Sent: Tuesday, June 14, 2022 1:00 PM
> To: rfc@edk2.groups.io; POLUDOV, FELIX <felixp@ami.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>; edk2-devel-groups-io <devel@edk2.groups.io>
> Subject: Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
> 
> (Re-adding devel@ since Felix dropped it)
> 
> On Tue, Jun 14, 2022 at 8:59 PM Pedro Falcato <pedro.falcato@gmail.com>
> wrote:
> 
> > Just want to note that if we want to go ahead with fuzzing (I detailed a
> > possible plan to do so in the mailing list a month or so ago) we will
> > definitely need somewhere to run fuzzing (even if it's Google's syzbot).
> > Getting somewhere where we can run static analysis, fuzzing just makes
> > sense IMO (hell, who knows, maybe even CI or something like Gerrit for
> > mailing list-less code reviews).
> >
> > On Tue, Jun 14, 2022 at 7:43 PM Felix Polyudov via groups.io <felixp=
> > ami.com@groups.io> wrote:
> >
> >> Yes, LLVM/CLANG Static Analyzer is another possibility. I've mentioned it
> >> in the first version of the RFC.
> >> CodeChecker (https://codechecker.readthedocs.io/en/latest/) is an open
> >> source front-end for the scan-build and clang-tidy.
> >> It simplifies analyzer configuration and provides web-based report
> >> storage. However, it has to be hosted somewhere.
> >> If somebody has an idea on how edk2 community can host the CodeChecker,
> >> that's definitely an option to consider.
> >>
> >>
> >>
> >>
> >>
> >>
> >
> > --
> > Pedro Falcato
> >
> 
> 
> --
> Pedro Falcato
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
  2022-06-24  1:29             ` Michael D Kinney
@ 2022-06-27 17:07               ` Felix Polyudov
  0 siblings, 0 replies; 6+ messages in thread
From: Felix Polyudov @ 2022-06-27 17:07 UTC (permalink / raw)
  To: rfc@edk2.groups.io, michael.d.kinney@intel.com,
	pedro.falcato@gmail.com
  Cc: Rebecca Cran, edk2-devel-groups-io

Yes, we can run other analyzer; however, in case of CodeChecker we also need a server to upload the result to.

> -----Original Message-----
> From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Michael D
> Kinney via groups.io
> Sent: Thursday, June 23, 2022 9:30 PM
> To: rfc@edk2.groups.io; pedro.falcato@gmail.com; Felix Polyudov
> <Felixp@ami.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>; edk2-devel-groups-io
> <devel@edk2.groups.io>
> Subject: [EXTERNAL] Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
>
>
> **CAUTION: The e-mail below is from an external source. Please exercise
> caution before opening attachments, clicking links, or following guidance.**
>
> I have Coverity scan builds running in a GitHub Action and then uploaded to
> Coverity.
>
> We should be able to configure a GitHub Action to run other analyzers.
>
> Mike
>
> > -----Original Message-----
> > From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Pedro
> > Falcato
> > Sent: Tuesday, June 14, 2022 1:00 PM
> > To: rfc@edk2.groups.io; POLUDOV, FELIX <felixp@ami.com>
> > Cc: Rebecca Cran <rebecca@bsdio.com>; edk2-devel-groups-io
> > <devel@edk2.groups.io>
> > Subject: Re: [edk2-rfc] RFC v2: Static Analysis in edk2 CI
> >
> > (Re-adding devel@ since Felix dropped it)
> >
> > On Tue, Jun 14, 2022 at 8:59 PM Pedro Falcato
> > <pedro.falcato@gmail.com>
> > wrote:
> >
> > > Just want to note that if we want to go ahead with fuzzing (I
> > > detailed a possible plan to do so in the mailing list a month or so
> > > ago) we will definitely need somewhere to run fuzzing (even if it's Google's
> syzbot).
> > > Getting somewhere where we can run static analysis, fuzzing just
> > > makes sense IMO (hell, who knows, maybe even CI or something like
> > > Gerrit for mailing list-less code reviews).
> > >
> > > On Tue, Jun 14, 2022 at 7:43 PM Felix Polyudov via groups.io
> > > <felixp= ami.com@groups.io> wrote:
> > >
> > >> Yes, LLVM/CLANG Static Analyzer is another possibility. I've
> > >> mentioned it in the first version of the RFC.
> > >> CodeChecker
> > >>
> (https://codechecker.readthedocs.io/en/latest/) is an open source front-end
> for the scan-build and clang-tidy.
> > >> It simplifies analyzer configuration and provides web-based report
> > >> storage. However, it has to be hosted somewhere.
> > >> If somebody has an idea on how edk2 community can host the
> > >> CodeChecker, that's definitely an option to consider.
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >
> > > --
> > > Pedro Falcato

-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-06-27 17:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <BN0PR10MB49817DF57E4808C7B340A067DEAB9@BN0PR10MB4981.namprd10.prod.outlook.com>
2022-06-13 18:54 ` RFC v2: Static Analysis in edk2 CI Michael D Kinney
2022-06-13 21:54   ` [edk2-rfc] " Pedro Falcato
2022-06-13 22:59     ` Rebecca Cran
     [not found]       ` <30179.1655232215857794558@groups.io>
     [not found]         ` <CAKbZUD3Pc+AEcOFjNjjjsV5KwBVVGochh9k4ufd1VpbF_xasjQ@mail.gmail.com>
2022-06-14 20:00           ` Pedro Falcato
2022-06-24  1:29             ` Michael D Kinney
2022-06-27 17:07               ` Felix Polyudov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox