Live briefing
Everything about Defensive programming
Software development methodology
Defensive programming is a form of defensive design intended to develop programs that are capable of detecting potential security abnormalities and make predetermined responses. It ensures the continuing function of a piece of software under unforeseen circumstances. Defensive programming practices are often used where high availability, safety, or security is needed. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Defensive programmingA 5-minute orientation
- Skim a recent paper: Improving defensive air battle management by solving a stochastic dynamic assignment problem via approximate dynamic programmingInfluential work since 2022
- Pick up a classic book: NASA/DoD aerospace knowledge diffusion research projectThe most-reprinted book on the subject
- Read the landmark paper: Maternal programming of defensive responses through sustained effects on gene expressionCited 112 times
- Go sideways: Secure codingA closely related topic
- Go sideways: Uncontrolled format stringA closely related topic
📖 Definitions
Noun A form of defensive design aiming to ensure the continuing functioning of a piece of software in spite of unforeseeable usage of it.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Maternal programming of defensive responses through sustained effects on gene expression
Maternal Programming of Individual Differences in Defensive Responses in the Rat
Defensive programming
checkmate: Fast Argument Checks for Defensive R Programming
Maternal programming of defensive responses through sustained effects on gene expression
Defensive Implantable Cardioverter-Defibrillator Programming Is Safe and Reduces Inappropriate Therapy ― Comparison of 3 Programming Strategies in 1,471 Patients ―
A Praise for Defensive Programming: Leveraging Uncertainty for Effective Malware Mitigation
The implementation of generic smart pointers for advanced defensive programming
🆕 Influential since 2022
📚 Books worth reading
NASA/DoD aerospace knowledge diffusion research projectThomas E. Pinelli · 1990- 📕Financial ManagementUnited States. General Accounting Office · 1987
- 📕Information technologyUnited States. General Accounting Office · 1995
- 📕Future years defense programUnited States. General Accounting Office · 1994
- 📕Defense acquisitionUnited States. General Accounting Office · 1990
- 📕Ballistic missile defenseUnited States. General Accounting Office · 1993
Program budgetingDavid Novick · 1962- 📕DOD budgetUnited States. General Accounting Office · 1990
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Secure coding Secure coding is the practice of developing computer software in such a way that guards against the accidental introduction of security vulnerabilities…
- Uncontrolled format string Uncontrolled format string is a type of code injection vulnerability discovered around 1989 that can be used in security exploits. Originally thought harmless…
- Code injection Code injection is a computer security exploit where a program fails to correctly process external data, such as user input, causing it to interpret the…
- Session poisoning Session poisoning (also referred to as "session data pollution" and "session modification") is a method to exploit insufficient input validation within…
- Windows Metafile vulnerability The Windows Metafile vulnerability—also called the Metafile Image Code Execution and abbreviated MICE—is a security vulnerability in the way some versions…
- Fuzzing In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected…
- Vulnerability (computer security) In computer security, a vulnerability is a flaw or weakness in a system's design, implementation, or management that can be exploited by a malicious actor…
- Code audit A software code audit is a comprehensive analysis of source code in a programming project with the intent of discovering bugs, security breaches or violations…