Contracts and types. - Greg Meredith; Steve Bjorg (Commun. ACM, 2003)