Fuzzing Luminescence to improve it
One of the challenges I faced as I started working on the Luminescence R package was how to navigate the very large set of functions that the package provides (by the last count, there are 155 functions that are exposed to the user, plus several internal helpers).
As I fumbled my way through it, I started noticing that when a function failed on a certain input, similar failures would also occur elsewhere. However, finding manually which other functions were affected was frustrating and time-consuming. Wouldn’t it be great if we could (quickly and with limited manual intervention) go through all the functions in the package and being told which are the ones that need to be fixed?
This got me to think about fuzz testing, and how that approach could be adapted for my purposes.
