C语言的前向切片工具

时间:2012-11-16 07:19:37

标签: c testing slice frama-c

我正在寻找C语言的前向切片工具。当我在谷歌搜索时,我没有找到任何结果。

我本来想访问Wisconsin Program-Slicing Tool 1.1版,但是这个工具没有发布。任何其他工具都可以提供正向切片C程序的功能吗?

1 个答案:

答案 0 :(得分:4)

开源静态分析平台Frama-C有一个slicing插件,具有impact analysis功能。

OP提出了一个计算初始化sum = 0;的影响的示例。这个例子是这样的:

void main() {
    int i = 1;     int sum = 0;
    while (i<11) {
        sum = add(sum, i);
        i = add(i, 1);
    }
    printf("sum = %d\n", sum);
    printf("i = %d\n", i);
}

static int add(int a, int b)
{
    return(a+b);
}

要使用的命令行是:

frama-c-gui -val t.c

screenshot of impact analysis

左侧列中的复选标记告诉用户功能add中也有选定的语句。在右下角,分析仪从一篇学术文章中指出了这个例子中的一些小问题。