Addition of Rule Checkers
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Aug 2 06:18:01 UTC 2019
On 02/08/2019 03:35, Chris Johns wrote:
> On 30/7/19 4:32 pm, Sebastian Huber wrote:
>> On 30/07/2019 01:01, Joel Sherrill wrote:
>>>
>>>
>>> On Mon, Jul 29, 2019 at 5:23 PM Gedare Bloom <gedare at rtems.org
>>> <mailto:gedare at rtems.org>> wrote:
>>>
>>> On Wed, Jul 24, 2019 at 7:16 AM Joel Sherrill <joel at rtems.org
>>> <mailto:joel at rtems.org>> wrote:
>>> >
>>> > Hi
>>> >
>>> > I just wanted to make sure we followed proper procedures and
>>> policies when considering rule checkers.
>>> >
>>> I guess these comments are germane to the other thread, but I want to
>>> reflect here a bit.
>>>
>>> > 1. The license must appropriate.
>>> >
>>> Can you expand what you mean by this?
>>>
>>>
>>> It must be a FLOSS tool -- it can't be proprietary. We use Scan but it has
>>> issues.
>>>
>>> It also must be available on the normal set of commonly used hosts.
>>>
>>>
>>> > 2. There should be some basic requirements that the tool is
>>> expected to meet to be fit for purpose
>>> >
>>> > 3. The tool must support the range of development hosts used in
>>> the Community.
>>> >
>>> Only if we make it a requirement for developers to check these rules
>>> locally before submitting patches/commits. If we had a server for
>>> example that could accept submissions from developers, this would be
>>> irrelevant?
>>>
>>>
>>> If we relax this rule, then we will end up with a one host tool and have to have
>>> a server that runs it. Our infrastructure is FreeBSD so saying it supports the
>>> range
>>> of hosts is likely saying it supports our servers, Linux, MacOS, Cygwin, and
>>> MingW
>>
>> I would not make it a requirement that every user must be able to run the tools
>> on a wide range of platforms. We should clearly identify the tools (e.g.
>> version) and the tool configuration (rules, scope).
>
> I am not sure I understand what this means, specifically ...
>
>> It should enable someone
>> else to set up the tool and run it in a configuration used by the RTEMS project.
>
> What does "set up the tool" mean? Do I need to have a suitable host available
> that runs the tool if my preferred host is not supported?
You don't "have to". Using this stuff should be optional, but it should
be reproducible.
>
>> What is the overall goal of this checker stuff? We want that they find bugs for
>> us which we can fix. For the checker tools we have at least to categories: 1.
>> static analysis and 2. coding rule checkers.
>
> We need to balance this with needing to maintain a low effort bar for patches or
> we will not see them.
>
>> 1. For the static analysis tools I think it doesn't matter how they are run or
>> by whom. If they find a bug, we fix it.
>
> Is this a precondition for submission or pushing of a patch? I think you are
> saying it is not but I cannot tell.
I would not make it mandatory to run static analysis tools before you
submit a patch.
If the project has a patch check pipeline, then this is another thing.
For example in Doorstop, you submit a pull request, this triggers some
CI tools, e.g. style checker, documentation checker, static analysis,
test suite runs and then gives you a passed or failed indication. The
maintainer will not look at pull requests which are in a failed state.
>> 2. This is a bit different to the old style coding rule checkers. There aim is
>> to write the code with rules so that bugs are prevented in the first place (e.g.
>> MISRA). I think these tools must be freely available.
>
> Agreed which brings us back to Joel's conditions. I support those as they are
> based on our long history and being bitten before by not being as strict as we
> should have. I am not sure we need to match the host list we support for
> development of RTEMS applications however this discussion become circular.
>
>> Rule violations will result in patches which don't fix bugs.
>
> What happens to patches that do not meet the rules but fix a bug? Are the rules
> that full proof?
We already review patches with respect to the coding guidelines. In the
score at least they were quite strictly followed.
> Is such a patch rejected, ignored, or is it expected a developer sorts this out
> so the patch can be pushed? I am concerned about an increase in the open source
> tax for developers with open commit access.
>
> We need to maintain workable solution for all the unfunded effort and a bar that
> is suitably low so patches from the community can be posted and accepted.
> Manuel's comment about needing rules that are understandable is important,
> knowing there are rules is also important and then being able to check those
> rules becomes important.
Yes, this is also my point of view.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list