きっかけ
今年、私が所属している大学の部でアドベントカレンダーをやってみよう!という呼びかけがあったので、僕も参加してみました。(ほかの部員の記事はこちらをご覧ください)
...で、何をしようか考えたのですが、単純に今の自分がやっていることを紹介しようかと思い、Javaソースコードの解析について書くことにしました。今回の記事に関しては、Javaという言語というよりもソースコードそのものを解析するということを目的としているので予めご了承願います。
概要
今回、タイトルに有るようにソースコード解析を行うわけですが、解析対象となるのは前述の通りJavaという言語です。更に有名なIDEであるEclipseと構文木であるAST(Abstract Syntax Tree)を作成するためのプラグインを用いてコードの解析を行います(詳しい手順はこちらのサイトにも記載してあります)。
クラス図
かなり簡易的な図となるので、今後さらに拡張していきたいと思います。
実行
とりあえず、出力結果としては、各装飾子の情報を出力することができました。
今後の展望
今回の結果を用いて、最終的には、ソースコードを解析して、「privateなメソッドやpublicなメソッドがあるけど、開発者はどのような順番でそういったメソッドを開発・定義しているのかを分析していきたいと思います。
最後に
これは、アドベントカレンダーがあるからということで書きましたが、時間がないため非常に簡易的なものになりました。今後のプロジェクトの進展などは「GitHub」の私のページを閲覧してください。
では( ・ω・)ノシ