I know we are looking at updating the testing infrastructure, both for CI and in general. I just wanted to bring people's attention to a couple of suggested methods we could employ:
Jim Garelick (LLNL) suggested the following unit testing infrastructure:
openpmix/openpmix#103
Google released their testing tool a year ago:
https://opensource.googleblog.com/2019/02/open-sourcing-clusterfuzz.html
Fuzzing is an automated method for detecting bugs in software that works by feeding unexpected inputs to a target program. It is effective at finding memory corruption bugs, which often have serious security implications. Manually finding these issues is both difficult and time consuming, and bugs often slip through despite rigorous code review practices. For software projects written in an unsafe language such as C or C++, fuzzing is a crucial part of ensuring their security and stability.
We may run across other useful tools - we can capture those here as people find them.
I know we are looking at updating the testing infrastructure, both for CI and in general. I just wanted to bring people's attention to a couple of suggested methods we could employ:
Jim Garelick (LLNL) suggested the following unit testing infrastructure:
openpmix/openpmix#103
Google released their testing tool a year ago:
https://opensource.googleblog.com/2019/02/open-sourcing-clusterfuzz.html
Fuzzing is an automated method for detecting bugs in software that works by feeding unexpected inputs to a target program. It is effective at finding memory corruption bugs, which often have serious security implications. Manually finding these issues is both difficult and time consuming, and bugs often slip through despite rigorous code review practices. For software projects written in an unsafe language such as C or C++, fuzzing is a crucial part of ensuring their security and stability.
We may run across other useful tools - we can capture those here as people find them.