Spezifikations- vs. Implementierungsbasierte Entwicklung: Design by Contract, Assertions und Validierung