Java クラス ファイルとして提供されるユーザー定義のストアド プロシージャをホストするアプリケーションに取り組んでいます。手順は決定論的である必要があり、非決定論の原因となるさまざまなパッケージとメソッドをブラックリストに載せたいと思います。java.lang.Class と javax.tools.* で利用できるものを見てきました。
java.lang.Class を使用して、メンバー、メソッド パラメーター、戻り値の型を監査できるようです。ただし、メソッドの内容を監査するには、生のクラス ファイルを分析する必要があるようです。
監査が必要な静的初期化ブロックやメンバー変数の初期化などのまれなケースもあります。デフォルトのコンストラクターが非決定論的である java.util.Date のようなケースがありますが、それ以外は問題ありません。
クラスファイルのこれらの側面を簡単に分析できるフレームワークまたはツールはありますか?