我正在寻找 C 语言的正向切片工具。当我在谷歌搜索时,我没有找到任何结果。
我本来希望访问 Wisconsin Program-Slicing Tool 1.1 版,但该工具并未分发。任何其他工具能否提供正向切片 C 程序的功能?
开源静态分析平台 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
。在右下角,分析器从一篇学术文章中指出了这个示例的一些小问题。