
2/20/2019 · Jez Ng, Arnaud Venet
What this post added
This post introduces SPARTA, a C++ library of software components for building high-performance static analyzers. SPARTA encapsulates complex implementation details of abstract interpretation, allowing engineers to focus on program properties, analysis granularity, and property representation. It provides data structures like finite lattices and power set domains, and algorithms like a generic fixpoint iterator. The library's use in ReDex for liveness analysis resulted in a 60% speedup and 90% memory reduction. SPARTA is language-independent and designed for industrial-scale use, with an invitation for community contributions.