こんにちは私は、Javaソースコードの静的解析を使い始めることにしました。まず、ソースツリーを直接解析するのが最も簡単ですが、そこにはAPIがあると仮定します。特に、このようなコード許可API持っていいだろう。もちろんJava静的解析:はじめに
for (MetaClass m : mySourcePackage.getClasses())
{
System.out.println(m.getMethods().size());
...
}
を、任意のクラスのために、あなたは、リフレクションを使用してこれを行うことができます - しかし、私は静的全体を分析することで、より興味ソースコードパッケージをゼロから作成し、クラスを1つずつ繰り返します(たとえば、テストカバレッジ、最大行などの評価など)。
このようなメタアナリシスを行うための高品質のオープンソースフレームワークはありますか(または、特定のクラスパスでJVMを起動し、そのような分析をJVM内で行うことは可能でしょうか)。
私は特にDIやリフレクションのような悪夢を心配していません(少なくともこの時点ではそうではありません)。
* Javaソースを解析する* ANTLRには既成の[文法]があります(http://openjdk.java.net/projects/compiler-grammar /antlrworks/Java.g)そのために。また、バイトコードを分析することを検討してください。驚くほど簡単に見つけることができます。 –
JAva - > Java ..タイトルを修正してください;) – h3xStream