[LAD] Stoat 1.0 Release
Mark D. McCurry
mark.d.mccurry at gmail.com
Fri Aug 15 04:04:00 UTC 2014
The first release of stoat is available.
Stoat is a S.T.atic (LLVM) O.bject file A.nalysis T.ool which is a rewrite of
sfpv (Static Function Property Verification) due to the very quick bitrot of the
clang API (stoat uses only the llvm optimizer pass API).
This tool is designed to evaulate if any realtime function can end up calling a
non-realtime function eg a jack process callback being able to call malloc or
It does this by:
1) Using either inline or external function whitelists and function
blacklists to establish which functions are safe and unsafe.
2) Extracting a function callgraph (including virtual function calls)
from the LLVM IR representation of code (which is effectively one level above
3) Perform simple deductions based upon the callgraph
This approach is designed to work best for C/C++ projects and for realtime
verification, but fairly little stops it from generalizing to other languages
(assuming the other languages compile with llvm) and other function properties.
Existing annotations from sfpv should still work, though the only project that
I've seen using them has been jalv so far.
As this might seem quite abstract, here is an example usage with non-timeline:
Report bugs to:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 473 bytes
Desc: not available
More information about the Linux-audio-dev