Defensive design in software engineering is called defensive programming. He currently works as a senior principal software engineer and can be contacted at email protected. For me it was the best source for this kind of technique so far. Software engineering techniques 2 software quality correctness. Defensive programming is an approach to improve software and source code, in terms of.
Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software under unforeseen circumstances. Defensive programming is a practice where developers anticipate failures in their code, then add supporting code to detect, isolate, and in some cases, recover from the anticipated failure. Defensive programming techniques software engineering. Defensive programming mcgill school of computer science. Defensive programming practices are often used where high availability, safety or security is needed. Defensive programming is yet another concept in software development or in life, for that matter. Defensive programming is a practice where you anticipate failures in your. Defensive programming practices are often used where high availability, safety, or security is needed. Range of similar vulnerabilities exploited over time cert injection attacks ex 12. I talked a bit about defensive programming in my february post. Making the software behave in a predictable manner despite unexpected inputs or user actions.
Murphys law is a wellknown statement of the need for defensive design, and also of its ultimate limitations. Defensive programming defensive programming secure programming. Defensive programming entails many different things, even though they all revolve around handling the unexpected. John robbins, cofounder, wintellect solid code isnt just about code. Is the ease with which software may be adapted to changes of specifications. He currently works as a senior principal software engineer and can. Some of the main concepts strictly copied from the book, with my words so, it may be better to. Is the ability of software to function even in abnormal conditions. Defensive programming techniques are used especially when a piece of software could be misused. An important aspect that we agreed upon very quickly was this. Is the ability of software to exactly perform their tasks, as defined by the requirements and specifications. Lets look at alexs three rule of defensive programming. Nasa coding standards, defensive programming and reliability. Defensive programming techniques software engineering stack.
1438 1228 1506 1413 532 1206 1336 1410 1458 393 149 117 770 1202 345 1575 1355 137 48 1496 595 101 1105 782 1216 499 734 933 1217 431 778 753 1059 51 1088 393