Pythia:结合覆盖引导反馈与基于学习变异的 REST API 基于语法模糊测试
软件工程
2020-05-26 v1 机器学习
摘要
本文介绍了 Pythia,这是首个将基于语法的模糊测试与覆盖引导反馈及基于学习的变异策略相结合,用于有状态 REST API 模糊测试的模糊测试器。Pythia 使用统计模型从结构有效的种子输入中学习目标 REST API 的常见使用模式。随后,它通过注入少量偏离常见使用模式但仍保持语法有效性的噪声来生成基于学习的变异。Pythia 的变异策略有助于生成语法有效的测试用例,而覆盖引导反馈有助于优先处理更有可能发现缺陷的测试用例。我们在三个生产级开源云服务上进行了实验评估,结果表明 Pythia 在代码覆盖率和发现新缺陷方面均优于先前的方法。使用 Pythia,我们发现了 29 个新缺陷,目前正准备向相应的服务所有者报告。
引用
@article{arxiv.2005.11498,
title = {Pythia: Grammar-Based Fuzzing of REST APIs with Coverage-guided Feedback and Learning-based Mutations},
author = {Vaggelis Atlidakis and Roxana Geambasu and Patrice Godefroid and Marina Polishchuk and Baishakhi Ray},
journal= {arXiv preprint arXiv:2005.11498},
year = {2020}
}