跳转到主要内容

基于属性的适应性模糊测试

项目描述

HypoFuzz

Hypothesis测试的适应性模糊。

基于属性的测试方法可以帮助您编写更好的测试,以找到更多错误,但没有很好的方法来为更多的错误交换更多的CPU时间。本项目的目标是结合模糊测试和PBT的最佳部分。

动机

您可以在Hypothesis测试上运行传统的模糊器(如AFL)以获取基本的覆盖率指导。这效果不错,但性能开销很大。安装、配置和连接所有部件很痛苦,因为它假设每个核心一个模糊目标,您可能无法扩展到足够大,以模糊整个测试套件。

或者,您可以直接使用Hypothesis运行一个大的max_examples设置。这也很好用,但无法获得覆盖率指导的好处,您必须猜测测试运行的时间 - 每个测试都获得相同的预算。

HypoFuzz解决了所有这些问题,并更多!

功能

  • 交织多个测试函数的执行
  • 优先考虑我们预期会有所进步的函数
  • 对您的系统进行覆盖率指导的探索
  • 无缝集成 Python 原生和 CLI(替代 pytest 命令)
  • 使用 PyTrace 进行基于 Web 的时间旅行调试(如果 pip install hypofuzz[pytrace] 则自动启用)

https://hypofuzz.com/docs/ 了解 HypoFuzz 的更多信息,包括 变更日志

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

hypofuzz-24.9.1.tar.gz (39.1 kB 查看哈希值

上传时间 源代码

构建分发

hypofuzz-24.9.1-py3-none-any.whl (38.1 kB 查看哈希值

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面