The NASA IV&V Program strives to improve software safety, reliability, and quality of NASA programs and missions through effective applications of systems and software IV&V methods, practices, and techniques. The NASA IV&V Program applies software engineering best practices to evaluate the correctness and quality of critical and complex software systems throughout the System Development Life Cycle (SDLC).
When applying systems and software IV&V, the NASA IV&V seeks to answer the following questions:
1. Does the software exhibit behaviors exactly as intended?
2. Does the software not exhibit behaviors that were not intended?
3. Does the software exhibit expected behaviors under adverse conditions?
The NASA IV&V Program's analytical approaches enable efficient, cost-effective IV&V service through the usage of broad-based, eclectic expertise, adaptive software engineering best practices, and tools that are in place at the NASA IV&V Facility. The analytical paradigm utilized by the NASA IV&V Program requires a multi-disciplinary team, and a qualitative software risk and criticality assessment capability coupled with an extensive multiphase, phase-independent V&V analytical process.
Software IV&V has been demonstrated to be an effective technique on large, complex software systems to increase the probability of software being delivered that meets requirements and is safe, within cost, and within schedule. When performed in parallel with the SDLC, software IV&V provides for the early detection and identification of risk elements. The NASA IV&V Program is then able to take action to mitigate these risks early in the SDLC.
Another key element of the NASA IV&V Program is its research partnerships. Research priorities are driven by technical and operational challenges and improvements of NASA programs. Particular emphasis is placed on early SDLC tools (requirements & design), software process modeling tools, tools to aid in the generation of integrated specifications sets, and tools for configuration/interface management and software maintenance.