我最近参加了CS258免费在线课程,里面提到了一个叫做MC/DC覆盖的代码覆盖,它用在嵌入式软件中,比如汽车、飞机上的计算机等...
但我找不到免费工具来显示我的计划的 MC/DC 覆盖范围,有什么建议吗?
我最近参加了CS258免费在线课程,里面提到了一个叫做MC/DC覆盖的代码覆盖,它用在嵌入式软件中,比如汽车、飞机上的计算机等...
但我找不到免费工具来显示我的计划的 MC/DC 覆盖范围,有什么建议吗?
我相信 Project Coverage(现在称为Project Couverture)可能是对非侵入性和开源覆盖分析问题的第一个好的答案。他们最新的代码版本目前在这里,并且可以在这里看到一英里高的项目演示。
至于 SQLite 如何使用 just 声明 MC/DC 覆盖率gcov
,他们基于这样一个事实:在 C 中,逻辑 AND 和 OR 遵循短路评估;这意味着在任何布尔表达式比较中......
if (((A == B) || (C != D)) && (E != F)) ...
...根据定义,C 将在第一个“决定”整体的表达式处停止计算;因此,如果 A 等于 B,则决策已经完成 - 如果不是,则继续下一个表达式,依此类推。这意味着 MC/DC 要求...
Each condition in a decision must be shown to *independently*
affect the outcome of the decision
...有点“默认覆盖”。
不过,有一个例外 - 请在此处阅读他们的解释。