On theory and practice of Assertion Based Software Development
By: Herbert Toth
Customers want programs to be flexible, robust, efficient, non-expensive, correct, and moreover to be ready yesterday — and all this regardless of all the mostly negative impacts of various other project relevant circumstances. As in other engineering disciplines, reuse of existing components with well defined interfaces is regarded to be the only realistic approach to meet the needs of software industry. No surprise that a considerable number of programming languages and development methods have been proposed during the last three decades to help software engineers create such reusable abstractions.