Open
Description
Previous ID | SR-2091 |
Radar | None |
Original Reporter | @gottesmm |
Type | New Feature |
Additional Detail from JIRA
Votes | 0 |
Component/s | Compiler |
Labels | New Feature, SILParser |
Assignee | None |
Priority | Medium |
md5: 09279acc9947543a1d82bb4b2f8f8800
Issue Description:
We should harden the SILParser by using libfuzzer as follows.
LibFuzzer provides a random buffer of data to a driver program and then mutates that buffer in various ways. Given how randomly the buffer is mutated, it would not be very useful to just have it randomly mutate strings. Instead what we can do is use these bytes as edge selectors in a state machine based on the SIL grammar.
This will ensure that valid SIL programs are produced and at the same time allow for libfuzzer to drive the fuzzing process without knowing anything about the underlying SIL language.