我正在寻找C语言的前向切片工具。当我在谷歌搜索时,我没有找到任何结果。
我本来想访问Wisconsin Program-Slicing Tool 1.1版,但是这个工具没有发布。任何其他工具都可以提供正向切片C程序的功能吗?
答案 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
左侧列中的复选标记告诉用户功能add
中也有选定的语句。在右下角,分析仪从一篇学术文章中指出了这个例子中的一些小问题。