cFS icon indicating copy to clipboard operation
cFS copied to clipboard

Consider analyzing conditionals for mc/dc coverage

Open skliper opened this issue 1 year ago • 2 comments

Checklist (Please check before submitting)

  • [x] I reviewed the Contributing Guide.
  • [x] I reviewed the cFS README.md file to see if the feature is in the major future work.
  • [x] I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.

Is your feature request related to a problem? Please describe. Safety critical software often requires MC/DC coverage, which per various sources can be proven using lcov/gcov if all conditionals are decision trees (not graphs). See https://www.youtube.com/watch?v=k0_PF8MtEEo.

Describe the solution you'd like Run the cFS core and shared apps through a tool to check for decision trees, see https://gtd-gmbh.gitlab.io/mcdc-checker/mcdc-checker/ as an example. Convert any graphs to trees. Ideally put this in CI/CD to enforce using trees.

Describe alternatives you've considered Could use a commercial tool, but typically not as friendly w/ open source CI/CD.

Additional context Not doing this means the current coverage reporting can't prove the independence criteria of MC/DC is being met.

Requester Info Jacob Hageman - NASA/GSFC

@pepepr08

skliper avatar Dec 08 '23 21:12 skliper

This is a very welcome addition! Is there any information on the mcdc_checker tool? I couldn't find source or license information at https://gtd-gmbh.gitlab.io/mcdc-checker/mcdc-checker/

embeddedpenguin avatar Jan 29 '24 20:01 embeddedpenguin

This is a very welcome addition! Is there any information on the mcdc_checker tool? I couldn't find source or license information at https://gtd-gmbh.gitlab.io/mcdc-checker/mcdc-checker/

Nevermind, source can be found here: https://gitlab.com/gtd-gmbh/mcdc-checker/mcdc-checker and licensing information here: https://gitlab.com/gtd-gmbh/mcdc-checker/mcdc-checker/-/blob/master/LICENSE?ref_type=heads

embeddedpenguin avatar Jan 29 '24 20:01 embeddedpenguin