C/C++中的动态切片

Ope*_*way 13 c++ program-slicing

在阅读了Andreas Zeller的调试书之后,我开始对动态切片感兴趣(http://en.wikipedia.org/wiki/Program_slicing).

目前我只找到了相关的Java分析工具.你知道这样的C/C++工具吗?

Pas*_*uoq 4

除了 Rob 之外的一些信息

  • 威斯康星州程序切片工具已发展成为名为 CodeSurfer 的工具。好消息:它已经在商业上可用并受到支持,并且它的工作效果非常好。坏消息(也许):它实际上并没有生成一个简化的程序来计算您选择的相同值,但它对于导航您尚未编写的源代码非常方便。

  • Frama-C 仅处理 C(在可预见的将来不会处理 C++)。对于浏览源代码来说,这很好,但不是很好,但如果原始程序是可以自动分析的类型(无递归,无动态分配),它可以根据您指定的标准生成等效的较小程序。Frama-C 是开源的,并且有一个邮件列表,如果您对它使用的技术感兴趣,欢迎您提出问题。

简而言之,CodeSurfer 不会冒生成等效程序的风险,而 Frama-C 只能对具有类似嵌入式限制的代码执行此操作的原因是,这样做需要知道指针的值,而使用指针进行计算可能非常困难精确。