- The integrated Checker会自动为每个函数分析产生模型,其中总结了该函数在过程间错误检测中的影响。有时不是被调用函数的所有代码都可以进行分析,例如库函数通常不需要处理源代码就会进行连接。标准C库,Unix系统调用API,Windows API就是这样的例子。
- 当Integrated Checker运行时,每个函数的模型生成为XML文件并放在emit目录。由cov-analyze生成的XML schema以状态机格式编码函数的行为。所以,当模型自身以纯文本格式保存时,对用户来时并不是特别可读。在大部分情况下,cov-analyze生成的模型会准确地反映系统的行为而且checker在没有用户干涉的情况下就可以正常工作。但有时还是需要用户的帮忙。上面提到的有些对系统行为很重要的接口在连接时不需要对代码进行编译和分析,在这种情况下这些接口的行为必须进行手动的指定。第二种需要用户干涉的情况是当integrated checker由于错误推导产生了误报。
- 向Coverity Prevent系统中添加模型有两个好处:找到更多的bug并消除误报。譬如,如果从第三方API中将一个新的内存分配接口链接到应用程序中,那么Coverity Prevent有能力检测并报告在使用这个分配操作时的错误。再例如,如果函数中使用类abort等退出程序的汇编例程,系统可能无法确定该函数不能返回,那么对这段代码的非完美理解可能造成误报。
Coverity Prevent 3.0 Pathway
最新推荐文章于 2021-03-23 10:39:33 发布