Open
Description
Given that Jsonnet is written in C++, there are many potential issues that can lurk in C++ code, such as undefined behavior, buffer overruns, etc.
While unit tests help ensure that code does what it's supposed to (and handles errors correctly), there are other classes of issues that can be found via static analysis. Some of the tools that can be used for this are:
- Coverity, which provides free scans to open-source projects
- LLVM/Clang tools such as: AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, etc.
These and other similar tools can help find bugs without writing explicit tests, so they provide a lot of value with little additional effort.