Hello all,

It has been some time since my last email. Hope you are doing well!

Some of you already know that Edisoft together with Embedded Brains (and some 
other institutions) are in a joint project to pre-qualify RTEMS according to 
the ESA (ECSS) standards.

One of the items required is the Software Coding Standard and one of the goals 
of the project is to minimize (hopefully eliminate) any deviation from a 
pre-qualified version of RTEMS and the community RTEMS.

To that end, we ask your ideas of how the RTEMS software coding standard should 
look like. We have looked at your current coding standard 
(https://docs.rtems.org/branches/master/eng/coding.html) and made a preliminary 
analysis to it (see table in attach). For an open-source project, these rules 
are very good. Unfortunately, from a pre-qualification point of view, there are 
not so many rules that are verifiable and even fewer that are automatically 
verifiable by a tool that we can use in the project.

We have some preferences:
 - have only automatically verified tools (to reduce the amount of manual 
verifications to a minimum)
 - use preferentially open-source tools
 - use at most 2 tools
 - the tool(s) should have a "well-defined" rule set and output (e.g. XML, 
YAML, whatever) so that the qualification toolchain (another tool that we are 
developing) can interpret the output and re-format the output to sphinx.

As a side note (please lets not focus on this now), after selecting the rules 
there could be some violations to the rule and still the pre-qualification be 
successful. For that, we just need to justify why the violation occurred (was 
not corrected) and why the code is correct.

We believe a good starting point would be the MISRA rules since they are well 
defined, lots of tools use them, they can eliminate a lot of errors. But we 
welcome any other suggestion. 
Please keep in mind that some tools, while they are good to use, don't give a 
well-defined ruleset. 
We have looked at cppcheck for some time and only now we found that there is a 
ruleset. You can get it by running "cppcheck --errorlist".

After we define this rule set, we suggest that the current standard (in 
https://docs.rtems.org/branches/master/eng/coding.html) be more or less renamed 
to a "Coding guidelines" instead of "Rules" because some of them are not 
verifiable and we believe the community should keep on following them. And 
create a new coding standard with the rules that are selected.

Kind regards,
Manuel Coutinho
Technical Manager
Aeronautics & Space Systems manuel.couti...@edisoft.pt 
Tel: +351 212 945 906
Fax: +351 212 945 999
Rua Calvet Magalhães, 245
2770-153 Paço de Arcos · Portugal
www.edisoft.pt

Attachment: RTEMS community SCS.ods
Description: RTEMS community SCS.ods

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to