bannerc

This page is a compendium of changes since the rollout of NPR7150.2C and includes notations of the changes from 2B to 2C. 

Change History

Completed work since the changes from NPR 7150.2B to NPR7150.2C. Includes the addition of substantial Software Assurance and Safety material. 

 1. To coincide with the release of NPR 7150.2C (on 8/2/2019), the following large changes were made to the Handbook:

  • All software requirements were updated from NPR 7150.2B to NPR 7150.2C (124+ pages)
  • All guidance corresponding to software requirements was reviewed and updated (124+ pages)
  • All references were reviewed and updated
  • SWEs retired: 22
  • SWEs reserved: 27 (not used in drafts but issued in final version)
  • Created "applicable-c" macro for use in in tab 1 of all project SWEs (replaces "applicable-b" macro. 

 2. In anticipation of the release of NASA-STD-8739.8 (late 2019 and early 2020), a software assurance tab was added to each NPR 7150.2C requirements page (from Chapters 3 through 5). (Total of 110 pages) Each page contains:

  • Corresponding NPR requirement
  • Software Assurance Required Tasks from NASA-STD-8739.8
  • Expected Product(s) from Performing Tasks
  • Suggested Metrics from Performing Tasks
  • Guidance on How to Perform Tasks

 3. Updates to the Software Engineering Topics

Multiple changes to existing Topics. Two Topics were added and two were retired. 

 Click here to expand...
  • 7.2 was modified to have the new criteria for classifying software as safety- critical (7/2020)
  • 7.8 (Maturity of Life Cycle Products at Milestone Reviews) was modified (6/2020) to add Maturity of Software Assurance and Safety Products at each Major Milestone review
  • 7.9 (Entrance and Exit Criteria) was updated (6/2020) to include software assurance and safety entrance and exit criteria for each major review.
  • 7.10 (Peer Reviews and Inspections Including Checklists)was updated (5/2020)
  • 7.11 (SWE History) was added to list the current status of all the requirements appearing in NPR 7150.2A, NPR7150.2B and NPR 7150.2C. Each requirement number references the location on the requirement page that describes the detailed history of the particular requirement (217 pages) (7/2020)
  • 7.18 (Documentation Guidance) modified (2/2020) to add documentation guidance (recommended guidance) for the following Software Assurance and Safety documents:
    1. SAANALYSIS – Software Analysis on the Detailed Software Requirements
    2. SADESIGN - Software Assurance Design Analysis
    3. SAP – Software Assurance Plan
    4. SASTATUS – Software Assurance and Software Safety Status Reports
    5. SSP – Software Safety Plan\
  • 7.19 (Risk Management Checklists) new topic added (1/2020). Contains software checklists for planning, requirements, design, implementation, testing, release, operations and maintenance and other risks.
  • 7.21 (Multi-Condition Software Requirements) new topic added (2/2021). Provides recommendations on handling and testing software with multiple condition requirements.

 4. Added a new tab to the "D. Topics" page titled "Assurance and Safety Topics".

A total of 18 topics were added:

 Click for more details ...
  • 8.1 Off Nominal Testing (1/2020)
  • 8.2 Software Reliability (6/2020)
  • 8.3 Organizational Goals of Software Assurance Metrics (1/2020)
  • 8.4 Additional Requirements Considerations for Use with Safety Critical Software (5/2020)
  • 8.5 Software Failure Modes and Effects Analysis (1/2020)
  • 8.6 IV&V Surveillance (6/2020)
  • 8.7 Fault Tree Analysis (1/ 2020)
  • 8.8 COTS Software Safety Considerations (6/2020)
  • 8.9 Software Safety Analysis (6/2020)
  • 8.10 Facility Software Safety Considerations 6/2020)
  • 8.11 Auto-Generated Code (1/2020)
  • 8.12 Basics of Auditing (1/2020)
  • 8.13 Test Witnessing (6/2020)
  • 8.14 SA Tasking for NPR 7150.2B (6/2020)
  • 8.15 SA Checklist Tool (10/2020)
  • 8.16 (Placeholder for SA Products)
  • 8.17 (Placeholder for Confirmations)
  • 8.18 SA Suggested Metrics (4/2021)

 5. Added a new tab (8/2020) to the "D. Topics" page titled, “Software Design Principles.”

These Principles were moved from the SPAN server. There are 17 principles pages, each containing:

  • The Principle
  • Example and Discussion
  • Inputs from Centers Relating to the Principle
  • Resources
  • Lessons Learned
 Click for more details ...
  • Coding Standards
  • Command Receipt Acknowledgement
  • Data Interface Integrity
  • Dead Code Exclusion
  • Fault Detection and Response
  • Flight Software Modification
  • Incorrect Memory Use or Access
  • Initialization - Safe Mode
  • Invalid Data Handling
  • Resource Margins
  • Resource Oversubscription
  • Resource Usage Measurement
  • Safe Transitions
  • Thread Safety
  • Toggle Commands

 6. Added a new tab (4/2021) to the "D. Topics" page titled, “Programming Checklists”

This tab consists of  10 checklists and a file with good and Bad Exception Handling Practices.

 Click for more details ...

Checklists: 

  • General Software Safety Requirements
  • Checklist for Choosing a Real Time Operating System (RTOS)
  • Checklist for Choosing Off-the Shelf Software (OTS)
  • Checklist for C Programming Practices
  • Checklist for C++ Programming Practices
  • Checklist for Ada Programming Practices
  • Checklist for Fortran Programming Practices
  • Checklist for Generic (Non-Language Specific) Programming Practices
  • General Good Programming Practices
  • Examples of Programming Practices for Error Handling

 7. Added FAQ (Frequently Asked Questions) section with questions and answers for software engineering, software assurance and safety areas. (10/2020, updated 2/2021,3/2021)

 Click for more details ...
  • Includes tabs for:
    • Engineering Questions – 0 questions
    • Software Assurance Questions – 6 questions
    • Safety Questions – 9 questions
    • Questions common to all areas – 5 questions 

 8. Reformatted all “lesson Learned” pages to include lessons learned from other sources as well as the from the database (100+ pages)

Reformatted all pages to adhere to a common presentation of information

  • Lessons Learned database
  • Other Lessons Learned resources

 9. Changed Section E: Tools, References and Terms:

  • Reformatted Terms Database
  • Reformatted Acronyms database
  • Reformatted Tools Table
  • Added approximately 60 new References

10. Added the capability to link into earlier versions of the SWE Handbook: (9/2020)

  • Added “Accessing Other Versions of SWEHB” tab in all 3 versions of SWEHB 


Work in Progress will be moved into the Completed Work tab once it is finished, reviewed, and approved for release. 

 1. Implement SA Metrics for topic 8.18 (April and May 2021)

  • Update Topic 7.18 with SA Life-Cycle Products -
    • Converted spreadsheet into text format for display in the Topic. 
    • Attach spreadsheet to Topic 8.18
  • Update all SWEs with metrics. Put metrics from the spreadsheet into Tab 7.3 - Metrics (Count of SWEs affected)
  • Update Topic 8.18
    • Add text version of spreadsheet into tab 2,
    • link to Excel spreadsheet attached to topic. 
  • Coordinated metrics in each requirement with metrics in Master metrics file and added any missing metrics to the appropriate requirement (early August, 21

 2. Other ongoing modifications, minor rewordings, and clarifications 

  • Modifications from NESC assessments
  • Additional Lessons Learned
  • Modify / remove references to "Classification Tool" in all three versions of SWEHB (July 2021)
  • Clean up tables of referenced SWEs and Topics in tab 3 of most SWEs in all three versions (July - August 2021)
  • Added definition of Integration testing to Topic 7.21; added risk probability, risk severity to risk metrics in Topic 7.14, Tab 2

3. Add Objective Evidence in all SWEs with SA tabs (May 2021)

  • Add macros for Note box and definition of Objective Evidence
  • Add content for Objective Evidence Notes 

 4. Add various new Topics

 5. Build out topic 8.16 - SA Product List (August through ? 2021) 


 6. Create SWEHBVD for NPR7150.2D (August through ? 2021)


 7. Created SWE History pages doe all SWEs in all versions of the SWEHB 9 (2021)

  • Pages with the history, by version, are in SITE space
  • All SWE pages in the current version of SWEHB have a section 1.2 History section with a link to the SWEs history page
  • Covers up to SWE-217


  • No labels