あなたの例に基づいて、ほとんどの場合、入力が国際化されていない出力を生成する関数を診断したいと考えています。
したがって、アラートのケースでは、よく知られているいくつかの翻訳ルーチンのいずれかによって生成されたものではない文字列を取得する印刷呼び出しを見つける必要があります。
jdbc の場合、ロケール固有ではない順序付けの制約を特定する必要があります。
さまざまな日付のケースに対して、ロケール固有の回答を生成することが知られている日付ルーチンが必要です。
JavaScript の検証は、意図を推測するのがより困難です。おそらく、特定のロケールに関連付けられていることが知られている関数を診断したいでしょう。これは日付のケースによく似ています。範囲チェックの場合、ある文字を別の文字と比較して大なり小なりすべてをキャプチャする必要があります。
ワイヤード ロケール関数の場合、その名前を知っているだけで十分であるように思われます (ただし、引数の数などによるオーバーロードの解決が必要になる場合があります)。 ?,?) でOKです。
正規表現を記述して (ヒューリスティックに) 悪いケースを探すことができないのはなぜですか?
範囲の場合、[exp] < [literal-char] または [exp] < [literal-string] の形式の式を認識する必要があるだけです。"< '.+" だけを探す正規表現で十分に思えます。
これらが見逃す一般的なケースはありますか?
編集(以下のコメントから:「私は正規表現を使用していますが...」)正規表現よりも深いツールが必要な場合は、言語の解析、名前/型の解決、およびデータフロー分析に行く必要があります役に立ちます。複数の (コンピューター) 言語を処理する必要があるため、ツールは多言語対応である必要があります。また、アプリケーションに関連する特定のケースをチェックするためにカスタマイズできるようにしたいようです。
DMS Software Reengineering Toolkitには、
Java、JavaScript、および SQL のパーサーを含む、これらすべてのプロパティがあります。カスタマイズできるように設計されているため、使用する前にカスタマイズする必要があります。