Principles of Program Analysis


Principles of Program Analysis cover
Cover of Principles of Program Analysis on the Open Library.

The theoretical backbone of static analysis — covering data-flow analysis, constraint-based analysis, type and effect systems, and abstract interpretation. Dense but invaluable for understanding the formal foundations behind the Soot-based tooling I develop in my dissertation work. The treatment of lattice theory and fixed-point computation is especially relevant to inter-procedural analysis of Android call graphs.