frama-c - Frama-C 铝的 Db.Value.AfterTable.find api 更改

标签 frama-c

我正在尝试将 Frama-C Fluorine 版本的插件迁移到 Frama-C Aluminium。这样做时,我找不到函数 Db.Value.AfterTable.find 的适当替代函数,我找到的最接近的函数是 Db.Value.AfterTable_By_Callstack.find。但是,该函数现在返回不同的类型,即 Db.Value.AfterTable_By_Callstack.data = Db.Value.state Value_types.Callstack.Hashtbl.t,而不是 Db.Value.state Frama-C 氟。有人可以帮我解决这个问题吗?

非常感谢, 特鲁克

最佳答案

确实,现在的信息更加准确。但是您可以通过调用堆栈连接状态来计算状态:

let state = Value_callstack.Callstack.Hashtbl.fold
      (fun _cs state acc -> Cvalue.Model.join acc state)
      csh Cvalue.Model.bottom

关于frama-c - Frama-C 铝的 Db.Value.AfterTable.find api 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39354133/

相关文章:

c - 写入指针时出现虚假警告

c - 证明数组的平均值

frama-c - ACSL 逻辑结构声明不像引用手册中那样工作

c - frama-c生成的pdgs中的圆节点是什么意思

c - 将字符串附加到动态字符数组的函数的 ACSL 规范

c - frama-c能否获取特定程序代码前的变量范围

frama-c - 镁中 -rte 选项的不正常行为

c - Frama-C Neon 缺少 C 库文件?

ocaml - Frama-C Windows 二进制文件可用吗?

c - Frama-C 用 "/*@ ensures"证明 While 循环