[Review] PyRTFuzz: Detecting Bugs in Python Runtimes via Two-Level Collaborative Fuzzing
The paper proposes a new approach to Python fuzzing, called PyRTFuzz.
PyRTFuzz divides the fuzzing process into two levels:
- the generation-based level: generate the python applications.
- the mutation-based level: apply mutation-based fuzzing to test the generated python applications.
Background:
Three existing problems for Python fuzzing:
- testing the Python runtime requires testing both the interpreter core and the language’s runtime libraries.
- diverse and valid(syntactically and semantically correct) Python applications are needed.
- data types are not available in Python, so type-aware input generation is difficult.