目前我只找到了相关的Java分析工具。你知道这样的C / C ++工具吗?
答案 0 :(得分:4)
除Rob之外的一些信息
威斯康星程序切片工具已在一个名为CodeSurfer的工具中发展。好消息:它是商业上可用和支持的,并且它的功能很棒。坏消息(也许):它实际上并没有产生一个减少的程序来计算你选择的相同值,但它非常方便地导航你没有写过的源代码。
Frama-C只处理C(在可预见的未来没有C ++)。导航源代码很好,不是很好,但是可以为你指定的标准生成一个等价的小程序,如果原始程序是自动分析的那种(没有递归) ,没有动态分配)。 Frama-C是开源的,有一个邮件列表,如果您对它使用的技术感兴趣,欢迎您提出问题。
CodeSurfer没有冒险生成等效程序的原因,而Frama-C只能对具有类似嵌入式限制的代码执行此操作,简而言之,这样做需要知道指针的值,这可能是任意的困难精确计算。
答案 1 :(得分:3)
您引用的维基百科页面上列出了一个工具。它适用于C,所以我猜它可以用于任何“C / C ++”。
对于C,也在维基百科页面上提到:
答案 2 :(得分:0)
Giri在LLVM编译器中实现动态向后切片,据我所知,这是构建可用,有效和线程感知动态切片器。