自动生成测试用例以滥用 BNF 语法

发布于 2024-08-30 05:57:47 字数 206 浏览 8 评论 0原文

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

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

谢谢

I am wondering if there is a tool or technique which, given a BNF grammar, adjusts it randomly(but intelligently) and generates a stream of output for use in detecting cases that slip past the BNF (but shouldn't).

edit: Fuzz testing a parser, in other words.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏の忆 2024-09-06 05:57:47

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

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

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

我还发现了基于 XML 的 Peach 软件,但我不清楚在休闲阅读中如何在一个下午的工作中利用它来开发非安全应用程序。

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

Spending some tender time with Google, I found that automated grammar-based fuzz testing is hard, and a subject of current research. In particular, P. Godefroid at Microsoft Research is working on a piece of software called SAGE.

I dug up a research paper by him.

Automated Whitebox Fuzz Testing (joint work with Michael Y. Levin and David Molnar) Proceedings of NDSS'2008 (Network and Distributed Systems Security), pages 151-166, San Diego, February 2008.

I also found the XML-based Peach software, but it is unclear to me on a casual reading how I might leverage it in an afternoon of work for a non-security application.

So my conclusion is: "It's a subject of current (Apr '10) research and there's no quick-use tool out there".

过期情话 2024-09-06 05:57:47

严格来说不是一个 BNF 模糊测试工具,但是 american fuzzy lop 采用人工智能方法,可以绕过 BNF 的缺失知识相当不错。它已经在许多开源解析器中发现了错误,因此它可能也是适合您的工具。

Not strictly a BNF fuzzing tool, but american fuzzy lop employs artificial intelligence methods and can walk around the lack of BNF knowledge quite well. It already found bugs in many open source parsers, so it might be the right tool for yours as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文