Assertions in Programming: From Scientific Theory to Engineering Practice - Hoare, C (Springer, 2002)