A Simple Rewriting Semantics for Realistic Imperative Programs and its Application to Program Analysis