【问题标题】:Dynamic slicing in C/C++C/C++ 中的动态切片
【发布时间】:2009-09-15 18:44:18
【问题描述】:

在阅读了Andreas Zeller的调试书后,我对Dynamic Slicing产生了兴趣。

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

【问题讨论】:

    标签: c++ program-slicing


    【解决方案1】:

    罗布以外的一点资料

    • Wisconsin Program-Slicing Tool 已演变成一个名为 CodeSurfer 的工具。好消息:它可以在商业上获得并得到支持,并且非常适合它的功能。坏消息(也许):它实际上并不会生成一个简化的程序来计算与您选择的相同的值,但它对于导航您尚未编写的源代码非常方便。

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

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

    【讨论】:

      【解决方案2】:

      在您引用的维基百科页面上列出了一个工具。它适用于 C,所以我想它可以适用于任何“C/C++”。

      也适用于 C,并且在 Wikipedia 页面上也提到过:

      【讨论】:

        【解决方案3】:

        Giri 在 LLVM 编译器中实现动态向后切片,据我所知,这是构建可用有效线程的最新努力-aware 现代编译器中的动态切片器。

        【讨论】:

          猜你喜欢
          • 2010-10-06
          • 1970-01-01
          • 2021-08-09
          • 1970-01-01
          • 2010-09-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多