\section{Background}
The defect detection and prevention (DDP) approach was first invented in 1998 by Steven Cornford, at the Jet Propulsion Laboratory. It is a risk-based requirements model that assists in early life-cycle decision making to help developers select assurance activities in a cost-effective maner. That is, maximizing requirements attainment while minimizing mitigation costs.
This model, as we study it, is based on three concepts: requirements, risks, and mitigations. Values are assigned to each of these factors to reflect importance, likelihood, and cost respectively.
Each requirement is assigned a numeric \textit{Weight} ranging from 0 to a MAXWEIGHT, usually 100. This number denotes the priority of the requirement in terms of how important it is to attain it compared to other requirements. In terms of risks, each one of them is assigned a likelihood indicating the probability of its occurrance in case no mitigation is exercised. This a-priori likelihood or \textit{rAPL} is measured as a floating-point number ranging from 0 to 1 . Lastly, each mitigation is assigned a \textit{Cost} which is usually the financial cost it would take to take the steps necessary to prevent a risk (or risks) from happening. Mitigations are also assigned a boolean, \textit{Selected}, that is set to \textit{true} it will be performed, \textit{false} otherwise. 
In additon to these factors, DDP models also consider the relationships among them. For instance, risks and requirements are related in that if the former occurs, the attainment of the latter is negatively impacted. Given that our goal is to maximize requirement, this impact is measured as the loss of attainment imposed by the risk should it occur in floating-point values ranging from 0 to 1 (inclusive). An \textit{Impact(risk,requirement)} value of 0.5 means that should the risk happen, the requirements attainment is reduced by one half. A second relationship is established between risks and mitigatins. The \textit{effect} of a mitigation indicates how much it reduces each risk, and it is also measured in decimal values ranging from 0 to 1 inclusive. An \textit{Effect(mitigation,risk)} value of 0.5 means that the given mitigation reduces the risk by one half.
Given these factors and the relationships among them we can then search for the best way to control them to achieve the maximum requirements attainment at the lowest mitigation costs. Keep in mind that maximizing attainment requires minimizing risks by implementing costly mitigations. At the same time, minimizing costs prevents projects from implementing mitigations to reduce risks.