如何在Ubuntu 14.04上安装Frama-c的Impact Analysis插件?

时间:2017-09-26 23:01:16

标签: c ubuntu frama-c program-slicing

我使用以下命令在Ubuntu 14.04上安装了Frama-c:

sudo apt-get install frama-c

但是,当我使用以下命令打开frama-c的GUI时:

frama-c-gui

我无法找到"影响分析"插件在左侧窗口。

此图显示了我目前可用的Frama-c插件: Figure 1

我也提到Frama-c web page但找不到任何链接供我下载或安装Impact Analysis插件。

如何在Ubuntu 14.04上启用和使用Impact Analysis?

1 个答案:

答案 0 :(得分:2)

自Neon-20140301版以来,Impact插件已经安装了Frama-C,您无需执行任何特殊操作即可启用它,只需选择一个语句并找到正确的上下文菜单即可激活它。

从您提到的Frama-C网页(以粗体突出显示相关部分):

  

通过Frama-C图形用户界面中每个语句的上下文菜单,可以进行影响分析。

屏幕截图中的左侧窗口包含 filetree (上部,包含文件名和全局变量/函数),以及插件面板列表插件注册了自己的GUI面板。请注意,并非所有插件都具有关联的面板;例如,Impact是一个只能通过上下文菜单使用的插件。

仔细查看Frama-C网站上的Impact插件页面,您会注意到所显示的屏幕截图不包含屏幕截图中的GUI部分,相反,它的左侧部分已经是Cil代码(在屏幕截图中省略):

Frama-C Impact plug-in GUI

要获取屏幕截图中指示的弹出菜单,您需要突出显示语句,而不仅仅是表达式。请注意,在屏幕截图中,突出显示整个p = T;语句。否则,上下文菜单将不会显示"影响分析"项目

在Frama-C GUI中选择语句的简单方法是在分号后单击。如果它是一个赋值语句,如上面的屏幕截图所示,您也可以单击等号来选择语句。但是,如果直接单击pT,则只会选择与这些变量对应的表达式。因为Impact是基于语句而不是表达式,所以在这种情况下它不会显示其上下文菜单。

顺便说一下,如果要检查Frama-C安装中是否有可用的插件,只需运行frama-c -plugins即可获取已安装插件的列表,或打开分析GUI中的面板(菜单分析/分析),每个插件包含一个条目。

编辑:在使用VM进行测试后,我意识到Ubuntu 14.04(Trusty)在其软件包中有Frama-C Fluorine(从2013年开始),这是一个非常老的版本,确实有影响力插件,但由于某种原因它当时没有包含在Debian软件包中(这就是为什么你不能使用它)。 Frama-C正在快速发展,因此使用这样一个旧版本将导致一些问题。我真的建议尝试通过OPAM安装它。