これは、VB6 コードから識別子を抽出したツールから取得できます。次に、リストを並べ替え、重複を排除し、リストのサイズを測定するだけです。ソース コードを言語トークン (「レックス」) に分割するソース コード検索エンジンがあり、これらのトークンの一部はまさにそれらの識別子です。これには、必要なデータが正確に含まれます。
しかし、問題を解決する別の方法があるかもしれません: めったに発生しない変数名を見つけて、それらを一連の標準名 (たとえば、「temp」) に置き換えます。したがって、「少数の参照」をソートできるように、各変数名の数を数えることが本当に必要です。同じレクサー データでこの情報を提供できます。
次に必要なのは、出現頻度の低い識別子の名前を標準セットの名前に変更するツールだけです。ある名前を別の名前に置き換える難読化ツールを提供しており、おそらくこれが可能です。
[2014 年 10 月更新]。この問題を抱えている人と長い会話をしただけです。ツールのベースとなるかなり概念的な答えがあることがわかりました。これはレジスタの色付けと呼ばれ、固定数のレジスタを任意の数のオペランドに割り当てます。これは、オペランドに対して「干渉グラフ」を計算することによって機能します。「干渉」しない 2 つのオペランドを同じレジスタに割り当てることができます。干渉グラフが十分に悪くない場合は、2^16 の使用可能な変数名を任意の数の識別子に割り当てるために使用できます。私の推測では、そうではありません。YMMV、そして誰かがそのようなツールを構築しなければならず、そのようなグラフを計算するための VB6 パーサーと機械が必要になる可能性があります。[私の経歴をチェックしてください]。