Abstract:With continuous innovation and breakthroughs in the new generation of network information technology, the software system has gradually extended from stand-alone scena-rios to mobile terminals, Internet of Things devices, industrial control equipment, cloud computing platforms, and other emerging areas, promoting the development of information technology infrastructure construction. However, the software applications are of varying quality, making them vulnerable to attacks from hacker organizations. It is highly demanded to mine software vulnerabilities efficiently and accurately due to the increasing number of event-based vulnerabilities and high-risk zero-day vulnerabilities. To detect vulnerabilities quickly, fuzzing has attracted much attention. It finds bugs by repeatedly injecting mutated inputs to a target program with the benefit of simple deployment, high automation and compatibility. However, existing fuzzing tests are usually performed in a single-processor environment, which suffers from significant time overhead, low computational resource utilization, and poor sustainability. Therefore, parallel fuzzing has been proposed and gained much attention. Academia and industry have launched an in-depth research on parallel fuzzing and designed a series of methods for task division, data storage, and communication interaction under the parallel architecture. This work systematically summarized current challenges in fuzzing process, scientifically outlined the needs of parallel fuzzing, then focused on comparing and analyzing the advantages and disadvantages of each parallel fuzzing scheme. In the end, this work prospected for the future trend of parallel fuzzing in high-performance computing scenarios.