The Correctness-by-construction approach to programming - Kourie, Derrick G.; Watson, Bruce W. (Springer, 2012)