0

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

我本来希望访问 Wisconsin Program-Slicing Tool 1.1 版,但该工具并未分发。任何其他工具能否提供正向切片 C 程序的功能?

4

1 回答 1

4

开源静态分析平台 Frama-C 有一个具有影响分析功能的切片插件。

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

影响分析截图

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

于 2012-11-16T09:11:40.890 回答