BNF文法が与えられた場合、それをランダムに(しかしインテリジェントに)調整し、BNFをすり抜けるケースを検出するために使用する出力ストリームを生成するツールまたは手法があるかどうか疑問に思っています(しかしすべきではありません)。
編集:パーサーのファズテスト、つまり。
ありがとう
Google と時間をかけて調べてみると、自動文法ベースのファズ テストは難しく、現在の研究対象であることがわかりました。特に、Microsoft Research の P. Godefroid は、SAGE と呼ばれるソフトウェアの開発に取り組んでいます。
私は彼の研究論文を掘り起こした。
Automated Whitebox Fuzz Testing (Michael Y. Levin および David Molnar との共同作業) Proceedings of NDSS'2008 (Network and Distributed Systems Security)、ページ 151-166、サンディエゴ、2008 年 2 月。
XML ベースのPeachソフトウェアも見つけましたが、何気なく読んだだけでは、セキュリティ以外のアプリケーションで仕事の午後にそれをどのように活用できるかわかりません。
したがって、私の結論は次のとおりです。 「これは現在 (2010 年 4 月) の研究の対象であり、すぐに使用できるツールはありません」。
厳密には BNF ファジング ツールではありませんが、アメリカのファジー ロップは人工知能手法を採用しており、BNF 知識の欠如をうまく回避できます。すでに多くのオープン ソース パーサーでバグが発見されているため、あなたのパーサーにとっても適切なツールである可能性があります。