计算机科学 > 软件工程
[提交于 2022年3月6日
]
标题: foREST:一种基于树的模糊测试RESTful API的方法
标题: foREST: A Tree-based Approach for Fuzzing RESTful APIs
摘要: 表述状态传输(REST)是网络应用和云服务中广泛采用的架构。 用户可以根据其应用接口的规范调用此类服务,即RESTful API。 现有的针对RESTful API模糊测试的方法通常基于经典的API依赖图。 然而,由于API之间的依赖关系爆炸,这种依赖关系对于REST服务来说效率不高。 在本文中,我们提出了一种基于树的新方法,可以更好地捕捉关键依赖关系,并大幅提高RESTful API模糊测试的效率。 特别是,跨多个API的端点的层次信息使我们能够构建一个API树,树节点之间的关系可以表示资源依赖的优先级,\textit{例如,}一个节点更可能依赖其父节点而不是子节点或兄弟节点。 在评估部分,我们首先确认这种基于树的方法比传统的基于图的方法更高效。 然后我们将我们的工具应用于模糊两个现实世界的RESTful服务,并与两种最先进的工具EvoMaster和RESTler进行性能比较。 我们的结果表明,foREST在所有实验中都能提高代码覆盖率,范围从11.5%到82.5%。 此外,我们的工具发现了11个之前未知的新错误。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.