我从Frama-c得到一个向后切片,但看起来像是一个静态切片而不是动态切片。
frama-c中的特定选项是否可以获得动态后向切片?
答案 0 :(得分:0)
根据Wikipedia,
动态切片包含实际影响程序点的变量值的所有语句,用于程序的特定执行,而不是所有可能影响程序点变量值的语句,以便任意执行该计划。
Frama-C的切片插件受到值分析插件的值的限制,它依赖于表示在感兴趣的执行集中执行时发生的所有值。为了配置Frama-C的切片插件以进行动态切片,您只需要将值分析与单次执行相对应。使用没有输入的main
函数,没有volatile
变量,不调用未知函数并将选项-slevel 999999999
传递给frama-c
应该使值分析表现为C解释器单个执行您选择的程序,如this previous answer to another question,this blog post和this article中所述。