Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider analyzing conditionals for mc/dc coverage #721

Open
3 tasks done
skliper opened this issue Dec 8, 2023 · 2 comments
Open
3 tasks done

Consider analyzing conditionals for mc/dc coverage #721

skliper opened this issue Dec 8, 2023 · 2 comments
Labels

Comments

@skliper
Copy link
Contributor

skliper commented Dec 8, 2023

Checklist (Please check before submitting)

  • I reviewed the Contributing Guide.
  • I reviewed the cFS README.md file to see if the feature is in the major future work.
  • 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

@embeddedpenguin
Copy link

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants