Javascriptをロードして自動的にインストルメント化する必要があります。具体的には、関数へのすべての呼び出しをログに記録し、関数が呼び出された引数のリストを提供します。
私はPythonでこれを行う中途半端な方法を持っています:「re」を使用して「function」キーワードに一致させます-しかし、それは本当に非常に原始的です(コメントなどを扱いません)。
私はANTLRの専門家ではありません(それからはほど遠いです):しかし、これを実行するために、すでに構築されたJavascriptパーサーをどれほど簡単に活用できますか?(標準のJavaに「フック」して、必要なコードを適切な場所で動的に作成できますか?)
ところで:実際のロギングは(おそらく)log4javascriptで行われます。しかし、「アラート」を使用することもできます。難しいのは、コードインジェクションを機能させることです。
したがって、たとえば、次のようにする必要があります。
function foo(bar) {
...
}
の中へ:
function foo(bar) {
alert("<scriptname.js>: foo was called with arguments: [bar="+bar+"]");
...
}