AFLNet Five Years Later: On Coverage-Guided Protocol Fuzzing
Ruijie Meng, Van-Thuan Pham, Marcel B\"ohme, and Abhik Roychoudhury

TL;DR
This paper reviews the five-year development and impact of AFLNet, a coverage-guided protocol fuzzer that considers protocol states and sequences to improve testing effectiveness, highlighting its technical evolution and influence.
Contribution
It provides an extended discussion, empirical evaluation, and reflection on the advancements and impact of AFLNet in protocol fuzzing over five years.
Findings
AFLNet significantly improved protocol fuzzing coverage.
The tool has been widely adopted and actively maintained.
It influenced subsequent research and practical testing approaches.
Abstract
Protocol implementations are stateful which makes them difficult to test: Sending the same test input message twice might yield a different response every time. Our proposal to consider a sequence of messages as a seed for coverage-directed greybox fuzzing, to associate each message with the corresponding protocol state, and to maximize the coverage of both the state space and the code was first published in 2020 in a short tool demonstration paper. AFLNet was the first code- and state-coverage-guided protocol fuzzer; it used the response code as an indicator of the current protocol state. Over the past five years, the tool paper has gathered hundreds of citations, the code repository was forked almost 200 times and has seen over thirty pull requests from practitioners and researchers, and our initial proposal has been improved upon in many significant ways. In this paper, we first…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Web Application Security Vulnerabilities · Formal Methods in Verification
