[LAD] Stoat 1.0 Release

From: Mark D. McCurry <mark.d.mccurry@email-addr-hidden>
Date: Fri Aug 15 2014 - 07:04:00 EEST

Hello all,

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
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 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:
http://log.fundamental-code.com/2014/08/15/stoat-tutorial-example

Project Home:
https://github.com/fundamental/stoat

Report bugs to:
https://github.com/fundamental/stoat/issues

Mark

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Received on Fri Aug 15 08:15:02 2014

This archive was generated by hypermail 2.1.8 : Fri Aug 15 2014 - 08:15:02 EEST