Can programming language influence correctness? anguages affect the way we think about problems The tools we use have a profound(and devious) influence on our thinking habits, and, therefore on our thinking abilities?
Formal design Reviews Associated with each of documentation phases Evaluate with respect to Customer requirements Prescribed standards and practices Contractual requirements
design: added inheritance, multiple inheritance, and polymorphism to ADT In process added complexity and increased some types of connectivity Lots of claimed advantages -- so far empirical evaluation is not supporting them well
Abstract Model Specifications Build an abstract model of required software behavior using mathematically defined(perhaps using axioms )types(e. g sets, relations) Define operations by showing effects of that operation on the model Specification includes Model