Verified Software: Theories, Tools, Experiments - Shankar, Natarajan (Springer Berlin Heidelberg, 2008)