Design by contract: a simple technique for improving the quality of software | IEEE Conference Publication | IEEE Xplore