bannerd

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tabsetup
01. NASA-STD-8739.8B
12. Tasking
23. Example A
34. Example B
Div
idtabs-1

1. NASA-STD-8739.8B Title Material

Approved: TBDMeasurement System Identification: Not Measurement Sensitive

NASA TECHNICAL STANDARD

National Aeronautics and Space Administration

NASA-STD-8739.8B

Approved: TBD
Superseding NASA-STD-8739.8A

SOFTWARE ASSURANCE AND SOFTWARE SAFETY STANDARD
APPROVED FOR PUBLIC RELEASE – DISTRIBUTION IS UNLIMITED


DOCUMENT HISTORY LOG

StatusDocument RevisionApproval DateDescription
BaselineInitial2004-07-28Initial Release

12005-05-05Administrative changes to the Preface; Paragraphs 1.1, 1.4, 1.5, 2.1.1, 2.2.2, 3, 5.1.2.3, 5.4.1.1; 5.6.2, 5.8.1.2, 6.7.1.a, 7.3.2, 7.3.3, 7.5, 7.5.1; Table 1; Appendix A; Appendix C to reflect NASA Transformation changes, reflect the release of NASA Procedural Requirements (NPR) 7150.2, NASA Software Engineering Requirements and to make minor editorial changes. Note: Some paragraphs have changed pages as a result of these changes. Only pages where content has changed are identified by change indications.

A2020-06-10The revised document addresses the following significant issues: combined the NASA Software Assurance Standard (NASA-STD-8739.8) with the NASA Software Safety Standard (NASA-STD-8719.13), reduction of requirements, bring into alignment with updates to NPR 7150.2, added a section on IV&V requirements to perform IV&V, and moved guidance text to an Electronic Handbook. This change combines the updates to NASA-STD-8739.8 and the content of NASA-STD-8719.13. The update includes the NASA software safety requirements and cancels NASA-STD-8719.13 standard.

BTBDBrings into alignment with the update to NPR 7150.2D. Update the Appendix A table containing the additional areas to consider when identifying software causes in Hazard Analysis.

Forward

This NASA Technical Standard is published by the National Aeronautics and Space Administration (NASA) to provide uniform engineering and technical requirements for processes, procedures, practices, and methods that have been endorsed as standard for NASA facilities, programs, and projects, including requirements for selection, application, and design criteria of an item.
This standard was developed by the NASA Office of Safety and Mission Assurance (OSMA). Requests for information, corrections, or additions to this standard should be submitted to the OSMA by email to Agency-SMA-Policy-Feedback@mail.nasa.gov or via the “Email Feedback” link at https://standards.nasa.gov.

Russ Deloach

NASA Chief, Safety and Mission Assurance

TBD

Approval Date

Div
idtabs-2

Software Assurance and Software Safety Requirements Mapping Matrix

NPR 7150.2 SectionSWE #NPR 7150.2 RequirementSoftware Assurance and Software Safety Tasks
3
Software Management Requirements
3.1
Software Life-Cycle Planning
3.1.2033

Excerpt Include
SWEHBVD:SWE-033 - Acquisition vs. Development Assessment
SWEHBVD:SWE-033 - Acquisition vs. Development Assessment
nopaneltrue

Include Page
SWEHBVD:SWE-033 - Notes
SWEHBVD:SWE-033 - Notes

Include Page
SWE-033 - SA Task1
SWE-033 - SA Task1

Include Page
SWE-033 - SA Task2
SWE-033 - SA Task2

Include Page
SWE-033 - SA Task3
SWE-033 - SA Task3

3.1.3013

Excerpt Include
SWEHBVD:SWE-013 - Software Plans
SWEHBVD:SWE-013 - Software Plans
nopaneltrue

Include Page
SWE-013 - SA Task1
SWE-013 - SA Task1

Include Page
SWE-013 - SA Task2
SWE-013 - SA Task2

3.1.4024

Excerpt Include
SWEHBVD:SWE-024 - Plan Tracking
SWEHBVD:SWE-024 - Plan Tracking
nopaneltrue

Include Page
SWE-024 - SA Task1
SWE-024 - SA Task1

Include Page
SWE-024 - SA Task2
SWE-024 - SA Task2

Include Page
SWE-024 - SA Task3
SWE-024 - SA Task3

3.1.5034

Excerpt Include
SWEHBVD:SWE-034 - Acceptance Criteria
SWEHBVD:SWE-034 - Acceptance Criteria
nopaneltrue

Include Page
SWE-034 - SA Task1
SWE-034 - SA Task1

3.1.6036

Excerpt Include
SWEHBVD:SWE-036 - Software Process Determination
SWEHBVD:SWE-036 - Software Process Determination
nopaneltrue

Include Page
SWE-036 - SA Task1
SWE-036 - SA Task1

Include Page
SWE-036 - SA Task2
SWE-036 - SA Task2

3.1.7037

Excerpt Include
SWEHBVD:SWE-037 - Software Milestones
SWEHBVD:SWE-037 - Software Milestones
nopaneltrue

Include Page
SWE-037 - SA Task1
SWE-037 - SA Task1

Include Page
SWE-037 - SA Task2
SWE-037 - SA Task2

3.1.8039

Excerpt Include
SWEHBVD:SWE-039 - Software Supplier Insight
SWEHBVD:SWE-039 - Software Supplier Insight
nopaneltrue

Include Page
SWE-039 - SA Task1
SWE-039 - SA Task1

Include Page
SWE-039 - SA Task2
SWE-039 - SA Task2

Include Page
SWE-039 - SA Task3
SWE-039 - SA Task3

Include Page
SWE-039 - SA Task4
SWE-039 - SA Task4

Include Page
SWE-039 - SA Task5
SWE-039 - SA Task5

Include Page
SWE-039 - SA Task6
SWE-039 - SA Task6

Include Page
SWE-039 - SA Task7
SWE-039 - SA Task7

Include Page
SWE-039 - SA Task8
SWE-039 - SA Task8

3.1.9040

Excerpt Include
SWEHBVD:SWE-040 - Access to Software Products
SWEHBVD:SWE-040 - Access to Software Products
nopaneltrue

Include Page
SWE-040 - SA Task1
SWE-040 - SA Task1

3.1.10042

Excerpt Include
SWEHBVD:SWE-042 - Source Code Electronic Access
SWEHBVD:SWE-042 - Source Code Electronic Access
nopaneltrue

Include Page
SWE-042 - SA Task1
SWE-042 - SA Task1

3.1.11139

Excerpt Include
SWEHBVD:SWE-139 - Shall Statements
SWEHBVD:SWE-139 - Shall Statements
nopaneltrue

Include Page
SWE-139 - SA Task1
SWE-139 - SA Task1

3.1.12121

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-121 - SA Task1
SWE-121 - SA Task1

Include Page
SWE-121 - SA Task2
SWE-121 - SA Task2

3.1.13125

Excerpt Include
SWEHBVD:SWE-125 - Requirements Compliance Matrix
SWEHBVD:SWE-125 - Requirements Compliance Matrix
nopaneltrue

Include Page
SWE-125 - SA Task1
SWE-125 - SA Task1

Include Page
SWE-125 - SA Task2
SWE-125 - SA Task2

3.1.14027

Excerpt Include
SWEHBVD:SWE-027 - Use of Commercial, Government, and Legacy Software
SWEHBVD:SWE-027 - Use of Commercial, Government, and Legacy Software
nopaneltrue

Include Page
SWE-027 - SA Task1
SWE-027 - SA Task1

3.2
Software Cost Estimation
3.2.1015

Excerpt Include
SWEHBVD:SWE-015 - Cost Estimation
SWEHBVD:SWE-015 - Cost Estimation
nopaneltrue

Include Page
SWE-015 - SA Task1
SWE-015 - SA Task1

3.2.2151

Excerpt Include
SWEHBVD:SWE-151 - Cost Estimate Conditions
SWEHBVD:SWE-151 - Cost Estimate Conditions
nopaneltrue

Include Page
SWE-151 - SA Task1
SWE-151 - SA Task1

3.2.3174

Excerpt Include
SWEHBVD:SWE-174 - Software Planning Parameters
SWEHBVD:SWE-174 - Software Planning Parameters
nopaneltrue

Include Page
SWE-174 - SA Task1
SWE-174 - SA Task1

Include Page
SWE-174 - SA Task2
SWE-174 - SA Task2

3.3
Software Schedules
3.3.1016

Excerpt Include
SWEHBVD:SWE-016 - Software Schedule
SWEHBVD:SWE-016 - Software Schedule
nopaneltrue

Include Page
SWE-016 - SA Task1
SWE-016 - SA Task1

Include Page
SWE-016 - SA Task2
SWE-016 - SA Task2

3.3.2018

Excerpt Include
SWEHBVD:SWE-018 - Software Activities Review
SWEHBVD:SWE-018 - Software Activities Review
nopaneltrue

Include Page
SWE-018 - SA Task1
SWE-018 - SA Task1

Include Page
SWE-018 - SA Task2
SWE-018 - SA Task2

3.3.3046

Excerpt Include
SWEHBVD:SWE-046 - Supplier Software Schedule
SWEHBVD:SWE-046 - Supplier Software Schedule
nopaneltrue

Include Page
SWE-046 - SA Task1
SWE-046 - SA Task1

3.4
Software Training


3.4.1017

Excerpt Include
SWEHBVD:SWE-017 - Project and Software Training
SWEHBVD:SWE-017 - Project and Software Training
nopaneltrue

Include Page
SWE-017 - SA Task1
SWE-017 - SA Task1

Include Page
SWE-017 - SA Task2
SWE-017 - SA Task2

3.5
Software Classification Assessments
3.5.1020

Excerpt Include
SWEHBVD:SWE-020 - Software Classification
SWEHBVD:SWE-020 - Software Classification
nopaneltrue

Include Page
SWE-020 - SA Task1
SWE-020 - SA Task1

3.5.2176

Excerpt Include
SWEHBVD:SWE-176 - Software Records
SWEHBVD:SWE-176 - Software Records
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.6
Software Assurance and Software
Independent Verification & Validation

3.6.1022

Excerpt Include
SWEHBVD:SWE-022 - Software Assurance
SWEHBVD:SWE-022 - Software Assurance
nopaneltrue

Include Page
SWE-141 - SA Task1
SWE-141 - SA Task1

3.6.2141

Excerpt Include
SWEHBVD:SWE-141 - Software Independent Verification and Validation
SWEHBVD:SWE-141 - Software Independent Verification and Validation
nopaneltrue

Include Page
SWE-141 - SA Task1
SWE-141 - SA Task1

3.6.3131

Excerpt Include
SWEHBVD:SWE-131 - Independent Verification and Validation Project Execution Plan
SWEHBVD:SWE-131 - Independent Verification and Validation Project Execution Plan
nopaneltrue

Include Page
SWE-131 - SA Task1
SWE-131 - SA Task1

3.6.4178

Excerpt Include
SWEHBVD:SWE-178 - IV&V Artifacts
SWEHBVD:SWE-178 - IV&V Artifacts
nopaneltrue

Include Page
SWE-178 - SA Task1
SWE-178 - SA Task1

3.6.5179

Excerpt Include
SWEHBVD:SWE-179 - IV&V Submitted Issues and Risks
SWEHBVD:SWE-179 - IV&V Submitted Issues and Risks
nopaneltrue

Include Page
SWE-179 - SA Task1
SWE-179 - SA Task1

3.7
Safety-Critical  and Mission Critical Software
3.7.1205

Excerpt Include
SWEHBVD:SWE-205 - Determination of Safety-Critical Software
SWEHBVD:SWE-205 - Determination of Safety-Critical Software
nopaneltrue

Include Page
SWE-205 - SA Task1
SWE-205 - SA Task1

Include Page
SWE-205 - SA Task2
SWE-205 - SA Task2

Include Page
SWE-205 - SA Task3
SWE-205 - SA Task3

Include Page
SWE-205 - SA Task4
SWE-205 - SA Task4

Include Page
SWE-205 - SA Task5
SWE-205 - SA Task5

3.7.2023

Excerpt Include
SWEHBVD:SWE-023 - Software Safety-Critical Requirements
SWEHBVD:SWE-023 - Software Safety-Critical Requirements
nopaneltrue

Include Page
SWE-023 - SA Task1
SWE-023 - SA Task1

3.7.3134

Excerpt Include
SWEHBVD:SWE-134 - Safety-Critical Software Design Requirements
SWEHBVD:SWE-134 - Safety-Critical Software Design Requirements
nopaneltrue

Include Page
SWE-134 - SA Task1
SWE-134 - SA Task1

Include Page
SWE-134 - SA Task2
SWE-134 - SA Task2

Include Page
SWE-134 - SA Task3
SWE-134 - SA Task3

Include Page
SWE-134 - SA Task4
SWE-134 - SA Task4

Include Page
SWE-134 - SA Task5
SWE-134 - SA Task5

Include Page
SWE-134 - SA Task6
SWE-134 - SA Task6

3.7.4219

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements219 - Code Coverage for Safety Critical Software
SWEHBVD:SWE-121 - Document Tailored Requirements219 - Code Coverage for Safety Critical Software
nopaneltrue

Include Page
SWE-176 219 - SA Task1
SWE-176 219 - SA Task1

3.7.5220

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements220 - Cyclomatic Complexity for Safety-Critical Software
SWEHBVD:SWE-121 - Document Tailored Requirements220 - Cyclomatic Complexity for Safety-Critical Software
nopaneltrue

Include Page
SWE-176 220 - SA Task1
SWE-176 220 - SA Task1

Include Page
SWE-220 - SA Task2
SWE-220 - SA Task2

3.8
Automatic Generation of Software Source Code
3.8.1146

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements146 - Auto-generated Source Code
SWEHBVD:SWE-146 - 121 - Document Tailored RequirementsAuto-generated Source Code
nopaneltrue

Include Page
SWE-176 146 - SA Task1
SWE-176 146 - SA Task1

3.8.2206

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements206 - Auto-Generation Software Inputs
SWEHBVD:SWE-121 - Document Tailored Requirements206 - Auto-Generation Software Inputs
nopaneltrue

Include Page
SWE-176 206 - SA Task1
SWE-176 206 - SA Task1

3.9
Software Development Processes and Practices
3.9.2032

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored RequirementsSWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
032 - CMMI Levels for Class A and B Software
SWEHBVD:SWE-032 - CMMI Levels for Class A and B Software
nopaneltrue

Include Page
SWE-032 - SA Task1
SWE-032 - SA Task1

Include Page
SWE-032 - SA Task2
SWE-032 - SA Task2

Include Page
SWE-176 032 - SA Task1Task3
SWE-176 032 - SA Task1Task3

3.10
Software Reuse
3.10.1147

Excerpt Include
SWEHBVD:SWE-121 147 - Document Tailored Specify Reusability Requirements
SWEHBVD:SWE-121 147 - Document Tailored Specify Reusability Requirements
nopaneltrue

Include Page
SWE-176 147 - SA Task1
SWE-176 147 - SA Task1

3.10.2148

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements148 - Contribute to Agency Software Catalog
SWEHBVD:SWE-121 - Document Tailored Requirements148 - Contribute to Agency Software Catalog
nopaneltrue

Include Page
SWE-176 148 - SA Task1
SWE-176 148 - SA Task1

3.11
Software Cybersecurity
3.11.2156

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements156 - Evaluate Systems for Security Risks
SWEHBVD:SWE-121 - Document Tailored Requirements156 - Evaluate Systems for Security Risks
nopaneltrue

Include Page
SWE-176 156 - SA Task1
SWE-176 156 - SA Task1

3.11.3154

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements154 - Identify Security Risks
SWEHBVD:SWE-121 - Document Tailored Requirements154 - Identify Security Risks
nopaneltrue

Include Page
SWE-176 154 - SA Task1
SWE-176 154 - SA Task1

3.11.4157

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.11.5159

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.11.6207

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.11.7185

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.11.8210

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

3.12
Software Bi-Directional Traceability
3.12.1052

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue

Include Page
SWE-176 - SA Task1
SWE-176 - SA Task1

4
Software Engineering (Life Cycle) Requirements
4.1
Software Requirements
4.1.2050

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish, capture, record, approve, and maintain software requirements, including requirements for COTS, GOTS, MOTS, OSS, or reused software components, as part of the technical specification.

1. Confirm that all software requirements are established, captured, and documented as part of the technical specification, including requirements for COTS, GOTS, MOTS, OSS, or reused software components.
4.1.3051

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall perform software requirements analysis based on flowed-down and derived requirements from the top-level systems engineering requirements, safety and reliability analyses, and the hardware specifications and design.

1. Perform a software assurance analysis on the detailed software requirements to analyze the software requirement sources and identify any incorrect, missing, or incomplete requirements.
4.1.4184

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall include software related safety constraints, controls, mitigations, and assumptions between the hardware, operator, and software in the software requirements documentation.

1. Analyze and confirm that the software requirements documentation contains the software related safety constraints, controls, mitigations, and assumptions between the hardware, operator, and the software.
4.1.5053

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall track and manage changes to the software requirements.

1. Confirm the software requirements changes are documented, tracked, approved, and maintained throughout the project life cycle.
4.1.6054

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall identify, initiate corrective actions, and track until closure inconsistencies among requirements, project plans, and software products.

1. Monitor identified differences among requirements, project plans, and software products and confirm differences are addressed and corrective actions are tracked until closure.
4.1.7055

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall perform requirements validation to ensure that the software will perform as intended in the customer environment.

1. Confirm that the project software testing has shown that software will function as expected in the customer environment.
4.2
Software Architecture
4.2.3057

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall transform the requirements for the software into a recorded software architecture.

1. Assess that the software architecture addresses or contains the software structure, qualities, interfaces, and external/internal components. 2. Analyze the software architecture to assess whether software safety and mission assurance requirements are met.
4.2.4143

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall perform a software architecture review on the following categories of projects:a. Category 1 Projects as defined in NPR 7120.5.b. Category 2 Projects as defined in NPR 7120.5 that have Class A or Class B payload risk classification per NPR 8705.4.

1. Assess the results of or participate in software architecture review activities held by the project.
4.3
Software Design 
4.3.2058

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall develop, record, and maintain a software design based on the software architectural design that describes the lower-level units so that they can be coded, compiled, and tested.

1. Assess the software design against the hardware and software requirements and identify any gaps.2. Assess the software design to verify that the design is consistent with the software architectural design concepts and that the software design describes the lower-level units to be coded, compiled, and tested. 3. Assess that the design does not introduce undesirable behaviors or unnecessary capabilities.4. Confirm that the software design implements all of the required safety-critical functions and requirements. 5. Perform a software assurance design analysis.
4.4
Software Implementation
4.4.2060

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall implement the software design into software code.

1. Confirm that the software code implements the software designs. 2. Confirm that the code does not contain functionality not defined in the design or requirements.
4.4.3061

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall select, define, and adhere to software coding methods, standards, and criteria.

1. Assure the project manager selected and/or defined software coding methods, standards, and criteria.2. Analyze that the software code conforms to all required software coding methods, rules, and principles.
4.4.4135

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall use static analysis tools to analyze the code during the development and testing phases to, at a minimum, detect defects, software security, code coverage, and software complexity.

1. Analyze the engineering data or perform independent static code analysis to check for code detects defects, software quality objectives, code coverage objectives, software complexity values, and software security objectives.2. Confirm the static analysis tool(s) are used with checkers to identify security and coding errors and defects.3. Assess that the project addresses the results from the static analysis tools used by software assurance, software safety, engineering, or the project.4. Confirm that the software code has been scanned for security defects and confirm the result.5. Per SWE-219 for safety-critical software, verify code coverage and approved waivers.6. Per SWE-220 for safety-critical software, verify cyclomatic complexity and approved waivers.7. Confirm that Software Quality Objectives or software quality threshold levels are defined and set for static code analysis defects, checks, or software security objectives.
4.4.5062

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall unit test the software code.

1. Confirm that the project successfully executes the required unit tests, particularly those testing safety-critical functions.2. Confirm that the project addresses or otherwise tracks to closure errors, defects, or problem reports found during unit testing.
4.4.6186

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall assure that the unit test results are repeatable.

1. Confirm that the project maintains the procedures, scripts, results, and data needed to repeat the unit testing (e.g., as-run scripts, test procedures, results).
4.4.7063

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall provide a software version description for each software release.

1. Confirm that the project creates a correct software version description for each software release.2. For each software release, confirm that the software has been scanned for security defects and coding standard compliance and confirm the results.
4.4.8136

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall validate and accredit the software tool(s) required to develop or maintain software.

1. Confirm that the software tool(s) needed to create and maintain software is validated and accredited.
4.5
Software Testing
4.5.2065a

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and maintain:
a. Software test plan(s).

1. Confirm that software test plans have been established, contain correct content, and are maintained.2. Confirm that the software test plan addresses the verification of safety-critical software, specifically the off-nominal scenarios.
4.5.2065b

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and maintain:
...
b. Software test procedure(s).

1. Confirm that the test procedures have been established and are updated when changes to tests or requirements occur.
2. Analyze the software test procedures for the following: a. Coverage of the software requirements.
b. Acceptance or pass/fail criteria,
c. The inclusion of operational and off-nominal conditions, including boundary conditions,
d. Requirements coverage and hazards per SWE-066 and SWE-192, respectively.e. Requirements coverage for cybersecurity per SWE-157 and SWE-210.
4.5.2065c

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and maintain:
...
c. Software test(s), including any code specifically written to perform test procedures.

1. Confirm that the project creates and maintains any code specifically written to perform test procedures in a software configuration management system.2. Confirm that the project records all issues and discrepancies in the code specifically written to perform test procedures.3. Confirm that the project tracks to closure errors and defects found in the code specifically written to perform test procedures.
4.5.2065d

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and maintain:
...
d. Software test report(s).

1. Confirm that the project creates and maintains the test reports throughout software integration and test.
2. Confirm that the project records the test report data and that the data contains the as-run test data, the test results, and required approvals. 3. Confirm that the project records all issues and discrepancies found during each test.4. Confirm that the project tracks to closure errors and defects found during testing.
4.5.3066

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall test the software against its requirements.

1. Confirm test coverage of the requirements through the execution of the test procedures.
2. Perform test witnessing for safety-critical software.3. Confirm that any newly identified software contributions to hazards, events, or conditions found during testing are in the system safety data package.
4.5.4187

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall place software items under configuration management prior to testing.

1. Confirm that software items to be tested are under configuration management before the start of testing. 2. Confirm the project maintains the software items under configuration management through the completion of testing.
4.5.5068

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall evaluate test results and record the evaluation.

1. Confirm that test results are assessed and recorded. 2. Confirm that the project documents software non-conformances in a tracking system.3. Confirm that test results are sufficient verification artifacts for the hazard reports.
4.5.6070

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall use validated and accredited software models, simulations, and analysis tools required to perform qualification of flight software or flight equipment.

1. Confirm that the software models, simulations, and analysis tools used to achieve the qualification of flight software or flight equipment have been validated and accredited.
4.5.7071

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall update the software test and verification plan(s) and procedure(s) to be consistent with software requirements.

1. Analyze that software test plans and software test procedures cover the software requirements and provide adequate verification of hazard controls, specifically the off-nominal scenarios.
4.5.8073

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall validate the software system on the targeted platform or high-fidelity simulation.

1. Confirm that the project validates the software components on the targeted platform or a high-fidelity simulation.
4.5.9189

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall ensure that the code coverage measurements for the software are selected, implemented, tracked, recorded, and reported.

1. Confirm that code coverage measurements have been selected, performed, tracked, recorded, and communicated with each release.
4.5.10190

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall verify code coverage is measured by analysis of the results of the execution of tests.

1. Confirm that the project performs code coverage analysis using the results of the tests or a code coverage tool. 2. Analyze the code coverage measurements to identify uncovered software code.3. Assess any uncovered software code for potential risk, issues, or findings.
4.5.11191

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall plan and conduct software regression testing to demonstrate that defects have not been introduced into previously integrated or tested software and have not produced a security vulnerability.

1. Confirm that the project plans regression testing and that the regression testing is adequate and includes retesting of all safety-critical code components.2. Confirm that the project performs the planned regression testing. 3. Identify any risks and issues associated with the regression test set selection and execution.4. Confirm that the regression test procedures are updated to incorporate tests that validate the correction of critical anomalies.
4.5.12192

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall verify through test the software requirements that trace to a hazardous event, cause, or mitigation technique.

1. Through testing, confirm that the project verifies the software requirements which trace to a hazardous event, cause, or mitigation techniques.
4.5.13193

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall develop acceptance tests for loaded or uplinked data, rules, and code that affects software and software system behavior.

1. Confirm that the project develops acceptance tests for loaded or uplinked data, rules, and code that affect software and software system behavior.2. Confirm that the loaded or uplinked data, rules, scripts, or code that affect software and software system behavior are baselined in the software configuration system. 3. Confirm that loaded or uplinked data, rules, and scripts are verified as correct prior to operations, particularly for safety-critical operations.
4.5.14211

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall test embedded COTS, GOTS, MOTS, OSS, or reused software components to the same level required to accept a custom developed software component for its intended use.

1. Confirm that the project is testing COTS, GOTS, MOTS, OSS, or reused software components to the same level as developed software for its intended use.
4.6
Software Operations, Maintenance, and Retirement
4.6.2075

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall plan and implement software operations, maintenance, and retirement activities.

1. Assess the maintenance, operations, and retirement plans for completeness of the required software engineering and software assurance activities. 2. Confirm that the project implements software operations, software maintenance, and software retirement plans.
4.6.3077

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall complete and deliver the software product to the customer with appropriate records, including as-built records, to support the operations and maintenance phase of the software’s life cycle.

1. Confirm that the correct version of the products is delivered, including as-built documentation and project records. 2. Perform audits for all deliveries per the configuration management processes to verify that all products are being delivered and are the correct versions.
4.6.4194

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall complete, prior to delivery, verification that all software requirements identified for this delivery have been met or dispositioned, that all approved changes have been implemented and that all defects designated for resolution prior to delivery have been resolved.

1. Confirm that the project has identified the software requirements to be met, the approved changes to be implemented, and defects to be resolved for each delivery. 2. Confirm that the project has met all software requirements identified for delivery. 3. Confirm requirements once planned for delivery but no longer appearing in delivery documentation have been dispositioned. 4. Confirm that approved changes have been implemented and tested.5. Confirm that the approved changes to be implemented and the defects to be resolved have been resolved. 6. Approve or sign off on the projects delivered products.
4.6.5195

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall maintain the software using standards and processes, per the applicable software classification throughout the maintenance phase.

1. Perform audits on the standards and processes used throughout maintenance based on the software classification.
4.6.6196

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall identify the records and software tools to be archived, the location of the archive, and procedures for access to the products for software retirement or disposal.

1. Confirm that the project has identified the records and software tools for archival.2. Confirm that the project archives all software and records selected for archival, as planned.
5
Supporting Software Life Cycle Requirements
5.1
Software Configuration Management
5.1.2079

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall develop a software configuration management plan that describes the functions, responsibilities, and authority for the implementation of software configuration management for the project.

1. Assess that a software configuration management plan has been developed and complies with the requirements in NPR 7150.2 and Center/project guidance.
5.1.3080

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall track and evaluate changes to software products.

1. Analyze proposed software and hardware changes to software products for impacts, particularly safety and security.
2. Confirm the following:a. The project tracks the changes.b. The changes are approved and documented before implementation.c. The implementation of changes is complete.d. The project tests the changes.
3. Confirm software changes follow the software change control process.
5.1.4081

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall identify the software configuration items (e.g., software records, code, data, tools, models, scripts) and their versions to be controlled for the project.

1. Confirm that the project has identified the configuration items and their versions to be controlled.2. Assess that the software safety-critical items are configuration-managed, including hazard reports and safety analysis.
5.1.5082

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and implement procedures to:
a. Designate the levels of control through which each identified software configuration item is required to pass.
b. Identify the persons or groups with authority to authorize changes.
c. Identify the persons or groups to make changes at each level.

1. Confirm that software assurance has participation in software control activities.2. Perform an audit against the configuration management procedures to confirm that the project follows the established procedures.
5.1.6083

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall prepare and maintain records of the configuration status of software configuration items.

1. Confirm that the project maintains records of the configuration status of the configuration items.
5.1.7084

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall perform software configuration audits to determine the correct version of the software configuration items and verify that they conform to the records that define them.

1. Confirm that the project manager performed software configuration audits to determine the correct version of the software configuration items and verify that the results of the audit conform to the records that define them.
5.1.8085

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish and implement procedures for the storage, handling, delivery, release, and maintenance of deliverable software products.

1. Confirm that the project establishes procedures for storage, processing, distribution, release, and support of deliverable software products.2. Perform audits on the project to ensure that the project follows defined procedures for deliverable software products.
5.1.9045

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall participate in any joint NASA/developer audits.

1. Participate in or assess the results from any joint NASA/developer audits. Track any findings to closure.
5.2
Software Risk Management
5.2.1086

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall record, analyze, plan, track, control, and communicate all of the software risks and mitigation plans.

1. Confirm and assess that a risk management process includes recording, analyzing, planning, tracking, controlling, and communicating all software risks and mitigation plans. 2. Perform audits on the risk management process for the software activities.
5.3
Software Peer Reviews/Inspections
5.3.2087

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall perform and report the results of software peer reviews or software inspections for:
a. Software requirements.
b. Software plans, including cybersecurity.
c. Any design items that the project identified for software peer review or software inspections according to the software development plans.
d. Software code as defined in the software and or project plans.
e. Software test procedures.

1. Confirm that software peer reviews are performed and reported on for project activities. 2. Confirm that the project addresses the accepted software peer review findings.3. Perform peer reviews on software assurance and software safety plans.4. Confirm that the source code satisfies the conditions in the NPR 7150.2 requirement SWE-134, "a" through "l," based upon the software functionality for the applicable safety-critical requirements at each code inspection/review.
5.3.3088

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall, for each planned software peer review or software inspection:
a. Use a checklist or formal reading technique (e.g., perspective-based reading) to evaluate the work products.
b. Use established readiness and completion criteria.
c. Track actions identified in the reviews until they are resolved.
d. Identify the required participants.

1. Confirm that the project meets the NPR 7150.2 criteria in "a" through "d" for each software peer review.2. Confirm that the project resolves the actions identified from the software peer reviews.3. Perform audits on the peer-review process.
5.3.4089

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall, for each planned software peer review or software inspection, record necessary measurements.

1. Confirm that the project records the software peer reviews and results of software inspection measurements.
5.4
Software Measurements
5.4.2090

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall establish, record, maintain, report, and utilize software management and technical measurements.

1. Confirm that a measurement program establishes, records, maintains, reports, and uses software assurance, management, and technical measures. 2. Perform trending analyses on metrics (quality metrics, defect metrics) and report. 3. Collect any identified organizational metrics and submit them to the organizational repository.
5.4.3093

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall analyze software measurement data collected using documented project-specified and Center/organizational analysis procedures.

1. Confirm software measurement data analysis conforms to documented analysis procedures.
2. Analyze software assurance measurement data.
5.4.4094

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall provide access to the software measurement data, measurement analyses, and software development status as requested to the sponsoring Mission Directorate, the NASA Chief Engineer, the Center Technical Authorities, HQ SMA, and other organizations as appropriate.

1. Confirm access to software measurement data, analysis, and status as requested to the following entities, at a minimum:
- Sponsoring Mission Directorate
- NASA Chief Engineer
- Center Technical Authorities
- Headquarters SMA
5.4.5199

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall monitor measures to ensure the software will meet or exceed performance and functionality requirements, including satisfying constraints.

1. Confirm that the project monitors and updates planned measurements to ensure the software meets or exceeds performance and functionality requirements, including satisfying constraints.
2. Monitor and track any performance or functionality requirements that are not being met or are at risk of not being met.
5.4.6200

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall collect, track, and report software requirements volatility metrics.

1. Confirm that the project collects, tracks, and reports on the software volatility metrics.
2. Analyze software volatility metrics to evaluate requirements stability as an early indicator of project problems.
5.5
Software Non-conformance or Defect Management
5.5.1201

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall track and maintain software non-conformances (including defects in tools and appropriate ground software).

1. Confirm that all software non-conformances are recorded and tracked to resolution.2. Confirm that accepted non-conformances include the rationale for the non-conformance.
5.5.2202

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall define and implement clear software severity levels for all software non-conformances (including tools, COTS, GOTS, MOTS, OSS, reused software components, and applicable ground systems).

1. Confirm that all software non-conformances severity levels are defined.
2. Assess the application and accuracy of the defined severity levels to software non-conformances.3. Confirm that the project assigns severity levels to non-conformances associated with tools, COTS, GOTS, MOTS, OSS, and reused software components. 4. Maintain or access the number of software non-conformances at each severity level for each software configuration item.
5.5.3203

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall implement mandatory assessments of reported non-conformances for all COTS, GOTS, MOTS, OSS, and/or reused software components.

1. Confirm the evaluations of reported non-conformances for all COTS, GOTS, MOTS, OSS, or reused software components are occurring throughout the project life cycle.
2. Assess the impact of non-conformances on the project software's safety, quality, and reliability.
5.5.4204

Excerpt Include
SWEHBVD:SWE-121 - Document Tailored Requirements
SWEHBVD:SWE-121 - Document Tailored Requirements
nopaneltrue
The project manager shall implement process assessments for all high severity software non-conformances (closed loop process).

1. Perform or confirm that a root cause analysis has been completed on all identified high severity software non-conformances, and that the results are recorded and have been assessed for adequacy. 2. Confirm that the project analyzed the processes identified in the root cause analysis associated with the high severity software non-conformances.
3. Assess opportunities for improvement on the processes identified in the root cause analysis associated with the high severity software non-conformances. 4. Perform or confirm tracking of corrective actions to closure on high severity software non-conformances.
Div
idtabs-3

3. Example of Table from Software Assurance Plan

Note

The table below was taken from excerpts from Software Assurance Plan in SWEHBVD. The table is built from SWE excerpts plus SA Tasks using the individual SA tasks from the "SA Tasks from NASA-STD-8739.8B" area of SITE. 

The advantage of using this technique is that changes to the requirements (from SWEHBVD SWEs) and SA Tasks (from NASA-STD-8739.8B) will be made in one place. Once the updates are made, all of the places where they are repeated (quoted) are automatically updated. 

It is a little one time work to setup. It saves time as updates are made in documents. 

SWE #

NPR 7150.2 Requirement

NASA-STD-8739.8 Software Assurance and Software Safety Tasks per SA Standard

013

Excerpt Include
SWEHBVD:SWE-013 - Software Plans
SWEHBVD:SWE-013 - Software Plans
nopaneltrue

Include Page
SWE-013 - SA Task2
SWE-013 - SA Task2




Div
idtabs-4
Note

This example is taken from SWEHBVD:  SWE-013 - Software Plans. It uses the excerpt from tab 1 of the SWE and some include pages for appropriate tasks in the NASA-STD-8739.8B page set in SITE. 


7. Software Assurance


Excerpt Include
SWEHBVD:SWE-013 - Software Plans
SWEHBVD:SWE-013 - Software Plans

7.1 Tasking for Software Assurance

Panel
borderColorblue
titleFrom NASA-STD-8739.8B

Include Page
SWE-013 - SA Task1
SWE-013 - SA Task1
Include Page
SWE-013 - SA Task2
SWE-013 - SA Task2

...