用于复杂C ++项目的动态死代码消除工具

时间:2012-11-15 10:23:54

标签: c++ code-analysis legacy-code dead-code

我们有一个包含大量代码的项目,其中一部分是遗留的。 作为工作流程的一部分,每隔一段时间,就会检查产品的所有功能。 我想知道是否有办法使用这个事实动态检查代码的哪些部分从未使用过? (困难的部分是C ++代码,.Net和Java受到更多控制并且遗留的更少)。

此外 - 是否有动态死代码消除工具可以处理大量代码和复杂项目(即约1M行)?

我发现的所有类似问题都谈到了静态分析,我们都准备好了。

谢谢!

2 个答案:

答案 0 :(得分:3)

您可能希望查看测试中使用的代码覆盖率工具。这些工具的想法是他们检测代码,在运行测试集之后,您知道哪些代码行至少执行一次以及哪些行从未执行过。之后,您可以改进测试。

如果你有足够多的执行环境,同样的事情可以用来识别死代码。

答案 1 :(得分:0)

我不知道你在哪个平台上,但如果你正在使用gnu工具链进行编译,我们已经成功使用了Gcov:

http://gcc.gnu.org/onlinedocs/gcc/Gcov.html

相关问题