gpt4 book ai didi

spring - 静态代码分析与 Spring 和其他抽象的配合如何?

转载 作者:行者123 更新时间:2023-12-04 18:16:52 25 4
gpt4 key购买 nike

我处于一种情况,我需要至少付出一些努力从我的源代码中删除从未使用过的代码。一般偏好是使用静态代码分析工具。我们在其他项目中对此非常幸运,但我听到的大多数人都是从事设备级代码的 C/C++ 开发人员。

我是一名网络开发人员,致力于 Java EE系统。首选的分析工具是 Coverity Prevent ,尽管如果我能提出强有力的理由证明它更适合我们正在开发的技术,我可能会提倡其他东西。

我发现自己很怀疑——当你在一个有很多抽象的系统上运行时,静态代码分析对死代码的有效性如何?例如,我们使用 Spring的依赖注入(inject),以及JSF .在这两种情况下,都没有简单的方法来跟踪从前端到后端的函数调用,并完整地了解什么被调用,什么没有被调用。

我非常担心死代码检查的误报将超过首先运行该工具的值(value)。

这种场景的经验是什么?当您的架构使用大量抽象时,您是否设法从静态代码分析工具中获得值(value)?您是否需要做些什么才能让它以最少的误报工作?

最佳答案

我之前在 Coverity 工作,负责 Java 静态分析产品。

对于静态分析器来说,这种查找死代码的特殊任务可能会遇到问题。特别是对于死方法,即无法在运行时调用的方法,如果您没有进行大量调整以告知静态分析器所有动态入口点,误报率将非常高。

对于方法中的死代码,如果您的分析器具有该功能,则结果应该非常好,因为分析不会对输入数据做出任何假设。即使假设所有可能的输入,也有可能找到相关逻辑阻止采用某些分支的死代码。

关于spring - 静态代码分析与 Spring 和其他抽象的配合如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1677203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com