中文

面向全面软件模糊测试的无样本输入文法学习

软件工程 2018-10-22 v1 编程语言

摘要

如果知道输入语言,为程序生成有效测试输入会容易得多。我们展示了一种技术的初步成功:给定程序 P 且没有任何输入样本或模型,学习一个表示 P 的句法有效输入的输入文法——该文法随后可用于对 P 进行高效的测试生成。为此,我们引入了一个针对输入解析器的测试生成器,它基于约束的动态跟踪系统地探索解析分支;所得输入进入文法学习器,产生可用于模糊测试的文法。在我们针对 JSON、URL 和 Mathexpr 等对象的评估中,我们的 PYGMALION 原型仅用几分钟便推断出文法并生成了数千个有效的高质量输入。

关键词

引用

@article{arxiv.1810.08289,
  title  = {Sample-Free Learning of Input Grammars for Comprehensive Software Fuzzing},
  author = {Rahul Gopinath and Björn Mathis and Mathias Höschele and Alexander Kampmann and Andreas Zeller},
  journal= {arXiv preprint arXiv:1810.08289},
  year   = {2018}
}