Software assurance

[1] It involves a variety of activities, including requirements analysis, design reviews, code inspections, testing, and formal verification.

To achieve this, a preventive dynamic and static analysis of potential vulnerabilities is required, and a holistic, system-level understanding is recommended.

Without proper testing and verification, software can contain defects and vulnerabilities that can lead to system failures, security breaches, and other serious problems with negative consequences for individuals, businesses, and society as a whole.

Organizations can reduce the risk of costly system failures, data breaches, and other negative outcomes by ensuring software assurance.

Many critical functions, such as national defense, banking, healthcare, telecommunications, aviation, and control of hazardous materials, depend on the correct and predictable operation of software.

Therefore, it is essential for organizations to implement software testing and verification techniques and tools to reduce the risk of system failures and security breaches.

The SwA Program is based upon the National Strategy to Secure Cyberspace - Action/Recommendation 2-14: “DHS will facilitate a national public-private effort to promulgate best practices and methodologies that promote integrity, security, and reliability in software code development, including processes and procedures that diminish the possibilities of erroneous code, malicious code, or trap doors that could be introduced during development.”[17] There are open-source software tools for software assurance that help identify potential security vulnerabilities.

To develop wider situational awareness of the families of SwA tools commercially available, JFAC funded the Institute for Defense Analysis (IDA) to produce the State of the Art Resource (SOAR).

A package including Data Item Descriptions (DIDs), machine-readable vulnerability report formats, and a brief overviewing application of the techniques is available at the JFAC website.