gpt4 book ai didi

java - java的跨类可扩展静态分析工具?

转载 作者:搜寻专家 更新时间:2023-11-01 02:35:03 25 4
gpt4 key购买 nike

我正在尝试编写规则来检测注释 多线程 java 程序中的一些错误。作为玩具示例,我想检测是否有任何使用 @ThreadSafe 注释的方法调用没有此类注释且没有同步的方法。我正在寻找一种可以让我编写这样的测试的工具。

我看过源码分析器,比如 CheckStyle 和 PMD,它们并没有真正的跨类分析能力。字节码分析器,如 FindBugs 和 JLint 似乎很难扩展。

我愿意为更简单的事情找到一个解决方案,但遇到同样的困难:编写一个自定义规则来检查是否每个被覆盖的方法都用@Override 注释。

最佳答案

你试过了吗FindBugs ?它实际上支持一组annotations for thread safety (与 Java Concurrency in Practice 中使用的相同)。此外,您可以编写自己的自定义规则。我不确定您是否可以进行跨类分析,但我相信可以。

Peter Ventjeer有一个concurrency checking tool (使用 ASM)来检测这样的东西。我不确定他是否公开发布了它,但他可能会帮助你。

我相信Coverity's线程安全的静态/动态分析工具就是这样检查的。

关于java - java的跨类可扩展静态分析工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/276476/

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