c - C语言的正向切片工具

标签 c testing slice frama-c

<分区>

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

我本来想访问 Wisconsin Program-Slicing Tool Version 1.1,但该工具并未分发。任何其他工具都可以提供前向切片 C 程序的功能吗?

最佳答案

开源静态分析平台 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 中也有选定的语句。在右下角,分析器指出了学术文章中此示例的一些小问题。

关于c - C语言的正向切片工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13412090/

相关文章:

testing - 来自文件的 JMeter HTTP 请求发布正文

python - 用补丁模拟两个函数以进行单元测试

python - 值错误 : setting an array element with a sequence

multidimensional-array - 礼拜堂简陋的微妙之处

c - fread() 操作将错误的数据补充到结构中

C - 创建链表的函数仅返回第一个节点

c - 在 C 中包含所有 header 后出现未知类型名称 "Enemy"错误

testing - Cypress 没有捕捉到 XHR 请求

python - 使用 Python 读取具有给定结构定界的文本文件

c - 如何设计一个信号安全的 shell 解释器