覆盖率分析:忽略第三方库

时间:2017-03-16 23:59:55

标签: static-analysis coverity

在一个大型C ++项目中,Coverity分析会报告我们不会修复的文件中的问题,例如:提升库,STL标题,一些第三方库等。 理想情况下,会有一种机制可以完全忽略这些,而不是增加此类问题的总计数。

在Coverity Connect(v8.1)中,我们使用文件路径regexp设置了组件,并且在浏览时很好地过滤了有问题的文件,但问题总数不会下降。与此相关的两个问题:

  • 有没有办法放弃我们不关心的文件的总问题数量?例如之后此类问题已被捕获
  • 如果我们引入的新代码包含一个有问题的boost / STL / etc标头,那么这会占用整个问题计数器吗? (显然,这将不太理想)

2 个答案:

答案 0 :(得分:0)

一旦发现此类问题,您可以将其标记为误报或一直忽略它。你只需要这样做一次。在将来分析中,当再次发现此问题时,它将保持此状态。不,如果您将此包含用于其他文件,只要问题出在同一文件中,总问题计数器就不会更高。

检查一下: Can Synopsys Static Analysis (Coverity) automatically ignore issues in third-party or noncritical code?

答案 1 :(得分:0)

强制性免责声明:您的客户不会关心您的代码中的错误来自第三方。也就是说,Yannis提到的链接的主要答案通常是正确的:“使用组件过滤器。”如果它不能正常工作,请仔细检查您的配置。我发现它非常强大,即使是具有超过一百个析取的负面前瞻正则表达式。