繁体   English   中英

Frama-C EVA插件中“后”列的含义和目的是什么?

[英]What is the meaning and purpose of “after” column in Frama-C EVA plugin

EVA教程中 ,我找到了这个截图: EVA教程屏幕截图 解释:“导致这一点的确切值显示在第c5列:-1。C标准将负数的左移视为未定义的行为。因为-1是此callstack中唯一可能的值,所以减少由警报引起的后状态就是这样。“

所以,我想问:

Frama-C EVA插件中“后”栏的含义和目的是什么?

有没有更详细的文件来理解EVA中使用的术语“减少”和“后状态”?

当您选择一个声明s在GUI中,但是也有一些相关的两个内存状态:一个前s (也称为前的状态),和副作用后,一个s已经完成(也称为后状态)。 这就是为什么你在感兴趣的每个lval的Values选项卡中都有两列。在程序验证中,pre和post-state的概念非常标准,并且基本上可以追溯到Hoare Logic

术语“减少”指的是在发出警报之后,EVA将试图从其抽象状态中移除对应于肯定会导致未定义行为的具体状态的元素。 实际上,抽象状态应该是所有具体状态的过度近似,这些状态可以在没有预先触发未定义行为的情况下到达语句:如果某些事情在s之前失败,那么在推测在评估s时会发生什么是没有意义s 在您所参考的示例中,我们有特定情况,其中所有可能的具体状态都会导致错误。 因此,我们最终得到了BOTTOM抽象状态,表示一组空的具体状态,并且对该分支的分析结束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM