Meta

Open-sourcing SPARTA to make abstract interpretation easy

Feb 20, 2019Jez Ng, Arnaud Venet
Open-sourcing SPARTA to make abstract interpretation easy
SummaryAI, from the source post

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.

More from the Facebook Engineering Blog trail