4

我想知道是否有一种工具或技术可以在给定 BNF 语法的情况下随机(但智能地)调整它并生成输出流以用于检测超出 BNF 的情况(但不应该)。

编辑:换句话说,模糊测试解析器。

谢谢

4

2 回答 2

3

在 Google 上花费了一些时间,我发现基于语法的自动化模糊测试很难,并且是当前研究的主题。特别是,微软研究院的 P. Godefroid 正在开发一款名为 SAGE 的软件。

我翻出了他的一篇研究论文。

自动白盒模糊测试(与 Michael Y. Levin 和 David Molnar 合作)NDSS'2008 会议记录(网络和分布式系统安全),第 151-166 页,圣地亚哥,2008 年 2 月。

我还找到了基于 XML 的Peach软件,但我不清楚在一个下午的工作中如何将它用于非安全应用程序。

所以我的结论是:“这是当前(2010 年 4 月)研究的主题,并且没有快速使用的工具”。

于 2010-04-24T15:41:51.467 回答
0

不是严格意义上的 BNF fuzzing 工具,但美国的 Fuzzy lop采用了人工智能的方法,可以很好地绕过 BNF 知识的缺乏。它已经在许多开源解析器中发现了错误,因此它可能也是适合您的工具。

于 2015-10-13T22:00:32.887 回答