When High-Performance Computing Meets Software Testing: Distributed Fuzzing using MPI
Pierciro Caliandro, Matteo Ciccaglione, Alessandro Pellegrini

TL;DR
This paper presents MPI-based synchronization techniques for distributed fuzzing, significantly improving performance, coverage, and scalability over traditional methods, with promising implications for software testing in CI/CD pipelines.
Contribution
It introduces MPI-based synchronization into distributed fuzzing frameworks, achieving lower latency and better coverage compared to filesystem-based approaches.
Findings
Enhanced coverage progression in early fuzzing stages
Reduced communication latency with MPI primitives
Improved scalability and effectiveness of distributed fuzz testing
Abstract
This paper explores the integration of MPI-based synchronization techniques into distributed fuzzing frameworks, highlighting possible substantial performance improvements compared to traditional filesystem-based synchronization methods. By employing lightweight MPI primitives, reductions in communication latency are achieved, facilitating more efficient data exchanges across distributed fuzzing nodes. Experimental results obtained over standard benchmarks demonstrate enhanced coverage progression from the early stages of the fuzzing process, which could be beneficial if fuzzing is employed in CI/CD pipelines at any stage of software development. Furthermore, the coordinated exchange of input corpora among clusters of fuzzers effectively addresses coverage stagnation, enabling a sustained exploration of complex and deep execution paths. Overall, the adoption of MPI-based synchronization…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
