站长网 语言 Go 语言新方案:支持使用-keepfuzzing进行模糊测试

Go 语言新方案:支持使用-keepfuzzing进行模糊测试

据介绍,此项提案会为 Go 添加新的testing.F类型,在_test.go文件中支持FuzzFoo函数,并增加新的go命令行为。该提案的 Draft Design 已发布,并根据 Go 社区的反馈进行了迭代。下一步要做的工作是将提案实现为语言特性。 此项特性在 Go 1.17 中会被视为实

据介绍,此项提案会为 Go 添加新的testing.F类型,在_test.go文件中支持FuzzFoo函数,并增加新的go命令行为。该提案的 Draft Design 已发布,并根据 Go 社区的反馈进行了迭代。下一步要做的工作是将提案实现为语言特性。

此项特性在 Go 1.17 中会被视为实验性功能,且其 API 也不一定会与 Go 1 兼容。当然,这项功能本身也会存在错误并缺少某些功能,但即便如此也会将其作为概念验证,Go 开发者可以对其进行实验并提供反馈。由于这将是一个实验性的功能,Go 团队也预计在未来的 Go 版本中 mutator 和模糊引擎 (fuzzing engine) 将会继续完善和发展。

下面是提案 Draft Design 的部分内容,这些内容不会加入到 1.17。

支持使用-race和-msan进行模糊测试

支持使用-keepfuzzing进行模糊测试

对由不同 mutator 引起的类似崩溃进行重复数据删除,这将是实现-keepfuzzing(降低噪音)的先决条件

在模糊处理时允许特殊选项(例如最大输入大小)

支持字典

模糊测试时可自定义覆盖范围检测(例如,仅检测某些软件包或文件)

为 mutator 定制生成器

支持结构化和非基本类型的结构化

[1.17的扩展目标]对除[]byte(例如字符串,int,float64)之外的其他原始类型的结构化支持

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/biancheng/yuyan/2021/0523/4884.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部