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?
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
Requirements specification: A structured document that sets out the services the system is expected to provide Should be precise so that it can act as a contract between the system procurer and software developer and thus needs to be understandable by procurers and developers
Too complex for complete analysis Separation into non-interacting subsystems distorts the results The most important properties are emergent Too organized for statistics Too much underlying structure that distorts the statistics Organized Complexity\(Weinberg) Copyright Nancy Leveson, Sept 1999