Facebook Engineering Blog
Open-sourcing SPARTA to make abstract interpretation easy

Open-sourcing SPARTA to make abstract interpretation easy

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.

Read the original post ↗