Fuzz testing, or fuzzing, has become one of the de facto standard techniques for bug finding in the software industry. In general, fuzzing provides various inputs to the target program to discover unhandled exceptions and crashes. In business sectors where the time budget is limited, software vendors often launch many fuzzing instances in parallel as common means of increasing code coverage. However, most of the popular fuzzing tools in their parallel mode-naively run multiple instances concurrently, without elaborate distribution of workload. This can lead different instances to explore overlapped code regions, eventually reducing the benefits of concurrency. In this paper, we propose a general model to describe parallel fuzzing. This model distributes mutually-exclusive but similarly-weighted tasks to different instances, facilitating concurrency and also fairness across instances. Following this model, we develop a solution, called AFL-EDGE, to improve the parallel mode of AFL, considering a round of mutations to a unique seed as a task and adopting edge coverage to define the uniqueness of a seed. We have implemented AFL-EDGE on top of AFL and evaluated the implementation with AFL on 9 widely used benchmark programs. It shows that AFL-EDGE can benefit the edge coverage of AFL. In a 24-hour test, the increase of edge coverage brought by AFL-EDGE to AFL ranges from 9.49% to 10.20%, depending on the number of instances. As a side benefit, we discovered 14 previously unknown bugs.


翻译:Fuzz测试或fuzz测试已成为软件行业中查找错误的事实上的标准技术之一。一般而言,模糊为目标程序提供了各种投入,以发现未处理的例外和碰撞。在预算有限的商业部门,软件供应商往往同时推出许多模糊事件,作为增加代码覆盖的共同手段。然而,大多数流行的模糊工具在平行模式上同时运行多个实例,而没有详细的工作量分配。这可能导致探索重叠代码区域的不同实例,最终降低调值的效益。在本文中,我们提出了一个描述平行模糊现象的一般模式。这一模式将相互排斥但同样加权的任务传播到不同的事例,促进调值和公平性。遵循这一模式,我们开发了一个解决方案,称为AFL-EDGE, 来改善平行的FLF模式,把一轮突变到独特的种子,采用边缘覆盖来确定种子的独特性。我们已经在AL-EGEGE顶端实施了AFL-ED-EDGE, 将A-FL-FL-GA-%的覆盖率提高到9小时。它显示A-FL-GEA-CFLA-CA-S-Serreal 的测试范围,将A-SLA-li-li-IFLA-IDA-ILA-IDA-ILA-S-S-S-S-S-S-S-ILA-S-S-SLA-S-S-SLA_BLA-S-S-S-S-SLA_Bassal 的效益提高到上。它比值增加。

0
下载
关闭预览

相关内容

专知会员服务
27+阅读 · 2021年7月3日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【Google】平滑对抗训练,Smooth Adversarial Training
专知会员服务
48+阅读 · 2020年7月4日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
106+阅读 · 2020年5月3日
【微众银行】联邦学习白皮书_v2.0,48页pdf,
专知会员服务
165+阅读 · 2020年4月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
149+阅读 · 2019年10月12日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
已删除
将门创投
4+阅读 · 2019年6月5日
计算机 | ISMAR 2019等国际会议信息8条
Call4Papers
3+阅读 · 2019年3月5日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
计算机类 | 11月截稿会议信息9条
Call4Papers
6+阅读 · 2018年10月14日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Distributed Deep Learning in Open Collaborations
Arxiv
0+阅读 · 2021年11月8日
Arxiv
45+阅读 · 2019年12月20日
VIP会员
相关VIP内容
专知会员服务
27+阅读 · 2021年7月3日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【Google】平滑对抗训练,Smooth Adversarial Training
专知会员服务
48+阅读 · 2020年7月4日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
106+阅读 · 2020年5月3日
【微众银行】联邦学习白皮书_v2.0,48页pdf,
专知会员服务
165+阅读 · 2020年4月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
149+阅读 · 2019年10月12日
相关资讯
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
已删除
将门创投
4+阅读 · 2019年6月5日
计算机 | ISMAR 2019等国际会议信息8条
Call4Papers
3+阅读 · 2019年3月5日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
计算机类 | 11月截稿会议信息9条
Call4Papers
6+阅读 · 2018年10月14日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员