Automated Fuzz Driver Generation for Java via Search-Based Testing: A Preliminary Study - Fernandes, Leo; Carvalho, Juvenal; Catarino, André; Campos, José; Soares, Elvys; Abreu, Rui (Anais do Congresso Ibero-Americano em Engenharia de Software (CIbSE), 2026)
Coverage-guided fuzzing has proven to be remarkably effective in uncovering security and reliability issues across large software systems. However, its adoption in practice remains hindered by the need for manually crafted fuzz drivers, whose construction is labor-intensive, error-prone, and often unrealistic for open-source software, where thousands of libraries expose complex and interdependent APIs. In this paper, we present arrabida, a novel approach to automating the generation of fuzz drivers for Java through encapsulated controlled execution contexts and orchestrated use of APIs, such as unit test cases. arrabida integrates search-based test generation (via EvoSuite) with static analysis, transforming the synthesized tests into Jazzer-compatible fuzz drivers, which are compilable and deployable in OSS-Fuzz. We evaluated arrabida on three real-world Java projects from OSS-Fuzz, by comparing generated drivers with their manually written counterparts in terms of iteration throughput, coverage, feature exploration, and crash detection. Our results show that arrabida drivers achieve comparable results to manually written drivers, exceeding coverage and number of iterations, while discovering unique program features and behaviors. arrabida triggered 11 unique crashes.