Linux カーネルのコール グラフを静的に生成するツールを探しています (特定のカーネル構成に対して)。生成されたコール グラフは、すべての呼び出しが含まれているという意味で「完全」である必要があります。これには、Linux カーネルの場合、関数ポインターを使用してのみ行われると想定できる潜在的な間接的なものも含まれます。
たとえば、関数ポインターの型を分析することでこれを行うことができます。このアプローチでは、グラフに不要なエッジが発生しますが、私にとっては問題ありません。
nccはこのアイデアを実装しているようですが、3.0 カーネルで動作させることに成功しませんでした。他の提案はありますか?
このアプローチは、関数ポインターのキャストが使用されている場合にもエッジの欠落につながる可能性があると推測しているため、これが Linux カーネルで発生する可能性があるかどうかも知りたいと思います。
補足として、ソースのセマンティック分析を実行して潜在的なポインター値を推測できるツールは他にもあるようですが、AFAICT では、Linux カーネルなどのプロジェクトで使用するように設計されたものはありません。
どんな助けでも大歓迎です。