当前位置: 首页 > 科技观察

Go语言新提案:增加模糊测试支持

时间:2023-03-13 14:17:55 科技观察

Go语言新增提案支持模糊测试(FuzzTest)。据介绍,该提案将为Go增加一个新的testing.F类型,支持_test.go文件中的FuzzFoo功能,并增加新的go命令行为。该提案的设计草案已经发布,并根据Go社区的反馈进行了迭代。下一步是将该提案作为语言功能实施。此功能在Go1.17中将被视为实验性功能,其API可能与Go1不兼容。当然,此功能本身会存在错误并缺少一些功能,但即便如此,它仍将作为Go开发人员可以使用的概念证明。试验它并提供反馈。由于这将是一项实验性功能,Go团队还希望在未来的Go版本中继续改进和开发mutator和fuzzing引擎。以下是不会添加到1.17的提案设计草案的部分内容。支持使用-race和-msan进行模糊测试支持使用-keepfuzzing进行模糊测试重复删除由不同修改器引起的类似崩溃,这将是实施-keepfuzzing(降噪)的先决条件允许在模糊测试时使用特殊选项(例如最大输入大小)支持可定制模糊字典时的覆盖率检测(例如,只检测某些包或文件)自定义生成器支持结构化和非基本类型的突变器[1.17的扩展目标]对[]byte以外的原始类型的结构支持(例如string、int、float64)net/news/131058/go-support-fuzz-test-proposal