Stoat Developement Tool 1.0 Release

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
fundamental
Established Member
Posts: 165
Joined: Thu Nov 07, 2013 1:19 pm
Been thanked: 1 time

Stoat Developement Tool 1.0 Release

Post by fundamental »

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
ZynAddSubFX maintainer
Post Reply