cFS
cFS copied to clipboard
Consider analyzing conditionals for mc/dc coverage
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
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/
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