通过代码验证器进行堆栈检查

4次浏览(最近30天)
维克多·加西亚·桑托斯
你好,
我在这里的第一篇文章…
我们正在做一个嵌入式项目,裸金属。客户要求对堆栈进行分析,并建议使用静态分析工具。我们有Code Prover,我们知道它可以做这个堆栈检查,但是我们现在不需要执行整个Code Prover分析。我们可以请求代码验证程序只执行堆栈检查吗?通过删除所有的代码验证检查,我希望得到更少的红色(如果根本没有的话),并且更容易和更快地获得我需要的信息。
谢谢

接受的答案

Anirban
Anirban 2021年2月3日
编辑:Anirban 2021年2月3日
可以计算所有的代码度量 除了堆栈大小 在代码验证程序分析的早期阶段。您必须启用该选项 计算代码度量 然后设置选项 验证水平 到源遵从性检查。
堆栈分析实际上计算了函数调用层次结构的精确图像 考虑到红色检查(运行时错误)和灰色检查(无法到达的代码) .换句话说:
  • 如果函数调用在运行时不可达,则不考虑它。
  • 如果存在红色检查(明确的运行时错误),分析就不会计算堆栈大小。其思想是:明确的运行时错误通常会导致崩溃,所以错误之后的函数调用无论如何都不会执行。因此,需要修正这些错误。
由于这个原因,堆栈大小的计算发生在分析的后面部分。这种计算比表面的堆栈大小计算更丰富,后者基于明显的函数调用层次结构,而不检查调用是否真的可以在运行时发生。
因此,不能将运行时错误检测与堆栈大小计算分开。换句话说,您不能只执行分析的早期阶段并获得堆栈大小。
1评论
维克多·加西亚·桑托斯
我很害怕这个。我们的想法是避免正确设置Code Prover项目所需的工作。要获得一个软件完整的分析解决方案意味着大量的准备和努力,这是目前我们无法承担的。不管怎样,谢谢你深刻的回答,谢谢。

登录评论。

更多答案(0)

类别

了解更多测试模型组件帮助中心而且文件交换

下载188bet金宝搏


释放

R2019a

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!