A Comprehensive Review of Learning-based Fuzz Testing Techniques
Hao Cheng, Dongcheng Li, Man Zhao, Hui Li, W. Eric Wong · 2024
Fuzz testing has emerged as a dominant approach for identifying vulnerabilities, significantly improving software development and testing. Yet, traditional fuzz testing often grapples with inefficiencies and poor code coverage, relying heavily on the practitioner's expertise. With the rapid advancements in machine learning and deep learning within artificial intelligence, these technologies promise to revolutionize fuzz testing. This article critically examines learning-based fuzz testing methodologies. It starts by outlining fuzz testing's concept, core procedures, and established strategies. The discussion then shifts to the integration of machine learning and deep learning in fuzz testing, encompassing seed generation, scheduling, test case mutation, selection, target program analysis, and result evaluation. The paper concludes by addressing the current research gaps in this domain and speculating on future trends and opportunities for growth.