使用 frama-c 的系统依赖图

System Dependance Graph with frama-c

我读到用frama-c,我们可以生成一个PDG which free tools can I use to generate the program dependence graph for c codes 我的问题是:有没有办法让它生成一个 SDG(它是一组 PDG,它旨在对过程间依赖性进行建模)? 任何人都可以帮助我或给我一些提示,告诉我哪些工具可以生成 SDG。 谢谢

我不完全确定它能回答你的问题,但 Frama-C 的 PDG 插件确实有过程间信息,以参数和隐式输入(被调用者读取的全局变量)的节点的形式,以及返回值和输出位置(写入的全局变量)。它使用 From 插件的结果来计算依赖关系。

如果我没看错Db.Pdg中PDG的API,你应该可以用Db.Pdg.find_simple_stmt_nodes函数获取给定调用对应的所有节点。