This article illustrates some basic principles behind static analysis, and then builds an analyzer for a register-based machine language in Racket.
It does so without
invoking the usual jargon associated with static analysis: lattices, monotonicity or fixed points.
http://matt.might.net/articles/intro-static-analysis/
Erick