The first release of stoat is available.
Instead of being a program or library that directly interacts with sound, this is more of a developer tool.
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 evaluate if any realtime function can end up calling a
non-realtime function eg a jack process callback being able to call malloc or
free.
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
assembly)
3) Perform simple deductions based upon the callgraph
This can be done relatively easily with existing projects and as one concrete example, just see the tool applied to non-timeline:
http://log.fundamental-code.com/2014/08 ... al-example
Project Home:
https://github.com/fundamental/stoat
I'd be surprised if I could get a first version out without a few bugs, so if you try it and see something wrong please report the issues to:
https://github.com/fundamental/stoat/issues
Stoat Developement Tool 1.0 Release
Moderators: raboof, MattKingUSA, khz
-
- Established Member
- Posts: 165
- Joined: Thu Nov 07, 2013 1:19 pm
- Been thanked: 1 time