Fuzz Smarter, Not Harder: Towards Greener Fuzzing with GreenAFL
Ayse Irmak Ercevik, Aidan Dakhama, Melane Navaratnarajah, Yazhuo Cao, Leo Fernandes
TL;DR
The paper addresses the carbon footprint and energy cost of continuous fuzzing campaigns. It introduces GreenAFL, energy-aware extensions to AFL++, incorporating energy into corpus minimisation and fuzzing loop heuristics via cppjoules and an LD_PRELOAD wrapper. An ablation study on OSS-Fuzz benchmarks shows that energy-aware corpus minimisation reduces energy consumption while maintaining or improving coverage; energy-guided fuzzing shows promise but needs tuning. The results indicate that energy-based strategies can increase coverage-per-watt and lower infrastructure costs, making greener fuzzing attractive for industrial-scale deployments.
Abstract
Fuzzing has become a key search-based technique for software testing, but continuous fuzzing campaigns consume substantial computational resources and generate significant carbon footprints. Existing grey-box fuzzing approaches like AFL++ focus primarily on coverage maximisation, without considering the energy costs of exploring different execution paths. This paper presents GreenAFL, an energy-aware framework that incorporates power consumption into the fuzzing heuristics to reduce the environmental impact of automated testing whilst maintaining coverage. GreenAFL introduces two key modifications to traditional fuzzing workflows: energy-aware corpus minimisation considering power consumption when reducing initial corpora, and energy-guided heuristics that direct mutation towards high-coverage, low-energy inputs. We conduct an ablation study comparing vanilla AFL++, energy-based corpus minimisation, and energy-based heuristics to evaluate the individual contributions of each component. Results show that highest coverage, and lowest energy usage is achieved whenever at least one of our modifications is used.
