2

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

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

我发现的所有类似问题都涉及我们都准备好的静态分析。

谢谢!

4

2 回答 2

3

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

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

于 2012-11-15T13:25:21.830 回答
0

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

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

于 2012-11-22T17:41:28.390 回答