The PDF version pdf file
Display Related Directives to this directive.
Display Reference Documents to this directive.

							DOE G 414.1-4
							      6-17-05



			SAFETY SOFTWARE GUIDE  
				for USE with 
		10 CFR 830 Subpart A, Quality Assurance 
	    Requirements, and DOE O 414.1C, Quality Assurance

[This Guide describes suggested nonmandatory approaches for meeting requirements.  
Guides are not requirements documents and are not construed as requirements in any 
audit or appraisal for compliance with the parent Policy, Order, Notice, or Manual.]

U.S. DEPARTMENT OF ENERGY
Washington, D.C.



FOREWORD

This Department of Energy (DOE) Guide is approved by the Office of Environment, Safety and 
Health and is available for use by all DOE and National Nuclear Security Administration 
(NNSA) elements and their contractors. This Guide revises and supersedes earlier guidance 
identified in Appendix B to include new and updated information.

Comments, including recommendations for additions, modifications, or deletions, and other 
pertinent information, should be sent to the following.

Gustave E. Danielson, Jr.			Richard H. Lagdon, Jr. (Chip)
U.S. DOE				U.S DOE
Office of Quality Assurance Programs 	Director, Office of Quality Assurance Programs
1000 Independence Avenue SW		1000 Independence Avenue SW
EH-31/270CC				EH-31/270CC
Washington, DC 20585-0270		Washington, DC 20585-0270
Phone:	301-903-2954			Phone:	301-903-4218	
Fax:	301-903-4120			Fax:	301-903-4120
E-mail:	bud.danielson@hq.doe.gov		E-mail:	 chip.lagdon@eh.doe.gov

Guides are part of the DOE directives system and are used to provide supplemental information 
regarding DOE/NNSA expectations for fulfilling requirements contained in Policies, Rules, 
Orders, Manuals, Notices, and Regulatory Standards. Guides are also used to identify 
Government and non-Government standards and acceptable methods for implementing 
DOE/NNSA requirements. Guides are not substitutes for requirements nor do they introduce new 
requirements or replace technical standards used to describe established practices and 
procedures.


CONTENTS
BACKGROUND	v
1.	INTRODUCTION	1
1.1	Purpose	1
1.2	Scope	1
1.3	Responsibility for Safety Software	3
1.4	Safety Software Quality Assurance	3
1.5	Software Quality Assurance Program	3
2.	SAFETY SOFTWARE TYPES AND GRADING	5
2.1	Software Types	5
2.2	Graded Application	6
3.	GENERAL INFORMATION	8
3.1	System Quality and Safety Software	8
3.2	Risk and Safety Software	9
3.3	Special-Purpose Software Applications	10
3.3.1	Toolbox and Toolbox-Equivalent Software Applications	10
3.3.2	Existing Safety Software Applications	11
3.4	Continuous Improvement, Measurement, and Metrics	11
3.5	Use of National/International Standards	12
4.	RECOMMENDED PROCESS	13
5.	GUIDANCE	13
5.1	Software Safety Design Methods	13
5.2	Software Work Activities	17
5.2.1	Software Project Management and Quality Planning	17
5.2.2	Software Risk Management	19
5.2.3	Software Configuration Management	21
5.2.4	Procurement and Supplier Management	22
5.2.5	Software Requirements Identification and Management	23
5.2.6	Software Design and Implementation	24
5.2.7	Software Safety	25
5.2.8	Verification and Validation	27
CONTENTS (continued)
5.2.9	Problem Reporting and Corrective Action	30
5.2.10	Training Personnel in the Design, Development, Use, and  
Evaluation of Safety Software	30
6.	ASSESSMENT AND OVERSIGHT	31
6.1	General	31
6.2	DOE and Contractor Assessment	32
6.3	DOE Independent Oversight	32
APPENDIX A.	ACRONYMS AND DEFINTIONS	A-1
APPENDIX B.	PROCEDURE FOR ADDING OR REVISING SOFTWARE TO  
OR DELETING SOFTWARE FROM THE DOE SAFETY  
SOFTWARE CENTRAL REGISTRY	B-1
APPENDIX C.	USE OF ASME NQA-1-2000 AND SUPPORTING STANDARDS  
FOR COMPLIANCE WITH DOE 10 CFR 830 SUBPART A  
AND DOE O 414.1C AND SAFETY SOFTWARE	C-1
APPENDIX D.	QUALITY ASSURANCE STANDARDS FOR SAFETY  
SOFTWARE IN DEPARTMENT OF ENERGY NUCLEAR  
FACILITIES	D-1
APPENDIX E.	SAFETY SOFTWARE ANALYSIS AND MANAGEMENT  
PROCESS	E-1
APPENDIX F.	DOE O 414.1C CRITERIA REVIEW AND APPROACH  
DOCUMENT	F-1
APPENDIX G.	REFERENCES	G-1


BACKGROUND

The use of digital computers and programmable electronic logic systems has increased 
significantly since 1995, and their use is evident in safety applications at nuclear facilities across 
the Department of Energy (DOE or Department) complex. The commercial industry has 
increased attention to quality assurance of safety software to ensure that safety systems and 
structures are properly designed and operate correctly. Recent DOE experience with safety 
software has led to increased attention to the safety-related decision making process, the quality 
of the software used to design or develop safety-related controls, and the proficiency of 
personnel using the safety software.

The Department has recognized the need to establish rigorous and effective requirements for the 
application of quality assurance (QA) programs to safety software. In evaluating Defense 
Nuclear Facilities Safety Board (DNFSB) recommendation 2002-1 and through assessing the 
current state of safety software, the Department concluded that an integrated and effective 
Software Quality Assurance (SQA) infrastructure must be in place throughout the Department’s 
nuclear facilities. This is being accomplished through the Implementation Plan for Defense 
Nuclear Facilities Safety Board Recommendation 2002-1, Quality Assurance for Safety Software 
at Department of Energy Defense Nuclear Facilities.

To ensure the quality and integrity of safety software, DOE directives are being developed and 
revised based on existing SQA industry or Federal agency standards This resulted in the 
development and issuance of DOE O 414.1C, Quality Assurance, dated 6-17-05, which includes 
specific SQA requirements, this Guide and the DOE Standard 1172-2003, Safety Software 
Quality Assurance Functional Area Qualification Standard, dated December 2003. The SQA 
requirements are to be implemented by DOE and its contractors. Nuclear facility contractors 
must implement the SQA requirements under their QA program for 10 CFR 830, Subpart A, 
Quality Assurance Requirements. Thus, the intent of this Guide is to provide instructional 
guidance for application of DOE O 414.1C safety software requirements.

1.	INTRODUCTION

1.1	PURPOSE

This Department of Energy (DOE or Department) Guide provides information plus acceptable 
methods for implementing the safety software quality assurance (SQA) requirements of DOE 
O 414.1C, Quality Assurance, dated 6-17-05. DOE O 414.1C requirements supplement the 
quality assurance program (QAP) requirements of Title 10 Code of Federal Regulations 
(CFR) 830, Subpart A, Quality Assurance, for DOE nuclear facilities and activities. The safety 
SQA requirements for DOE, including the National Nuclear Security Administration (NNSA), 
and its contractors are necessary to implement effective quality assurance (QA) processes and 
achieve safe nuclear facility operations.

DOE promulgated the safety software requirements and this guidance to control or eliminate the 
hazards and associated postulated accidents posed by nuclear operations, including radiological 
operations. Safety software failures or unintended output can lead to unexpected system or 
equipment failures and undue risks to the DOE/NNSA mission, the environment, the public, and 
the workers. Thus DOE G 414.1-4 has been developed to provide guidance on establishing and 
implementing effective QA processes tied specifically to nuclear facility safety software 
applications. DOE also has guidance  for the overarching QA program, which includes safety 
software within its scope. This Guide includes software application practices covered by 
appropriate national and international consensus standards and various processes currently in use 
at DOE facilities.  This guidance is also considered to be of sufficient rigor and depth to ensure 
acceptable reliability of safety software at DOE nuclear facilities. 

This guidance should be used by organizations to help determine and support the steps necessary 
to address possible design or functional implementation deficiencies that might exist and to 
reduce operational hazards-related risks to an acceptable level. Attributes such as the facility 
life-cycle stage and the hazardous nature of each facility’s operations should be considered when 
using this Guide. Alternative methods to those described in this Guide may be used provided 
they result in compliance with the requirements of 10 CFR 830 Subpart A and DOE O 414.1C. 
Another objective of this guidance is to encourage robust software quality methods to enable the 
development of high quality safety applications.
1.2	SCOPE
This Guide is intended for use by all DOE/NNSA organizations and their contractors to assist in 
developing site and facility specific safety SQA processes and procedures compliant with 
10 CFR 830 Subpart A and DOE O 414.1C.

The Department’s objectives for safety software requirements include—

*	grading SQA requirements based on risk, safety, facility life-cycle, complexity, and 
	project quality requirements; 
*	applying SQA requirements to software life-cycle phases;
*	developing procurement controls for acquisition of computer software and hardware that 
	are provided with supplier-developed software and/or firmware; 
*	documenting and tracking customer requirements;
*	managing software configuration throughout the life-cycle phases;
*	performing verification and validation (V&V)  processes;
*	performing reviews of software configuration items, including reviewing the safety 
	implications identified in the failure analysis and fault tolerance design; and
*	training personnel who use and apply software in safety applications.

The scope of this Guide includes software applications that meet safety software definitions as 
stated in DOE O 414.1C. This includes software applications important to safety that may be 
included or associated with structures, systems, or components (SSCs) for less than hazard 
category 3 facilities. Safety Software includes safety system software, safety and hazard analysis 
software and design software, and safety management and administrative control software. 

Safety system software is software for a nuclear facility  that performs a safety function as part of 
an SSC and is cited in either (1) a DOE approved documented safety analysis or (2) an approved 
hazard analysis per DOE P 450.4 Safety Management System Policy, dated 10-15-96, and the 
DEAR clause.

Safety and hazard analysis software and design software is software that is used to classify, 
design, or analyze nuclear facilities.  This software is not part of an SSC but helps to ensure the 
proper accident or hazards analysis of nuclear facilities or an SSC that performs a safety 
function.

Safety management and administrative controls software is software that performs a hazard 
control function in support of nuclear facility or radiological safety management programs or 
Technical Safety Requirements or other software that performs a control function necessary to 
provide adequate protection from nuclear facility or radiological hazards. This software supports 
eliminating, limiting, or mitigating nuclear hazards to workers, the public, or the environment as 
addressed in 10 CFR 830, 10 CFR 835, and the DEAR ISMS clause.

Additional definitions are included in Appendix A, Acronyms and Definitions.

Although this Guide has been developed for DOE nuclear facility software, it may also be useful 
for ensuring the quality of other software important to mission critical functions, environmental 
protection, health and safety protection, safeguards and security, emergency management, or 
assets protection.

1.3	RESPONSIBILITY FOR SAFETY SOFTWARE

The Assistant Secretary for Environment, Safety and Health has the lead responsibility for 
promulgating requirements and guidance through the directives system for safety software per 
DOE O 414.1C. The organizations that use software should determine whether to qualify the 
software for safety applications. Organizations should coordinate SQA procedures with their 
respective Chief Information Officers and other appropriate organizations. DOE line 
organizations are responsible for providing direction and oversight of the contractor 
implementation of SQA requirements.

1.4	SAFETY SOFTWARE QUALITY ASSURANCE 

The scope of the Department’s QA Rule, 10 CFR 830 Subpart A, is stated as “This subpart 
establishes quality assurance requirements for contractors conducting activities, including 
providing items or services, that affect, or may affect, nuclear safety of DOE nuclear facilities.” 
The scope of the QA Rule encompasses the contractor’s conduct of activities as they relate to 
safety software (items or services). Therefore the contractor’s QAP includes safety software 
within its scope. DOE O 414.1C establishes the safety software QA requirements to be 
implemented under the Rule. 10 CFR 830 Subpart A and DOE O 414.1C require contractors to 
perform safety software work in accordance with the applicable criteria. 

The various sections of this Guide discuss the application of the QA criteria from DOE O 414.1C 
and 10 CFR 830 Subpart A to the ten SQA work activities. Table 1 provides an illustration of 
how the SQA work activities satisfy the QA criteria.

1.5	SOFTWARE QUALITY ASSURANCE PROGRAM

It is important that SQA is part of an overall QAP required for nuclear facilities in accordance 
with 10 CFR 830 Subpart A and DOE O 414.1C. Regardless of the application of the software, 
an appropriate level of quality infrastructure should be established and a commitment made to 
maintain this infrastructure for the safety software. 

An SQA program establishes the appropriate safety software life-cycle practices, including 
safety design concepts, to ensure that software functions reliably and correctly performs the 
intended work specified for that safety software. In other words, SQA’s role is to minimize or 
prevent the failure of safety software and any undesired consequences of that failure. The rigor 
imposed by SQA is driven by the intended use of the safety software. More importantly, the rigor 
of SQA should address the risk of use of such software. Effective safety software quality is one 
method for avoiding, minimizing, or mitigating the risk associated with the use of the software.

Table 1. 	An Illustration of Quality Assurance (QA) Criteria (10 CFR 830 Subpart A & DOE O 414.1C) 
	Applicability to Software Quality Assurance (SQA) Work Activities

		TABLES AND GRAPHICS CAN BE VIEWED IN THE PDF FILE. 


Note: This table is only an illustration of QA criteria applicability. Actual application will be described in the organization’s QA program and safety software work process documents. For example, an independent assessment may be performed on any safety software quality 
element. 


The goal of SQA for safety system software is to apply the appropriate quality practices to 
ensure the software performs its intended function and to mitigate the risk of failure of safety 
systems to acceptable and manageable levels. SQA practices are defined in national and 
international consensus standards. SQA cannot address the risks created by the failure of other 
system components (hardware, data, human process, power system failures) but can address the 
software “reaction” to effects caused by these types of failures. SQA should not be isolated from 
system level QA and other system level activities. In many instances, hardware fail-safe methods 
are implemented to mitigate risk of safety software failure. Additionally other interfaces such as 
hardware and human interfaces with safety software should implement QA activities.

2.	SAFETY SOFTWARE TYPES AND GRADING

2.1	SOFTWARE TYPES

Software typically is either custom developed or acquired software. Further characterizing these 
two basic types aids in the selection of the applicable practices and approaches for the SQA work 
activities. For the purposes of this Guide, five types of software have been identified as 
commonly used in DOE applications: (1) custom developed, (2) configurable, (3) acquired, 
(4) utility calculation, and (5) commercial design and analysis.

Developed and acquired software types as discussed in American Society of Mechanical 
Engineers (ASME) NQA-1-2000, Quality Assurance Requirements for Nuclear Facility 
Applications are compatible with these five software types. Developed software as described in 
ASME NQA-1-2000 is directly associated with custom developed, configurable, and utility 
calculation software. Acquired software included in this Guide is easily mapped to that of 
acquired software in ASME NQA-1-2000. ASME NQA-1-2000 uses acquired and procured 
software terms interchangeably.  This Guide includes an additional software type of commercial 
design and analysis software that is not directly related to either developed or acquired software. 
Safety software quality requirements can only be specified through work activities described in 
contractual agreements with the supplier of the facility design and analysis services.

Custom developed software is built specifically for a DOE application or to support the same 
function for a related government organization. It may be developed by DOE or one of its 
management and operating (M&O) contractors or contracted with a qualified software company 
through the procurement process. Examples of custom developed software includes material 
inventory and tracking database applications, accident consequence applications, control system 
applications, and embedded custom developed software that controls a hardware device.

Configurable software is commercially available software or firmware that allows the user to 
modify the structure and functioning of the software in a limited way to suit user needs. An 
example is software associated with PLCs.
Acquired software is generally supplied through basic procurements, two-party agreements, or 
other contractual arrangements. Acquired software includes commercial off-the-shelf (COTS) 
software, such as operating systems, database management systems, compilers, software 
development tools, and commercial calculational software and spreadsheet tools (e.g., Mathsoft’s 
MathCad and Microsoft’s Excel). Downloadable software that is available at no cost to the user 
(referred to as freeware) is also considered acquired software. Firmware is acquired software.  
Firmware is usually provided by a hardware supplier through the procurement process and 
cannot be modified after receipt.

Utility calculation software typically uses COTS spreadsheet applications as a foundation and 
user developed algorithms or data structures to create simple software products. The utility 
calculation software within the scope of this document is used frequently to perform calculations 
associated with the design of an SSC. Utility software that is used with high frequency may be 
labeled as custom software and may justify the same safety SQA work activities as custom 
developed software.  With utility calculation software, it is important to recognize the difference 
between QA of the algorithms, macros, and logic that perform the calculations versus QA of the 
COTS software itself. Utility calculation software includes the associated data sets, configuration 
information, and test cases for validation and/or calibration.
Commercial design and analysis software is used in conjunction with design and analysis 
services provided to DOE from a commercial contractor. An example would be where DOE or 
an M&O contractor contracts for specified design services support. The design service provider 
uses its independently developed or acquired software without DOE involvement or support. 
DOE then receives a completed design. Procurement contracts can be enhanced to require that 
the software used in the design or analysis services meet the requirements in DOE O 414.1C.

2.2	GRADED APPLICATION

Proper implementation of DOE O 414.1C will be enhanced by grading safety software based on 
its application. Safety software grading levels should be described in terms of safety 
consequence and regulatory compliance. This Guide utilizes the grading levels and the software 
types (custom developed, configurable, acquired, utility calculations, and commercial design and 
analysis tools) to recommend how the SQA work activities are applied. The grading levels are 
defined as follows.

Level A: This grading level includes safety software applications that meet one or more of the 
following criteria.

1.	Software failure that could compromise a limiting condition for operation.
2.	Software failure that could cause a reduction in the safety margin for a safety SSC that is 
	cited in DOE approved documented safety analysis.
3.	Software failure that could cause a reduction in the safety margin for other systems such 
	as toxic or chemical protection systems that are cited in either (a) a DOE approved 
	documented safety analysis or (b) an approved hazard analysis per DOE P 450.1 and the 
	DEAR ISMS clause.
4.	Software failure that could result in nonconservative safety analysis, design, or 
	misclassification of facilities or SSCs.

Level B: This grading level includes safety software applications that do not meet Level A 
criteria but meet one or more of the following criteria.

1.	Safety management databases used to aid in decision making whose failure could impact 
	safety SSC operation.
2.	Software failure that could result in incorrect analysis, design, monitoring, alarming, or 
	recording of hazardous exposures to workers or the public.
3.	Software failure that could comprise the defense in depth capability for the nuclear 
	facility.

Level C: This grading level includes software applications that do not meet Level B criteria but 
meet one or more of the following criteria.

1.	Software failure that could cause a potential violation of regulatory permitting 
	requirements.
2.	Software failure that could affect environment, safety, health monitoring or alarming 
	systems. 
3.	Software failure that could affect the safe operation of an SSC.

The grading level criteria should provide for a higher grade level for software in nuclear facilities 
categorized as Category 1, 2 or 3 and the lower grading level for software in facilities 
categorized as less than Category 3. Table 2 illustrates the association of grading criteria 
described above to facility categorization.

Using the grading levels and the safety software types in Table 2, select and implement 
applicable software quality work activities from the following list to ensure that safety software 
performs its intended functions.  DOE O 414.1C specifies that ASME NQA-1-2000, Quality 
Assurance Requirements for Nuclear Facility Applications, or other national or international 
consensus standards that provide an equivalent level of quality assurance requirements as ASME 
NQA-1-2000 must be used. As specified in DOE O 414.1C, the standards used must be specified 
by the user and approved by DOE. This Guide provides acceptable implementation strategies and 
appropriate standards for these work activities.

1.	Software project management and quality planning.
2.	Software risk management.
3.	Software configuration management (SCM).
4.	Procurement and supplier management.
5.	Software requirements identification and management.
6.	Software design and implementation.
7.	Software safety.
8.	V&V.
9.	Problem reporting and corrective action.
10.	Training of personnel in the design, development, use, and evaluation of safety software. 

Table 2. Grading Criteria and Facility Categorization Illustration


*Safety and hazard analysis software and design software includes software used to classify facilities. 
Because this software is used before the facility classification determination, the safety and hazard 
analysis software and design software type has been identified as being applicable for all grading levels 
in all categories of facilities.

The determination of what constitutes safety software is made by the organization applying the 
software based upon the requirements in DOE O 414.1C, and 10 CFR 830 Subparts A and B. 
The application of the software determines whether it is safety related and how it should be 
graded. Therefore, the organization applying the software is responsible for evaluating and 
designating the software as safety software and then ensuring that the software development and 
operations have followed the appropriate QA procedures.

3.	GENERAL INFORMATION

3.1	SYSTEM QUALITY AND SAFETY SOFTWARE

Maintaining the integrity, safety, and security of all DOE assets and resources is paramount for 
DOE’s mission. Since software is an integral part of DOE’s resources, the integrity, safety, and 
security attributes of its software resources are critical to DOE’s mission. All three attributes are 
interdependent since compromising the security access could obviously present a potential safety 
hazard. If the integrity of either the data or application itself has been compromised either 
accidentally or maliciously, safety could be compromised. Therefore when safety software is 
being addressed, the integrity and security issues should likewise be addressed. 

Other system level issues impacting safety software are the availability of trained and 
knowledgeable personnel to develop, maintain, and use the software; human factor issues such as 
understandability of the displays or ambient lighting conditions; and potential electromagnetic 
interference/radio frequency interference, which should be analyzed. Fault tolerance and 
common cause failure issues, performance requirements, and proper identification and analysis 
of functional requirements that have safety, security or integrity implications need to be 
propagated to the safety software. 

From the foregoing, it can be seen that there are several interdependencies and tradeoffs that 
should be addressed when integrating software into safety systems. The necessity for robust 
software quality engineering processes is obvious when safety software applications are required. 
However, just ensuring that a “good” software engineering process or that V&V activities exist 
is not sufficient alone to produce safe and reliable software.  The life-cycle process should focus 
upon the safety issues in addition to the basic software quality engineering principles. Both of 
these concepts are detailed in this Guide.

3.2	RISK AND SAFETY SOFTWARE

Software rarely functions as an independent entity. Software is typically a component of a 
system much in the same way hardware, data, and procedures are system components. Therefore, 
to understand the risk associated with the use of software, the software function should be 
considered a part of an overall system function. 

The consequences of software faults need to be addressed in terms of the contribution of a 
software failure to an overall system failure. Issues such as security, training of operational 
personnel, electromagnetic interference, human-factors, or system reliability have the potential 
to be safety issues. For example, if the security of the system can be compromised, then the 
safety software can also be compromised. Controlling access to the system is key to maintaining 
the integrity of the safety software. Likewise, if human factor issues such as ambient lighting 
conditions and ease of use for understandability are important, the risks need to be addressed 
either via design or training. For PLCs or network safety software applications, electromagnetic 
interference could offer potential risks for operation of the safety software system.

Once the software’s function within the overall system’s function is known, the appropriate 
software life-cycle and system life-cycle practices can be identified to minimize the risk of 
software failure on the system. Rigor can then be applied commensurate with the risk. Managing 
the risk appropriately is the key to managing a safety software system. Unless risks and 
trade-offs of either doing or not doing an activity are evaluated, there is not a true understanding 
of the issues involved regarding the safety software system. Obviously, time and resource 
constraints should be balanced with the probability of occurrence and the potential consequences 
versus an occurrence of the worst case scenario. If the safety systems staff zealously and 
religiously inappropriately invokes the strictest rigor for a Level B application, then the 
application has the potential never to get fielded properly. On the other hand, if the process 
activities are only minimally or inappropriately performed for a Level A software safety 
application, then very adverse consequences could potentially occur for which no mitigation 
strategy exists. Appropriate project management is a risk management strategy and especially 
so for safety software applications.

3.3	SPECIAL-PURPOSE SOFTWARE APPLICATIONS

Several categories of software have a unique purpose in safety-related functions required to 
support DOE nuclear facility operations. This section contains an overview of the 
special-purpose software and the additional considerations that should be addressed by SQA 
programs, processes, and procedures.

3.3.1	Toolbox and Toolbox-Equivalent Software Applications

Toolbox codes represent a small number of standard computer models or codes supporting DOE 
safety analysis. These codes have widespread use and are of appropriate qualification for use 
within DOE. The toolbox codes are acknowledged as part of DOE’s Safety Software Central 
Registry.  These codes are verified and validated and constitute a “safe harbor” methodology.  
That is to say, the analysts using these codes do not need to present additional defense as to their 
qualification provided that the analysts are sufficiently qualified to use the codes and the input 
parameters are valid.  These codes may also include commercial or proprietary design codes 
where DOE considers additional SQA controls are appropriate for repetitive use in safety 
applications and there is a benefit to maintain centralized control of the codes.  The following six 
widely applied safety analysis computer codes have been designated as “toolbox” codes.

*	ALOHA (chemical dispersion analysis)
*	CFAST (fire analysis)
*	EPIcode (chemical dispersion analysis)
*	GENII (radiological dispersion analysis)
*	MACCS2 (radiological dispersion analysis)
*	MELCOR (leak path factor analysis)

The current designated “toolbox” codes and any software recognized in the future as meeting the 
“toolbox” equivalency criteria are no different from other custom developed safety software as 
defined in Section 2.1. Consequently, software of this category should be developed or acquired, 
maintained, and controlled applying sound software practices as described in Section 5 of this 
Guide.

In the future, new versions of software may be added to the Central Registry while the older 
versions are removed. Over time, some of the software may be retired and recommended not to 
be used in DOE safety analysis. Still other software may be added through the formal 
toolbox-equivalent process, having been recognized as meeting the equivalency criteria. Thus, 
the Central Registry collection of safety software applications will be expected to evolve as 
software life-cycle phases, usage, and application requirements change. Appendix B addresses 
the process for adding new software applications and versions to, and removal of retired software 
from, the Central Registry.

Additional information on the detailed toolbox SQA procedures, criteria, and evaluation plan; the 
evaluation of the software relative to current SQA criteria (i.e., assessment of the margin of the 
deficiencies or “gap” analysis); user guidance documentation; description of the 
toolbox-equivalent process; and code-specific information may be found in the Central Registry 
portion of the DOE SQA Knowledge Portal (http://www.eh.doe.gov/sqa/central_registry.htm).

3.3.2	Existing Safety Software Applications

Existing software that has not been previously approved under a QA program consistent with 
DOE O 414.1C and has been identified as safety software should be evaluated using the graded 
approach framework that is described in Section 5. This software is often referred to as legacy 
software. In many cases this category of software originally met DOE or industry requirements, 
but SQA for existing software was not updated as the SQA standards were revised. 

Existing safety software should be identified and controlled prior to evaluation using the graded 
approach framework in this Guide. The evaluation performed should be adequate to address the 
correct operation of the safety software in the environment it is being used. This evaluation 
should include (1) identification of the capabilities and limitations for intended use, (2) any test 
plans and test cases required demonstrating those capabilities, and (3) instructions for use within 
the limitations.  One example of this evaluation is a posteriori review  as described in American 
Nuclear Society (ANS) standard, ANS 10.4. Future modifications to existing safety software 
should meet all safety software work activities in DOE O 414.1C associated with the changes to 
the safety software.

3.4	CONTINUOUS IMPROVEMENT, MEASUREMENT, AND METRICS 

Lord Kelvin stated “If you can not measure it, you can not improve it.”  This truism especially 
applies to safety software systems. Metrics used throughout the life-cycle should bolster the 
confidence that the software applications will achieve their mission in a safe and reliable manner. 
If design, testing, or software reliability measures are unknown, then there is no assurance that 
the safety software has sufficient robustness to minimize the risks. 

DOE O 414.1C criterion 3, Quality Improvement, specifies that processes should be established 
and implemented to detect and prevent problems. Measurements and the metrics developed from 
these measures can be indicators for potential future problems, and thus, steps can be initiated to 
prevent the occurrence. For long term avoidance of problems, continuous improvement methods 
should be implemented to determine the root causes and eliminate the events that could lead to a 
reoccurrence. Metrics further provide qualitative or quantitative indicators of the improvements 
or lack thereof when a process or work activity has been modified. Metrics are the evidence that 
an improvement has occurred. Both Institute of Electrical and Electronic Engineers (IEEE) 
Standards 982.1 and 982.2 provide recommendations for what metrics to use and when in the 
software life-cycle phase applying the metric is most appropriate.

3.5	USE OF NATIONAL/INTERNATIONAL STANDARDS 

Title 10 CFR 830 Subpart A and DOE O 414.1C require the use of standards to develop and 
implement a QAP. National/international standards facilitate a common software quality 
engineering approach to developing or documenting software based upon a consensus of experts 
in the particular topic areas. Many national and international standards bodies have developed 
software standards to ensure that the recognized needs of their industry and users are 
satisfactorily met. 

In the United States, ASME is the nationally accredited body for the development of nuclear 
facility QA standards. DOE O 414.1C cites ASME NQA-1-2000 or other national or 
international consensus standards that provide an equivalent level of quality assurance 
requirements as ASME NQA-1-2000 as the appropriate standard for QAPs applied to 
nuclear-related activities (e.g., safety software). The ten QA criteria in 10 CFR 830 Subpart A 
and DOE O 414.1C are mapped to ASME NQA-1-2000 in Appendix C. DOE O 414.1C also 
requires that additional standards be used to address specific work activities conducted under the 
QAP, such as safety software.

In the case of ASME NQA-1-2000, Part I,  the requirements generally apply to safety software 
work activities. For example, Requirements 3, 4, 7, 11, 16, and 17 for Design Control, 
Procurement Document Control, Control of Purchased Items and Services, Test Control, 
Corrective Action, and Quality Assurance Records (respectively) can have specific safety 
software applicability. In addition, ASME NQA-1-2000, Part II, Subpart 2.7, and Part IV, 
Subpart 4.1, specifically address “quality assurance requirements for computer software for 
nuclear facility applications” and “guide on quality assurance requirements for software” 
(respectively). As stated in the introduction of Part II, Subpart 2.7, this subpart “provides 
requirements for the acquisition, development, operation, maintenance, and retirement of 
software.” Table 3 provides a cross reference of ASME NQA-1-2000 with the ten SQA work 
activities in DOE O 414.1C. Although ASME NQA-1-2000 provides excellent process guidance 
for a software quality engineering process for managing a software development, maintenance, 
or procurement or otherwise acquiring software, the detailed guidance for safety software is not 
provided within this standard.

Appendix D of this Guide includes references to other standards useful in achieving compliance 
with 10 CFR 830 Subpart A and DOE O 414.1C for safety software work activities.  It should be 
noted that the use of the standards discussed can aid in the development of a robust safety 
software quality engineering process and a resulting software product that is adequate for all the 
safety software applications. Use of consensus standards can promote a robust safety software 
quality engineering process and a resulting software product that is adequate for safety software 
applications.

4.	RECOMMENDED PROCESS

Recognizing that there are five safety software applications types within DOE listed in 
Section 2.1, the safety software analyst needs a defined process to enable a determination of 
what needs to be accomplished for each of the respective software safety applications. In 
addition, the safety software analyst needs a process to support the integration of software safety 
into the system safety process to improve system and software design, development and test 
efforts. Lastly, the process to manage each of the five application types should support the 
planning and coordination of the software safety tasks based on established priorities. Appendix 
E of this Guide presents the details of a risk-based graded approach for the analysis and safety 
software management process for (1) custom developed, (2) configurable, (3) acquired, 
(4) utility calculations, and (5) commercial design and analysis tools.

5.	GUIDANCE

5.1	SOFTWARE SAFETY DESIGN METHODS

Safety should be designed into a system, just as quality should be built into the system. Safe 
design of a system, in which safety software is a subcomponent, uses two primary approaches: 
(1) applying good engineering practices based upon industry proven methods and (2) guiding 
design through the results of hazard analysis. Identifying and assessing the hazards is not enough 
to make a system safe. The information from hazard analysis needs to be factored in the design. 
Applying industry accepted software engineering and software quality engineering practices is 
generally the first approach to developing high quality software systems. These practices can be 
applied to safety software to improve the quality and add a level of assurance that the software 
performs its safety functions as intended. DOE O 414.1C requires SQA work activities, referred 
to as work activities, to be performed for safety software. Many national and international 
consensus standards, such as ASME NQA-1-2000, ANS 10.4, and the IEEE software 
engineering series provide detailed guidance for performing the work activities. Section 3.5 of 
this Guide describes some of these standards.

Software process capability models such as the Software Engineering Institute’s legacy Software 
Capability Maturity Model (SW-CMM) and the more integrated model, Capability Maturity 
Model Integration (CMMI), are proven tools to assist in the selection of practices to perform for 
achieving a level of assurance that the processes performed will produce the desired level of 
quality for safety software. The CMMI has two approaches: staged and continuous. For 
organizations introducing a software process improvement program, these models should be 
considered.


Table 3. 	ASME NQA-1-2000 Cross Reference to DOE 
	Software Quality Assurance (SQA) Work Activities
      
For safety systems, hazards and accident analyses are performed at the system level and then for 
any subcomponent of the system that potentially could have an adverse effect on safety. Since 
software is a subcomponent of the system, hazard analysis specific to the safety software is 
performed. Hazard analysis is best performed periodically throughout the life-cycle of the safety 
software development and operations to reassess the hazards and safety of the system and its 
software. The information from these hazard analyses is used to make design decisions related to 
the safety software and its associated safety system.

5.2	SOFTWARE WORK ACTIVITIES

Software should be controlled in a traceable, planned, and orderly manner. The safety software 
quality work activities defined in this section provide the basis for planning, implementing, 
maintaining, and operating safety software. The work activities for safety software include tasks 
such as software project planning, SCM, and risk analysis that cross all phases in the life-cycle. 
Additionally, the work activities include tasks that are specific to a life-cycle phase. These work 
activities cover tasks during the development, maintenance, and operations of safety software.
The work activities should be implemented based upon the graded level of the safety software 
and the applicable software type. Table 3 provides a summary of the mapping between software 
type, the grading levels, and the ten SQA work activities. Not all work activities will be 
applicable for a particular instance of safety software. This Guide indicates where these work 
activities may be omitted. However, the best judgment of the software quality engineering and 
safety system staffs should take precedence over any optional work activities presented in this 
Guide.

5.2.1	Software Project Management and Quality Planning 

As with any system, project management and quality planning are key elements to establishing 
the foundation to ensure a quality product that meets project goals. For software, project 
management starts with the system level project management and quality planning. Software 
specific tasks should be identified and either included within the overall system planning or in 
separate software planning documents.

These tasks may be documented in a software project management plan (SPMP), an SQA plan 
(SQAP), a software development plan (SDP), or similar documents. They also may be embedded 
in the overall system level planning documents. Typically the SPMP, SQAP, and/or SDP are the 
controlling documents that define and guide the processes necessary to satisfy project 
requirements, including the software quality requirements. These plans are initiated early in the 
project life-cycle and are maintained throughout the life of the project. 

Table 3. 	Mapping Safety Software Types and Grading Levels to 
	Software Quality Assurance (SQA) Work Activities

The software project management and quality planning should include identifying all tasks 
associated with the software development and procurement, including procurement of services,
estimate of the duration of the tasks, resources allocated to the task, and any dependencies. The 
planning should include a description of the tasks and any relevant information. In addition to 
NQA-1-2000, several consensus standards ,  provide details of planning documents that are 
good resources to assist in the identification and description of the software development and 
procurement tasks.

Software quality and software development planning identifies and guides the software phases 
and any grading of the SQA and software development activities performed during software 
development or maintenance. The software quality and software engineering activities and rigor 
of implementation will be dependent on the identified grading level of safety software and the 
ability of DOE or its contractors to build quality in and assess the quality of the safety software. 
Because SQAP and SDP are overall basic quality and software engineering plans, some quality 
activities, such as SCM, risk management, problem reporting and corrective actions, and V&V, 
including software reviews and testing, may be further detailed in separate plans. These plans 
and the activities identified in these plans will be discussed later in this Guide.

Software project management and quality planning fully apply to custom developed and 
configurable software types for both Level A and Level B safety software. For Level A and 
Level B acquired and utility calculation and all Level C software applications, software project 
management and quality planning tasks can be graded. This grading should include the 
identification and tracking of all significant software tasks. Where instances of the software 
life-cycle may include little or no software development activities, the software project and 
quality planning will most likely be part of the overall system level project or facility planning.
This work activity does not apply to commercial design and analysis software because the 
project management and quality planning activities associated with commercial design and 
analysis software are performed by the service supplier. DOE controls the SQA activities of that 
software through procurement agreements and specifications.
5.2.2	Software Risk Management
Software risk management provides a disciplined environment for proactive decision making to 
continuously assess what can go wrong, determine what risks are important to address, and 
implement actions to address those risks.  Because risk management is such a fundamental tool 
for project management, it is an integral part of software project management. Although 
sometimes associated with safety analysis of potential failures, software risk management 
focuses on the risks to the successful completion of the software project.  The risks addressed by 
this work activity are project management risks associated with the successful completion of a 
software application whereas Section 5.2.7 addresses the risks associated with the potential 
failure modes of the software.
Risk assessment and risk control are two fundamental activities required for project success. Risk 
assessment addresses identification of the potential risks, analysis of those risks, and prioritizing 
the risks to ensure that the necessary resources will be available to mitigate the risks. Risk 
control addresses risk tracking and resolution of the risks. Identification, tracking, and 
management of the risks throughout all phases of the project’s life-cycle should include special 
emphasis on tracking the risks associated with costs, resources, schedules, and technical aspects 
of the project. Several risk identification techniques are described and detailed in standards and 
literature. ,  

Risk resolution includes risk avoidance, mitigation, or transference. Even the small risks during 
one phase of the safety software application’s life have the potential to increase in some other 
phase of the application’s life with very adverse consequences. In addition, mitigation actions for 
some risks could create new (secondary) risks.

Examples of potential software risks for the safety software application might include—

*	incomplete or volatile software requirements;
*	specification of incorrect or overly simplified algorithms or algorithms that will be very 
	difficult to address within safety software;
*	hardware constraints that limit the design;
*	potential performance issues with the design;
*	a design that is based upon unrealistic or optimistic assumptions;
*	design changes during coding;
*	incomplete and undefined interfaces;
*	using unproven computer and software technologies such as programming languages not 
	intended for the target application;
*	use of a programming language with only minimal experience using the language;
*	new versions of the operating system;
*	unproven testing tools and test methods;
*	insufficient time for development, coding, and/or testing;
*	undefined or inadequate test acceptance criteria; and
*	potential quality concerns with subcontractors or suppliers.

The risks associated with the safety software applications need to be understood and 
documented. The above bulleted list identifies a few potential risks associated with safety 
software applications. Each risk should be evaluated against its risk thresholds. Different 
techniques may be used to evaluate the risks. Examples of these techniques include decision 
trees, scenario planning, game theory, probabilistic analysis, and linear programming. Various 
treatment alternatives to addressing risk should be considered to avoid, reduce, or transfer risks. 

Flexibility may need to be applied regarding risk management based upon the risk categorization 
of the safety software application. For a Level A safety software, all apparent risks known at the 
time, whether large or small, should be identified, analyzed for impact and probability of 
occurrence, prioritized, resolved to an acceptable level of risk, and tracked through the life of the 
safety software. For Level B or Level C software applications, the granularity for the risks to be 
identified, analyzed, prioritized, resolved to an acceptable level of risk, and tracked should be 
determined by the safety system staff and can be graded. The safety system staff should focus on 
the adverse events that would dominate the risk and assess these in a qualitative manner. The 
safety system staff also has the responsibility to determine a graded approach for resolving the 
risks and the process for tracking the risks.  

This work activity does not apply to commercial design and analysis safety software because this 
software is used in conjunction with the design and analysis services provided to DOE from a 
commercial contractor. The risk management work activity associated with that software is 
performed by the service supplier. DOE controls the SQA activities of that software through 
procurement agreements and specifications of design or analysis requirements.  

Further guidance beyond that in NQA-1-2000 regarding risk management is provided by IEEE 
Standard 16085-2004.  This standard provides guidance regarding the risk management of 
acquired, developed, operational, or maintained systems to support the existing organizational 
risk management processes. SQAS21.01.00-1999, Software Risk Management: A Practical 
Guide, also discusses a risk taxonomy, risk transference, and risk avoidance that may be of 
interest to the safety software analyst.

5.2.3	Software Configuration Management

SCM activities identify all functions and tasks required to manage the configuration of the 
software system, including software engineering items, establishing the configuration baselines 
to be controlled, and software configuration change control process.  The following four areas 
of SCM  should each be addressed when performing configuration management: 
(1) configuration identification, (2) configuration control, (3) configuration status accounting, 
and (4) configuration audits and reviews. This Guide extends ASME NQA-1-2000 software 
configuration management  tasks by including configuration audits and reviews.  

The methods used to control, uniquely identify, describe, and document the configuration of each 
version or update of software and its related documentation should be documented. This 
documentation may be included in a SCM plan or its equivalent. Such documentation should 
include criteria for configuration identification, change control, configuration status accounting, 
and configuration reviews and audits.

During operations, authorized users lists can be implemented to ensure that the software use is 
limited to those persons trained and authorized to use the software.  Authorized users lists are 
access control specifications that are addressed in Section 5.2.5, Software Requirements 
Identification and Management.

A baseline labeling system should be implemented that uniquely identifies each configuration 
item, identifies changes to configuration items by revision, and provides the ability to uniquely 
identify each configuration. This baseline labeling system is used throughout the life of the 
software development and operation.

Proposed changes to the software should be documented, evaluated, and approved for release. 
Only approved changes should be made to the software that has been baselined. Software 
verification activities should be performed for the change to ensure the change was implemented 
correctly. This verification should also include any changes to the software documentation.

Audits or reviews should be conducted to verify that the software product is consistent with the 
configuration item descriptions in the requirements and that the software, including all 
documentation, being delivered is complete. Physical configuration audits and functional 
configuration audits are examples of audits or reviews that should be performed.  SCM work 
activities should be applied beginning at the point of DOE’s or its contractor’s control of the 
software.

For custom developed safety software graded at Level A or Lever B, all four areas of SCM noted 
above apply. For all other types of safety software graded as Level A or Level B and all Level C 
safety software, this work activity may be graded by the optional performance of configuration 
audits and reviews.

5.2.4	Procurement and Supplier Management

Most software projects will have procurement activities that require interactions with suppliers 
regardless of whether the software is Level A, B, or C.  Procurement activities may be as basic as 
the purchase of compilers or other development tools for custom developed software or as 
complicated as procuring a complete safety system software control system. Thus, there are a 
variety of approaches for software procurement and supplier management based upon—

*	the level of control DOE or its contractors have on the quality of the software or software 
	service being procured and 
*	the complexity of the software.

Procurement documentation should include the technical  and quality  requirements for the 
safety software. Some of the specifications that should be included are—

*	specifications for the software features, including requirements for safety, security, 
	functions, and performance; 
*	process steps used in developing and validating the software, including any 
	documentation to be delivered;
*	requirements for supplier notification of defects, new releases, or other issues  that 
	impact the operation; and
*	mechanisms for the users of the software to report defects and request assistance in 
	operating the software.

These requirements should be assessed for completeness and to ensure the quality of the software 
being purchased. There are four major approaches for this assessment:

*	performing an assessment of the supplier,
*	requiring the supplier to provide a self-declaration that the safety software meets the 
	intended quality,
*	accepting the safety software based upon key characteristics (e.g., large user base), and
*	verifying the supplier has obtained a certification or accreditation of the software product 
	quality or software quality program from a third party (e.g., the International 
	Organization for Standardization, Underwriters Laboratories, and Software Engineering 
	Institute).

It is important to note that while Levels A, B, and C software applications are required to fully 
meet this work activity, the implementation detail and assessment method of the supplier can 
vary based on the complexity of the software and its importance to safety.

5.2.5	Software Requirements Identification and Management

Safety system requirements provide the foundation for the requirements to be implemented in the 
software. These system requirements should be translated into requirements specific for the 
software. The identified software requirements may be documented in system level requirements 
documents, software requirements specifications, procurement contracts, and/or other acquired 
software agreements. These requirements should identify functional; performance; security, 
including user access control; interface and safety requirements; and installation considerations 
and design constraints where appropriate. The requirements should be complete, correct, 
consistent, clear, verifiable, and feasible. 

User access control during operations is an important aspect to ensuring only authorized users 
can operate the system or use the software for design or analysis tasks. Controlling access is a 
software safety and/or security requirement that can be associated with training or qualification 
to operate the system. ASME NQA-1-2000 addresses access control specifications as part of the 
operations phase. 

Once the software requirements have been defined and documented, they should be managed to 
minimize conflicting requirements and maintain accuracy for later validation activities to ensure 
the correctness of the software placed into operations. Software requirements should be traceable 
throughout the software life-cycle. 

This work activity has no grading associated with its performance. Software requirements 
identification management and traceability applies to Level A, B, and C software applications 
and should fully meet this requirement. However, the detail and format of the safety software 
requirements may vary with the software type. Custom developed software most likely will 
contain a larger number of software requirements than configurable, acquired, utility calculation, 
or commercial design and analysis tool software, and thus, a separate more formal document 
may be applicable.

5.2.6	Software Design and Implementation

During software design and implementation the software is developed, documented, reviewed, 
and controlled. The software design elements should identify the operating system, function, 
interfaces, performance requirements, installation considerations, design inputs, and design 
constraints. The software design should be complete and sufficient to meet the software 
requirements.  The design activities and documentation should be adequate to fully describe 
how the software will interface with other system components  and how the software will 
function internally. Data structure requirements and layouts may be necessary to fully understand 
the internal operations of the software.

Custom developed software will require more formality in the documentation and review of the 
design than configurable or utility calculations. Simple process flows, relationships between data 
elements, interfaces with external components, and basic database table structures may be all that 
are needed for configurable or utility calculations, whereas for custom developed software, 
complete functional and logical designs of the software components, the input and output data, 
and pseudo code may be required to fully understand the safety software design. The software 
design description may be combined with the documentation of the software requirements or 
software source code. 

During implementation, static analysis, clean room inspections, and reviews are common 
techniques to ensure the implementation remains consistent with the design and does not add 
complexity or functions which could decrease the safe operation of the software. Many tools 
exist to evaluate the complexity and other attributes of the source code design structure. 
Walkthroughs and more formal inspections, such as Fagan inspections, can be used to identify 
defects in source code, as well as design descriptions and other software development process 
outputs.

The software developer should perform unit testing prior to system level V&V techniques, 
including acceptance testing. Developer testing can be very structured and formal, using 
automated tools or less formal methods. In addition to unit testing, functional, structural, timing 
(performance testing), stress, security, and human-factors testing are useful testing methods. 
These methods can be applied using a graded or tailored approach to ensure the known risks are 
mitigated appropriately. Other techniques ,  such as error seeding; equivalence class testing; 
branch and path testing; statistical-based, boundary value testing; and code coverage analysis 
may all be beneficial testing techniques to ensure robust and reliable software.

The software design and implementation work activity for Levels A, B, and C custom developed 
software applications should fully meet this requirement. For this software type, the design, 
including interfaces and data structures, should be completely documented; reviews of the design 
and code should be performed. Additionally, formal developer testing that includes functional, 
structural, timing, stress, security, and human-factors testing should be planned, performed and 
the results documented. It is recommended that the complexity of the custom developed safety 
software be evaluated and analysis performed to reduce the complexity of the source code 
modules.

Configurable and utility calculation for Levels A, B, and C software applications may be graded 
for this work activity. This grading should include fully performing the design work activities as 
with custom developed software. However, less formal design and code reviews, such as simple 
desk checks by another individual other than the developer, may be performed. Developer testing 
should be performed and documented that includes safety functions, security, and performance 
testing. This work activity does not apply to acquired or commercial design and analysis safety 
software types since the design and implementation activities associated with commercial design 
and analysis software are performed by the service supplier. DOE controls the SQA activities of 
that software through procurement agreements and specifications.

5.2.7	 Software Safety

The development of software applications requires identification of hazards (i.e., abnormal 
conditions and events) that have the potential for defeating a safety function and the 
implementation of design strategies to eliminate or mitigate those hazards. Hence, it is 
recommended that the software safety process address the mitigation strategy for the components 
that have potential safety consequences if a fault occurs, whereas the software design and 
implementation process addresses the architecture of the safety software application.  

Software is only one component of the overall safety system. It may be embedded in an I&C 
system, it may be a custom control system for hardware components, or it may be standalone 
software used in safety management or support decisions. In any of these or other applications of 
software important to safety, analysis of the software application occurs first at the system level. 
The analysis should then be performed at the software component level to ensure adequate 
safeguards are provided to eliminate or mitigate the potential occurrence of a software defect that 
could cause a system failure.

Methods to mitigate the consequences of software failures should be an integral part of the 
software design.  Specific software analysis and design methods for ensuring that safety 
functions are well thought out and addressed properly should be performed throughout the 
software development and operations life-cycles. These methods include dynamic and static 
analyses. The techniques and methods described in this section are only a selection of those 
available. Several resources are available to assist in the selection and use of these methods. 
A few are listed in the reference section of this Guide.

During the initial concept and requirement analysis phases for the software, potential failures 
need to be identified and evaluated for their consequences of failure and probability of 
occurrence. Some potential problems are (1) complex or faulty algorithm, (2) lack of proper 
handling of incorrect data or error conditions, (3) buffer overflow, and (4) incorrect sequence of 
operations due to either logic or timing faults.

There are several hazard analysis techniques that may be used for this purpose. Many of these 
techniques are performed as preliminary analyses and later updated as more information is 
known about the requirements and design structure. These techniques include failure modes and 
effects analysis, fault-tree modeling, event-tree modeling, cause-consequence diagrams, hazard 
and operability analysis, and interface analysis. Techniques such as these should be applied and 
appropriately documented to understand and assess the impact of software failures on the system.

The design of the software is critical to ensuring safe operation of the system. The software 
design should consider principles of simplicity, decoupling, and isolation to eliminate the 
hazards.  Complexity of the software design, including the logic and number of data inputs, has 
proven to increase the defect density in software components. The safety features should be 
separate from nonsafety modules, minimizing the impact of failure of one module on another.  
The interfaces between the modules need to be defined and tested thoroughly. Separation of the 
safety features also allows for more rigorous software development and verification practices to 
be applied to the safety components while providing the appropriate and cost effective level of 
SQA applied to the nonsafety components. Software engineering safety design practices should 
include process flow analysis, data flow analysis, path analysis, interface analysis, and interrupt 
analysis during the design phase.

When hazards related to software functions cannot be eliminated, the hazard should be reduced 
and/or monitored. Additionally, software can experience partial failures that can degrade the 
capabilities of the overall system that may not be immediately detectable by the system. In these 
instances, other design techniques, such as building fault detection and self-diagnostics into the 
software, should be implemented. Using external monitors (safety bag) for the software safety 
functions, n-version programming, and Petri nets are examples of techniques ,  that can ensure 
the software design adequately addresses safety issues and minimizes failure modes by adding 
fault tolerant concepts. Self-diagnostics detect and report software faults and failures in a timely 
manner and allow actions to be taken to avoid an impact on the system operating safety. Some of 
these techniques include memory functionality and integrity tests, such as checksums and watch 
dog timers for software processes, including operating system processes.  Additionally, 
software control functions can be performed incrementally rather than in a single step, reducing 
the potential that a single failure of a software component would cause an unsafe state.

The software safety work activity for Level A custom developed, configurable, and acquired 
safety software should fully meet this requirement. For this software type the safety analysis for 
the software components should be performed. This analysis may be part of the overall safety 
system analysis if detailed software failures are included. For Level A custom developed safety 
software, the design concepts that include simplicity of modules that perform safety functions 
and isolation of those modules should be part of the design considerations. Where the design of 
the software modules still presents an unacceptable risk to failure of the safety system, fault 
tolerant and self-diagnostics designs should be implemented.

Custom developed, configurable, and acquired Level B or Level C software applications may be 
graded. This grading may include fully performing the safety analysis activities for the software 
components to ensure the safety aspects are being addressed. The design concepts of simplicity 
and isolation and fault tolerance and self-diagnostics may not apply to Level B or Level C 
software applications and, thus, can optionally be applied.

This work activity does not apply to utility calculation or commercial design and analysis safety 
software types. Utility calculations are typically simple calculations where techniques and 
methods described above could add undue burden to the development of these applications and 
not increase the assurance that any software failure would not impact safety. However, if the 
safety analysis determines that complexity of the utility calculation warrants the use of these 
techniques, they should be applied. For commercial design and analysis software, the software 
safety activities are performed by the service supplier. DOE controls the SQA activities of that 
software through procurement agreements and specifications.

5.2.8	Verification and Validation

V&V is the largest area within the SQA work activities. Verification is performed throughout the 
life-cycle of the safety software. Validation activities are performed at the end of the software 
development or acquisition processes to ensure the software meets the intended requirements. 
V&V activities should be performed by competent staff other than those who developed the item 
being verified or validated.  V&V activities include reviews, inspections, assessments, 
observations, and testing. This Guide expands on ASME NQA-1-2000 acceptance testing 
activities to include more extensive V&V activities of reviews, inspections, assessments, and 
observations as described in other consensus standards. 

Reviews and inspections of software deliverables requirement specifications, procurement 
documents,  software design, code modules, test results, training materials, user documentation, 
and processes that guide the software development activities should be performed. The software 
deliverables may be combined with other software or system documents. Traceability of the 
software requirements to the software design should be performed.  As mentioned in the 
development practice section, inspections can be formally implemented Fagan inspections, 
walkthroughs, or desk checks. Verification of the software design, using one of the above 
methods, should be completed prior to approval of the software for use.  This verification may 
be performed as part of the software development and implementation activity.

Supplier assessments are important aspects of V&V. Assessments are covered in Section 5.2.4, 
Procurement and Supplier Management, and Section 6, Assessment and Oversight.

Observations and testing can be performed during the development, factory or site acceptance 
testing, installation, and operation (i.e., in-use testing)  of the software. Observations and testing 
during development is discussed in Section 5.2.6, Software Design and Implementation. 
Software testing activities should be planned and documented. Test cases and procedures, 
including expected results, should be created. All test activity deliverables should be under 
configuration management. Test results should be documented and all test activity deliverables 
placed under configuration management. 

Acceptance testing should include functional testing, performance testing, security testing, stress 
testing, and load testing. Users’ guides, use cases, and operational profiles are instrumental in 
identifying and detailing the positive test cases and procedures. Failure mode analyses can be 
used for defining negative test cases and procedures. Testing strategies that may be appropriate 
for acceptance testing include equivalence class testing, branch and path testing, statistical-based 
and boundary value testing. 

Additionally, the system should continually be monitored to estimate its continuing reliability 
and safety. Periodic testing of the operational system should be performed to detect any 
degradation.  If testing is not possible, monitoring using quantitative measurements should be 
performed.

When a new version of a software product is obtained, predetermined and ad-hoc test cases and 
procedures should be performed to validate that the system meets the requirements and does not 
perform any unintended functions.  If the system is operational, only positive testing may be 
possible. In those instances, it is important to perform analysis of failure modes for the software 
to understand the consequences if the software or system should get into an abnormal operational 
state.

Modern utility calculation applications, such as spreadsheet programs, have grown dramatically 
in power, with a corresponding growth in risk.  The addition of macro programming languages 
and the ability to incorporate “add-in” programs provide users with nearly the same capabilities 
as code developed with traditional programming tools.  Utility calculation applications are 
installed on virtually every desktop, and user files containing algorithms and data can be easily 
modified by users. Section 101.1 of ASME NQA-1-2000, Subpart 4.1, provides useful guidance 
on V&V of utility calculations.  Calculations performed using applications such as commercial 
spreadsheet programs may be treated in either of two ways.  In the case of relatively 
straightforward calculations, the calculation result may be checked and verified in the same 
manner as a hand calculation.  For more complex or extensive calculations, where checking and 
verification of calculation results are impractical or undesirable, the user files containing the 
calculation formulas, algorithms, or macros should be subject to the entire software life-cycle 
process.  The latter approach may also be expedient for calculation applications that are reused 
frequently. 

Custom developed software will most likely have a larger number and more detailed deliverables 
than would utility calculations. For Level A safety software all deliverables should be reviewed 
using V&V methods. Additionally for Level A, traceability of the requirements to the design and 
from requirements to test cases should be performed. For Level B safety software, deliverables 
that include requirements, test plans and procedures, and test results should be reviewed using 
V&V methods. 

For all Level A safety software except utility calculations, acceptance testing work activities 
should be planned and documented; acceptance test cases and procedures, including expected 
results should be created; test results should be documented; and all test activity deliverables 
should be under configuration management. Level A utility calculations and Level B and C 
custom developed, configurable, acquired, and utility calculations can use a graded approach by 
applying less formality in the documentation. Simple check lists for acceptance test cases and 
procedures may be used in place of more detailed test cases and procedures. Test results should 
be documented and all test activity deliverables placed under configuration management. 

For Level A software, continual monitoring of safety software operations based upon historical 
failure data and results of periodic reassessment of hazards should be performed. For Level A, B, 
or C software, when new releases of the safety software have been developed, reviews and 
acceptance testing of changed documents and software should be performed.

This work activity does not apply to commercial design and analysis safety software types since 
the V&V activities associated with commercial design and analysis software are performed by 
the service supplier. DOE controls the SQA activities of that software through procurement 
agreements and specifications.

5.2.9	Problem Reporting and Corrective Action

Coupled with the configuration management of the software system, the problem reporting and 
corrective action process should address the appropriate requirements of the QAP corrective 
action system. The reporting and corrective action system will cover (1) methods for 
documenting, evaluating and correcting software problems; (2) an evaluation process for 
determining whether a reported problem is indeed a defect or an error; and (3) the roles and 
responsibilities for disposition of the problem reports, including notification to the originator of 
the results of the evaluation.  If the noted problem is indeed an error, the problem reporting and 
corrective action system should correlate the error with the appropriate software engineering 
elements; identify the potential impacts and risks to past, present, and future developmental and 
operational activities; and support the development of mitigation strategies. After an error has 
been noted, all users should be apprised to ascertain any impacts upon safety basis decisions.

Procurement documents should identify the requirements for suppliers to report problems to the 
supplier, any required supplier response, and the method for the purchasers to report problems to 
the supplier. 

Maintaining a robust problem reporting and corrective action process is obviously vital to 
maintaining a reliable and vital safety software system. This problem reporting and corrective 
action system need not be separate from the other problem reporting and corrective action 
processes if the existing process adequately addresses the items in this work activity.  

This work activity should be fully implemented for all Level A and B software types (custom 
developed, acquired, configurable, and commercial design and analysis) and for Level C custom 
developed. This formal implementation should include documentation and tracking to closure of 
any problems reported for the software and authorization to perform the corrective action. A 
graded approach that reduces the formality of documenting problem reports and approving 
corrective actions taken may be applied for Level A and B utility calculation safety software and 
all Level C software applications except custom developed. This less formal implementation 
may include interoffice communications describing the problem identified and the corrective 
actions planned.

5.2.10	Training Personnel in the Design, Development, Use, and Evaluation of Safety 
Software

Training personnel in designing, developing, testing, evaluating, or using the safety software 
application is critical for minimizing the consequences of software failure. Although other SQA 
work activities may indicate that the software satisfies its operational objective, improper or 
invalid use of the software may negate the safety mitigation strategies included within the 
software.

Training may be necessary for the analyst, development and test teams, application users, and 
operations staff. The analyst and developers may need training in fault tolerant methodologies, 
safety design methodologies, user interface design issues, testing methodologies, or 
configuration management to ensure delivery of a robust software application.  Meanwhile, the 
software application users and operations staff may need training specific to the software to 
ensure that proper data are entered, that proper options and menus are selected, and that the 
results of the software can be interpreted correctly.  A trained and knowledgeable staff is 
essential to assess and evaluate the SQA requirements to ensure the proper levels of quality and 
safety exists in the software.

Training should be commensurate with the scope, complexity, and importance of the tasks and 
the education, experience, and proficiency of the individual. Indoctrination as described in 
ASME NQA-1-2000  meets this work activity requirement. Personnel should also participate in 
continuing education and training as necessary to improve their performance and proficiency and 
ensure that they stay up-to-date on changing technology and new requirements. 

Completion of training, education, and/or qualification requirements for all staff involved in the 
development, testing, use, and evaluation of custom developed or configurable software graded 
as Level A, B, or C should be documented and reviewed periodically. This may include a 
position description, qualification criteria, or a list of training courses along with verification of 
successfully meeting the knowledge requirements. Completion of training, education, and/or 
qualification requirements for all staff involved in the procurement, testing, use, and evaluation 
of acquired or utility calculation software graded as Level A should be documented and reviewed 
periodically. For Level B and C software applications, this work activity can be graded to 
include periodic evaluation by the appropriate supervising authority of the training, educational, 
or qualification requirements for performing assigned tasks associated with using and evaluating 
acquired or utility calculation software. This work activity does not apply to commercial design 
and analysis safety software since the training activities associated with commercial design and 
analysis software are performed by the service supplier. DOE controls the SQA activities of that 
software through procurement agreements and specifications.

6.	ASSESSMENT AND OVERSIGHT

6.1	GENERAL

DOE assessment requirements in 10 CFR 830 Subpart A and DOE O 414.1C should be applied 
to safety software management and control issues. 

6.2	DOE AND CONTRACTOR ASSESSMENT

DOE should assess the effectiveness of its actions in resolving issues related to safety software 
management and controls.  DOE also evaluates the adequacy and implementation effectiveness 
of DOE and contractor safety software management and controls. DOE G 414.1-1, Management 
Assessment and Independent Assessment Guide for Use with 10 CFR, Part 830, Subpart A, and 
DOE O 414.1A, Quality Assurance; DOE P 450.4, Safety Management System Policy; and DOE 
P 450.5, Line ES&H Oversight Policy, dated 5-31-01, contains guidance on independent and 
management assessment. 

Contractors are expected to assess the adequacy and effectiveness of their safety software 
controls in accordance with DOE O 414.1C and this Guide.

A model criteria review and approach document (CRAD) is provided in Appendix F. This model 
contains software qualification assessment criteria for assessing the safety software used for 
safety analysis and design of safety SSCs and I&C systems in the defense nuclear facilities.

The organization responsible for the work will ensure that the SQA implementation process 
addresses the processes presented in this Guide.

6.3	DOE INDEPENDENT OVERSIGHT

The DOE Office of Independent Oversight and Performance Assurance, and the Office of 
Inspector General are responsible for conducting independent oversight of DOE actions related 
to safety software issues.

The DOE/NNSA SQA responsible person will verify that the SQA implementation process 
meets the intent of this Guide throughout the entire software life-cycle as described in the QAP 
and procedures. 

APPENDIX A. ACRONYMS AND DEFINTIONS
A.1.	ACRONYMS

ANS		American Nuclear Society
ANSI		American National Standards Institute
ASME		American Society of Mechanical Engineers
ASQC		American Society for Quality Control
CFR		Code of Federal Regulations
CMMI		Capability Maturity Model Integration
COTS		commercial off-the-shelf
CRAD		criteria review and approach document
DCS		distributed control system
DNFSB		Defense Nuclear Facilities Safety Board
DoD		U.S. Department of Defense
DOE G		U.S. Department of Energy Guide
DOE O		U.S. Department of Energy Order
DOE		U.S. Department of Energy
DSA		documented safety analysis
HMI		human-machine interface
I&C		Instrumentation and control
IAEA		International Atomic Energy Agency
IEC		International Electrotechnical Commission
IEEE		Institute of Electrical and Electronics Engineers
ISO		International Organization for Standardization
M&O		management and operating
NASA		National Aeronautics and Space Administration
NNSA		National Nuclear Security Administration
PLC		programmable logic controller
QA		quality assurance
QAP		quality assurance program
QARD		quality assurance requirements document
RSICC		Radiation Safety Information Computational Center
SAE		Society of Automotive Engineers
SC		safety class
SCM		software configuration management
SDD		software design description
SDP		software development plan
SEI		Software Engineering Institute
SG		safety guide
SMS		safety management system
SPMP		software project management plan
SQA		software quality assurance
SQAP		software quality assurance plan
SRS		software requirement specification
SS		safety significant
SSC		structure, system, and component
SW-CMM		Software Capability Maturity Model
TR		technical report
TSR		technical safety requirement
USQ		unreviewed safety question
USQD		unreviewed safety question determination
V&V		verification and validation
VV&A		verification, validation, and accreditation
WIPP		Waste Isolation Pilot Project

A.2.	DEFINITIONS

The following definitions are included with this Guide for convenience and clarification. DOE 
O 414.1C definitions shall take precedence over those included in this appendix.

Acceptance Testing. The process of exercising or evaluating a system or system component by 
manual or automated means to ensure that it satisfies the specified requirements and to identify 
differences between expected and actual results in the operating environment. Source: ASME 
NQA-1-2000.

Administrative Controls. The provisions relating to organization and management, procedures, 
record keeping, assessment, and reporting necessary to ensure safe operation of a facility.  
Source: 10 CFR 830.

Assessment. A review, evaluation, inspection, test, check, surveillance, or audit, to determine 
and document whether items, processes, systems, or services meet specified requirements and 
perform effectively. Source: DOE O 414.1C.

Configuration Management. The process of identifying and defining the configuration items in 
a system (i.e., software and hardware), controlling the release and change of these items 
throughout the system’s life cycle, and recording and reporting the status of configuration items 
and change requests. Source: ASME NQA-1-2000.

Consequence. An outcome of an event, hazard, threat, or situation. Source: IEEE 
Std 1540-2001.

Firmware. The combination of a hardware device and computer instructions and data that reside 
as read-only software on that device. Notes: (1) This term is sometimes used to refer only to the 
hardware device or only to the computer instructions or data, but these meanings are deprecated. 
(2) The confusion surrounding this term has led some to suggest that it be avoided altogether. 
Source: IEEE Std 610.12-1990.

Functional Configuration Audit. An audit conducted to verify that the development of a 
configuration item has been completed satisfactorily, that the item has achieved the performance 
and functional characteristics specified in the functional or allocated configuration identification, 
and that its operational and support documents are complete and satisfactory. Source: 
IEEE Std-610.12-1990.

Graded Approach. The process of ensuring that the level of analyses, documentation, and 
actions used to comply with requirements are commensurate with—

*	the relative importance to safety, safeguards, and security; 
*	the magnitude of any hazard involved; 
*	the life-cycle stage of a facility or item; 
*	the programmatic mission of a facility; 
*	the particular characteristics of a facility or item; 
*	the relative importance to radiological and nonradiological hazards; and
*	any other relevant factors. 
Source: 10 CFR 830.

Hazard Controls.  Measures to eliminate, limit, or mitigate hazards to workers, the public, or 
the environment, including— 10 CFR 830

(1)	physical, design, structural, and engineering features;
(2)	safety structures, systems and components
(3)	safety management programs;
(4)	Technical Safety Requirements; and
(5)	other controls necessary to provide adequate protection from hazards.
Source: 10 CFR 830.

Item. An all-inclusive term used in place of appurtenance, assembly, component, equipment, 
material, module, part, structure, product, software, subassembly, subsystem, system, unit, or 
support systems. Source: 10 CFR 830.

Nuclear Facility. A reactor or a nonreactor nuclear facility where an activity is conducted for or 
on behalf of DOE and includes any related area, structure, facility, or activity to the extent 
necessary to ensure proper implementation of the requirements established in CFR, part 10, 
section 830. Source: 10 CFR 830.

Physical Configuration Audit. An audit conducted to verify that a configuration item, as built, 
conforms to the technical documentation that defines it. IEEE Std-610.12-1990.

Process. A series of actions that achieves an end result. Source: 10 CFR 830. 

Quality. The condition achieved when an item, service, or process meets or exceeds the user’s 
requirements and expectations. Source: 10 CFR 830. 

Quality Assurance. All those actions that provide confidence that quality is achieved. Source: 
10 CFR 830.

Quality Assurance Program. The overall program or management system established to assign 
responsibilities and authorities, define policies and requirements, and provide for the 
performance and assessment of work. Source: 10 CFR 830.

Risk. The likelihood of an event, hazard, threat, or situation occurring and its undesirable 
consequences; a potential problem. Source: IEEE Std 1540-2001.

Safety. An all-inclusive term used synonymously with environment, safety, and health to 
encompass protection of the public, the workers, and the environment. Source: DOE O 414.1C.
Safety-class structures, systems, and components (SC SSCs). Structures, systems, or 
components, including portions of process systems, whose preventive and mitigative function is 
necessary to limit radioactive hazardous material exposure to the public, as determined from the 
safety analyses. Source: 10 CFR 830.

Safety-significant structures, systems, and components (SS SSCs). Structures, systems, and 
components which are not designated as safety-class SSCs, but whose preventive or mitigative 
function is a major contributor to defense in depth and/or worker safety as determined from 
safety analyses [10 CFR 830]. As a general rule of thumb, safety-significant SSC designations 
based on worker safety are limited to those systems, structures, or components whose failure is 
estimated to result in a prompt worker fatality or serious injuries (e.g., loss of eye, loss of limb) 
or significant radiological or chemical exposure to workers. Source: DOE G 420.1-1

Safety and Hazard Analysis Software and Design Software. Software that is used to classify, 
design, or analyze nuclear facilities.  This software is not part of an SSC but helps to ensure the 
proper accident or hazards analysis of nuclear facilities or an SSC that performs a safety 
function.  Source: DOE O 414.1C.

Safety Management and Administrative Controls Software. Software that performs a hazard 
control function in support of nuclear facility or radiological safety management programs or 
Technical Safety Requirements or other software that performs a control function necessary to 
provide adequate protection from nuclear facility or radiological hazards. This software supports 
eliminating, limiting, or mitigating nuclear hazards to workers, the public, or the environment as 
addressed in 10 CFR 830, 10 CFR 835, and the DEAR ISMS clause. Source: DOE O 414.1C.

Safety Management Program.  A program designed to ensure a facility is operated in a manner 
that adequately protects workers, the public, and the environment by covering a topic such as: 
quality assurance; maintenance of safety systems; personnel training; conduct of operations; 
inadvertent criticality protection; emergency preparedness; fire protection; waste management; 
or radiological protection of workers, the public, and the environment.  Source: 10 CFR 830.

Safety Software. Includes safety system software, safety and hazard analysis software and 
design software and safety management and administrative controls software.  Source:  DOE 
O 414.1C. 

Safety Structures, Systems, and Components. Both safety class structures, systems, and 
components and safety significant structures, systems, and components. Source: 10 CFR 830.
Safety System Software. Software for a nuclear facility  that performs a safety function as part 
of a structure, system or component and is cited in either DOE approved documented safety 
analysis or an approved hazard analysis per DOE P 450.4, Safety Management System Policy, 
dated 10-15-96, and the DEAR clause.  Source: DOE O 414.1C.

Service. Work, such as design, construction, fabrication, decontamination, environmental 
remediation, waste management, laboratory sample analysis, safety software development/ 
validation/testing, inspection, nondestructive examination/testing, environmental qualification, 
equipment qualification, training, assessment, repair, and installation or the like. Source: 
10 CFR 830. 

Software. Computer programs, procedures, and associated documentation and data pertaining to 
the operation of a computer system.  Source: NQA-1-2000

Technical Safety Requirements.  The limits, controls, and related actions that establish the 
specific parameters and requisite actions for the safe operation of a nuclear facility and include, 
as appropriate for the work and the hazards identified in the documents safety analysis for the 
facility: safety limits, operating limits, surveillance requirements, administrative and 
management controls, use and application provisions, and design features, as well as a bases 
appendix.  Source: 10 CFR 830.

Verification and Validation. The process of determining whether the requirements for a system 
or component are complete and correct, the products of each development phase fulfill the 
requirements or conditions imposed by the previous phase, and the final system or component 
complies with specified requirements. Source: IEEE Std-610.12-1990.

Work. A defined task or activity; such as research and development; operations; environmental 
remediation; maintenance and repair; administration; safety software development, validation, 
testing, and use; inspection; safeguards and security; or data collection and analysis. Source: 
DOE O 414.1C.


	APPENDIX B. PROCEDURE FOR ADDING OR REVISING SOFTWARE TO 
			OR DELETING SOFTWARE FROM 
		THE DOE SAFETY SOFTWARE CENTRAL REGISTRY
CONTENTS
B.1	INTRODUCTION	B-3
B.1.1	Purpose	B-3
B.1.2	Scope	B-3
B.1.3	Functions	B-3
B.2	PROCESS	B-4
B.2.1	Adding Software ApplicatioNs to the Central Registry	B-4
B.2.1.1	Evaluation Process	B-7
B.2.1.2	Submittal to the Central Registry	B-10
B.2.2	Revisions to Software Applications in the Central Registry	B-12
B.2.3	Removal of Software Applications from the Central  Registry	B-13
B.2.4	Issue Resolution and Action Communication	B-13
B.3	REFERENCES	B-14




PROCEDURE FOR ADDING OR REVISING SOFTWARE TO OR DELETING 
SOFTWARE FROM THE DOE SAFETY SOFTWARE CENTRAL REGISTRY

B.1 INTRODUCTION

B.1.1 PURPOSE

Toolbox codes represent a small number of standard computer models or codes supporting DOE 
safety analysis having widespread use and of appropriate qualification that are maintained, 
managed and distributed by DOE’s Safety Software Central Registry (referred to as the Central 
Registry). The purpose of this appendix is to outline the procedure for adding new software to 
the Central Registry that is consistent with software quality assurance (SQA) requirements of 
DOE O 414.1C, Quality Assurance,  Criteria are referenced for demonstrating compliance with 
applicable SQA requirements, and are recommended for use in an evaluation process to 
determine suitability of candidate software for inclusion in the Central Registry. Information is 
also presented in brief on the procedures to (1) revise or update toolbox software and (2) remove 
software from the Central Registry due to retirement by the software developer.

More detailed information of the SQA requirements and criteria that are applicable to safety 
software as a basis for consideration to the Central Registry is found at 
http://www.eh.doe.gov/sqa/central_registry.htm.

B.1.2 SCOPE

The scope of this procedure includes any software application used by DOE or its contractors for 
a safety-related purpose that is proposed for inclusion in the Central Registry.

B.1.3 FUNCTIONS

Procedures to identify, document and submit additional software applications to the Central 
Registry are based on the process followed to evaluate the six initial toolbox codes.  Following 
this precedent, three principal entities described below perform the major tasks.

Software Sponsor—either the originator of the software (developer) or the primary user (site 
organization) who is requesting the software to be placed in the Central Registry or a 
combination of the two. In either case, this party is responsible for documenting SQA programs, 
procedures and processes associated with development of the software, maintaining and 
configuration controlling the software, developing new versions of the subject software, 
addressing user questions, and resolving technical and programmatic issues. The software 
sponsor is responsible for documenting the rationale for adding the subject software to the 
Central Registry.

SQA Evaluator—an independent reviewer of the computer software, who is not affiliated with 
the software developing organization. It is required that the review organization or individuals 
have a thorough understanding of the applicable SQA requirements, expert level knowledge and 
application experience with the software in question, and an awareness of the overall context for 
the use of the subject software as part of the DOE safety process. The SQA evaluator is 
responsible for documenting the SQA evaluation of the candidate software, and based on this 
evaluation, confirms that the software SQA satisfactorily meets requirements for inclusion to the 
Central Registry.

DOE Office of Environment, Safety and Health, Office of Quality Assurance Programs—
reviews the candidate software SQA evaluation and decides whether the candidate software 
should be included in the Central Registry.

Independence between the evaluator and the sponsor is critical for completion of a formal SQA 
evaluation, and should be maintained throughout the Central Registry submittal process. Ideally, 
the two participants should be based out of different organizations. In addition, while the SQA 
evaluator and the sponsor can be collocated at the same site, they should be functionally 
separated.

Before a software application and an independent evaluation are transmitted to DOE for 
consideration to the Central Registry, it is recommended that the software sponsor notify DOE 
Office of Quality Assurance Programs of its intentions. The notification will allow DOE to 
review usage characteristics of the software and the credentials of the designated evaluator. A 
screening review of this nature will minimize software and evaluation submittals that are not 
likely to be successful.

B.2 PROCESS

B.2.1 ADDING SOFTWARE APPLICATIONS TO THE CENTRAL REGISTRY

Submittal of a software application for consideration as toolbox-equivalent is a two-phase 
documentation effort, consisting of strategic benefits and SQA technical basis phases. In 
principle, the first phase should be prepared by the software sponsor, and needs to establish the 
basis or rationale for including the software in the Central Registry. At minimum, the discussion 
in the first phase should establish the following.

*	Widespread use of the software across the DOE complex for safety related applications.
*	Methods to ensure proper software information, error reporting, configuration control and 
	other SQA management interface with the Central Registry.
*	Demonstrated and quantifiable benefit for designating the software for the Central 
	Registry.

The second phase, the SQA technical basis phase, is initiated with completion of an independent 
SQA evaluation, and is performed by the software evaluator. The evaluation should demonstrate 
satisfactory compliance with toolbox-equivalency criteria and requirements established for the 
DOE Central Registry. The software sponsor is requested to provide information on the 
programs and procedures associated with the development, maintenance, and use of the subject 
software. An input template for this purpose has been developed, and is recommended as a 
starting point mechanism to solicit basic SQA information from the software sponsor. An 
electronic copy may be obtained from SQA Knowledge Portal under the SQA Library (Software 
Information Template), http://www.eh.doe.gov/sqa/doc_library.htm.

The input template seeks the following set of documents from the software developer.

1.	Software project management and SQA plans
2.	Software risk management documents
3.	Software configuration management plan
4.	Procurement and supplier management documents
5.	Software requirements specifications
6.	Software design, model description, programmer’s reference, and related documents
7.	Software design and related documents
8.	Verification and validation, test report, and other documents
9.	Software error notification and corrective action reports
10.	User instructions, user manuals, and training packages/user qualification documents

Files, reports, telephone conferences, and other documented communications can provide 
confirmatory indications that actions have been performed in SQA, and these can be used in lieu 
of the availability of formal documents. However, formal documents are preferred because they 
explicitly demonstrate compliance with the primary criteria. Furthermore, formal documents 
reduce the uncertainty in verifying completion of an action.

Software practices discussed in Section 5 of this Guide and the corresponding documents for 
assessing compliance are listed in Table B-1, and are similar to those used in the evaluation of 
the initial software applications designated for the Central Registry. The details associated with 
each work activity are discussed in detail in the SQA plan and criteria document at the SQA 
Central Registry Web site. 

Because current and potential Central Registry software is best described under the custom 
developed category, requirements for evaluation of software should be consistent with the 
grading approach for custom developed software. Table B-2 lists SQA work activities discussed 
in Section 5 of this Guide for custom developed software at both A and B grading levels. Also 
shown is the SQA requirement from those used to evaluate the initial software applications 
designated for the Central Registry that best matches the DOE O 414.1C SQA work activity. For 
many of the SQA work activities, the match is only partial, (i.e., not all of a specific work 
practice is covered by the SQA toolbox requirement).

Table B-1. Software Quality Assurance Work Activity and Corresponding  
	  Documentation for Demonstrating Compliance

DOE O 414.1C SQA Work Activity
SQA Documents
1.	Software Project Management and 
Quality Planning
­	Software Project Management Plan 
(SPMP) and/or
­	Software Quality Assurance Plan 
(SQAP)
­	Software Safety Plan
2.	Software Risk Management
­	Various document types can be 
used to cover risk management
3.	Software Configuration Management
­	Software Configuration 
Management Plan (SCMP) or 
related documents
4.	Procurement and Supplier Management
­	Contractual documents or other 
Software procurement and use 
agreement documentation
5.	Software Requirements Identification 
and Management
­	Software Requirements 
Specifications (SRS) or related 
document
6.	Software Design and Implementation
­	Software design description (SDD) 
Model Description, Programmer’s 
Reference Manual, or other related 
documents
7.	Software Safety
­	SDD
­	Software Safety Analysis 
documentation
8.	Verification and Validation
­	Verification and Validation Report
­	Test Case Description and Outcome 
Report; Other testing documents
9.	Problem Reporting and Corrective 
Action
­	Software Error Notification and 
Corrective Action Report 
10.	Training of Personnel in the Design, 
Development, Use and Evaluation of 
Safety Software
­	User Instructions or User Manuals
­	Training Packages and User 
Qualification

B.2.1.1 Evaluation Process
The SQA evaluator performs and documents a review of the software, using the inputs from the 
code developer, including the responses in the Software Input Template or the equivalent, and 
other communications. In cases where the software developer is unable to supply requested 
inputs, the SQA evaluation may consider alternative sources of information. Examples of 
alternative information are previous reviews,  older documentation from the code developer, 
technical and journal articles, and previous software comparison studies.

The size of the actual SQA evaluation effort, whether one individual or a team of subject matter 
experts, depends on the complexity of the software application. Regardless of SQA evaluation 
team size, those involved should be experienced in use of the software, but also knowledgeable 
of the evaluation criteria. It is recommended that the evaluation of the software work activities 
covered in Table B-1 use a sub-matrix of finer criteria to adequately evaluate the constituent 
parts of the requirement. Qualitative ranking of compliance was used with the designated toolbox 
software, applying the four terms defining compliance conditions: Yes (meets requirement), No 
(does not meet requirement), Uncertain (insufficient information available to evaluate), and 
Partial (some but not all criteria are met). Upon completion of the evaluation of each of the 
SQA work activities, the SQA evaluator can review results as a whole and render an overall 
assessment. The process leads to a firm basis to document findings in a verifiable, objective 
manner.

Table B-3 contains a procedure for evaluating toolbox-equivalent candidate software, defined in 
the custom developed category for most safety applications. The overall evaluation process is 
shown schematically in Figure B-1. Input information for the evaluation is based on receipt of a 
Software Information Template.  An electronic copy may be obtained from SQA Knowledge 
Portal under the SQA Library (Software Information Template), 
http://www.eh.doe.gov/sqa/doc_library.htm.

While grading Level C cases can be postulated, it is believed that most software application 
candidates for the Central Registry are categorized best under grading Levels A and B. 

The SQA evaluation (gap analysis) reports performed on the six initial toolbox codes are a 
reasonable level of detail for SQA evaluation documentation. While the SQA requirements and 
criteria used for the toolbox codes are similar to those described in this Guide, they differ in 
emphasis and extent of coverage. Thus, the gap analysis reports are illustrative, but not directly 
applicable models. Instead, a software evaluation template for this purpose has been developed.

The toolbox-equivalent software input and evaluation templates, as well as, copies of the gap 
analysis reports and the full SQA evaluation plan and criteria document, can be downloaded 
from the Central Registry Web site (http://www.eh.doe.gov/sqa/central_registry.htm).

Table B-2. Software Quality Assurance (SQA) Requirements by Software Grading  
	  Level and Matching DOE O 414.1C SQA Work Activities
DOE O 414.1C
SQA Work Activity*
Software Grading 
Level
Corresponding SQA Toolbox 
Software Requirement*

Level A 
Custom
Level B 
Custom

(a)  Software project 
management & quality planning
Full**
Full
2. SQA Procedures and Plans
(b)  Software risk management
Full
Graded***
Not addressed in the list of SQA 
requirements.
(c)  Software configuration 
management
Full
Full
12. Configuration Control
14. Access Control 
(d)  Procurement and supplier 
management 
Full
Full
3. Dedication
(e)  Software requirements 
identification and management
Full
Full
5. Requirements 
(f)  Software design and 
implementation;
Full
Full
6. Design
7. Implementation
(g)  Software safety 
Full
Graded
6. Design
(h)  Verification and validation
Full
Graded
8. Testing
10. Acceptance Test
11. Operation and Maintenance
(i)  Problem reporting and 
corrective action
Full
Graded
13. Error Impact 
(j)  Training of personnel in the 
design, development, use and 
evaluation of safety software
Full
Full
9. User Instructions
*The SQA requirements used for evaluation of the initial set of software applications designated for the Central 
Registry are matched to the corresponding SQA work activity from DOE O 414.1C. See Table 3-3 of U.S. 
Department of Energy, Software Quality Assurance Plan and Criteria for the Safety Analysis Toolbox Codes, 
Revision 1, (November 2003) for details on the requirements and the labeling (numbering) scheme.
**Required for the computer software
***Graded depending on the application and based on judgment of SQA evaluator.

Table B-3. Plan for Evaluation of Candidate Software for Central Registry

Step
Procedure 
1. Review Documentation
Determine that sufficient information is provided by the 
software developer to allow proper classification of the software.
Review developer reports, previous evaluations, and conference 
and journal submittals, etc.
Interview software developer.
2. Evaluate Justification 
(Rationale) for Including 
Software in Central 
Registry
Review software sponsor’s document:
Widespread use of the software across DOE complex for safety 
related applications?
Methods to ensure proper software information, error reporting, 
configuration control and other SQA management interfaces 
with the Central Registry?
Demonstrated and quantifiable benefit for designating the 
software for the Central Registry?
3. Process Software 
Information Template
Download template from Software Quality Assurance Web site, 
http://www.eh.doe.gov/sqa/doc_library.htm.
Confirm graded level determination.
4. Assess Software Project 
Management and Software 
Quality Assurance Plans
Review software project management plan (SPMP) and software 
quality assurance plan (SQAP) for—

*	required activities, documents, and deliverables and
*	level and extent of reviews and approvals, including internal 
	and independent review. 

Confirm that actions and deliverables (as specified in the SQAP) 
have been completed and are adequate.

Review engineering documentation identified in the SPMP and 
SQAP, including—

*	software risk management documents;
*	software configuration management plan;
*	procurement and supplier management documents;
*	software requirements specifications;
*	software design, model description, programmer’s reference, 
	and related documents;
*	software design and related documents;
*	verification and validation, test report, and other documents;
*	software error notification and corrective action reports; and
*	user instructions, user manuals, and training packages/user 
	qualification documents.

5. Assess SQA Work Activity

Review SQA documentation against detailed criteria found in 
the Software Evaluation Template for DOE O 414.1C SQA 
Work Activities: 

*	software project management & quality planning,
*	software risk management,
*	software configuration management,
*	procurement and supplier management,
*	software requirements identification and management,
*	software design and implementation,
*	software safety,
*	verification and validation,
*	problem reporting and corrective action, and
*	training of personnel in the design, development, use and 
	evaluation of safety software.

6. Document Evaluation Using Software 
Evaluation Template.

Use gap analysis reports as examples.

B.2.1.2 Submittal to the Central Registry
Once the SQA evaluation has been conducted and documented, the software may be submitted to 
the Central Registry under one of the following cases.

1.	The software sponsor concludes in the software evaluation (gap analysis) that software 
	has met all major requisite criteria in the ten SQA work activities, and no criterion is 
	evaluated as “No (=not met).” In other words, all significant improvement actions are 
	completed before the software is submitted for consideration as “toolbox-equivalent” to 
	the Central Registry.
2.	The software sponsor has identified one or more criteria not compliant for the subject 
	software based on the gap analysis. However, the software sponsor can document a 
	compelling technical basis for submitting the software as “toolbox-equivalent” to the 
	Central Registry. Part of the technical basis should include a software application 
	guidance report that points out specific limitations and weaknesses and provides 
	instructions to the user on informed use of the subject software despite the identified gaps 
	and other vulnerabilities.  Examples of guidance reports prepared for the initial six codes 
	designated for the Central Registry may be downloaded from the DOE SQA Web site at 
	http://www.eh.doe.gov/sqa/doc_library.htm. 

Figure B-1. Flow Sheet for Software Evaluation

If all substantive issues in either Case 1 or Case 2 are satisfactorily dispositioned, the software 
sponsor may move forward with the toolbox software submittal process. An electronic mail 
message should be sent to sqa@eh.doe.gov, requesting a review of the evaluation and 
designation of the software as a toolbox software application. All supporting documentation 
should be transmitted as attachments.

The DOE Office of Quality Assurance Programs will review the submittal in a timely manner. 
Table B-4 lists several of the key acceptance criteria for rendering a decision to include the 
candidate software in the Central Registry. A decision on designation of the candidate software 
as a toolbox software application will be communicated to the software developer and evaluator 
organizations. If the decision is favorable, the appropriate links will be provided for the software 
in question, and a general notice will be posted on the Central Registry Web site. Additional 
notification methods may be implemented to ensure broad notification of the changes in the 
Central Registry software collection.

If, on the other hand, issues with the subject software are irreconcilable, then the software 
sponsor is advised not to proceed further with the submittal process. It may be prudent to 
examine continued use of the software at the site in question, and explore use of alternative 
software, such as software currently contained in the Central Registry, for the specific safety 
application.

Table B-4. Primary Criteria for Deciding on Inclusion of Software to the Central Registry

Phase
Criterion*
1. Rationale for Adding 
Software to Central 
Registry
a.	Widespread use of the software across DOE complex for safety 
related applications.

b.	Methods to ensure proper software information, error reporting, 
configuration control, and other software quality assurance 
(SQA) management interfaces with the Central Registry.

c.	Demonstrated and quantifiable benefit for designating the 
software to the Central Registry.

2. SQA Technical Basis

a.	The SQA evaluation document adequately demonstrates that 
the candidate software has met all major requisite criteria, and 
no criterion is evaluated as “No (=not met).” If remedial tasks 
were cited before all criteria are considered met, it is 
determined that these have been completed.

or

b.	The SQA evaluation document has identified one or more 
criteria not compliant for the subject software based on the gap 
analysis. However, a compelling technical basis is made for 
submitting the software as “toolbox-equivalent” to the Central 
Registry. Part of the technical basis should include a guidance 
report that points out specific limitations, weaknesses, and 
provides instructions to the user on informed use of the subject 
software despite identified gaps and other vulnerabilities.

*This is a partial list—others may be added as the process for software addition matures.

B.2.2	REVISIONS TO SOFTWARE APPLICATIONS IN THE CENTRAL REGISTRY

In the typical life-cycle processes associated with most software applications, updates, 
improvements, and modifications will be made. Similar to software that is being considered for 
the first time, revised software in the form of a new software version may also be submitted for 
inclusion in the Central Registry, with accompanying removal of the older version.

The same process is followed for revised software to be placed in the Central Registry as is 
outlined above for new software applications. The steps may be summarized as follows.

1.	The software sponsor identifies the SQA evaluator organization.
2.	The evaluator performs a complete evaluation over all aspects of the new software 
	version, emphasizing new and revised aspects of the software application.
3.	Upon conclusion of the evaluation and issuance of the SQA evaluation report (the gap 
	analysis), the software sponsor decides whether software has satisfactorily met all 
	requisite criteria for the ten SQA work activities, the revised software may be submitted 
	to the Central Registry.
4.	As noted earlier for new software applications to the Central Registry, an electronic mail 
	message should be sent to sqa@eh.doe.gov, requesting a review of the evaluation and 
	designation of the software as a toolbox software application. All supporting 
	documentation should be transmitted as attachments.
5.	The DOE Office of Environment, Safety and Health, Office of Quality Assurance 
	Programs will review the submittal and decide on designation of the candidate software 
	as a replacement version to existing toolbox software. Upon reaching a favorable 
	determination, the appropriate links will be provided for the software version, and a 
	general notice will be posted on the Central Registry Web site regarding a new software 
	revision. In parallel with this action, the older software version will be removed from the 
	Central Registry and designated as an “archived toolbox version.”

B.2.3	REMOVAL OF SOFTWARE APPLICATIONS FROM THE CENTRAL 
	REGISTRY

Software applications are also subject to being removed from the Central Registry. Several 
causes for this action include but are not limited to the following.
1.	The software developer indicates that older versions will no longer be supported and 
	elects to retire the software.
2.	New survey information indicates that few if any sites are using the software and that 
	other software applications are being used for the specified safety applications.
3.	The DOE Office of Environment, Safety and Health, Office of Quality Assurance 
	Programs may make a decision to formally remove the software due to accumulated 
	evidence of unsatisfactory SQA events. Significant software errors in the subject software 
	or other factors may lead to this outcome.

Regardless of the basis, the subject software application may be removed from the Central 
Registry after notification is posted on the Web site for a comment period of 60 days, and no 
compelling evidence is received that conflicts with the planned removal action. The notification 
should cite the basis or bases for the removal along with supporting documentation.

Upon reaching the end of comment period, the software application is then removed from the 
Central Registry and designated as an “archived software application.”

B.2.4	ISSUE RESOLUTION AND ACTION COMMUNICATION

Actions will be taken on the addition, revision, and removal of software or when it is necessary 
to communicate information about software contained in the Central Registry. Several 
communication mechanisms may be used to alert DOE staff, DOE software user, and 
stakeholder groups.  The extent of the communication will be commensurate to the action taken 
or the importance to safety of the issue, and will be decided by the DOE Office of Environment, 
Safety and Health, Office of Quality Assurance Programs.

Several of the primary mechanisms may include, but are not limited to, announcements to one or 
more of the following.

1.	DOE Office of Environment, Safety and Health Central Registry Web site home page 
	within the DOE Office of Environment, Safety and Health Knowledge Portal 
	(http://www.eh.doe.gov/sqa/central_registry.htm)
2.	Safety Analysis Working Group in EFCOG, particularly its Steering Committee, and its 
	Accident Analysis Subgroup (http://www.efcog.org/workgroups/sawg-aa/)
3.	Radiation Safety Information Computational Center (RSICC), (http://www-
	rsicc.ornl.gov/rsicc.html)
4.	Use of the Central Registry e-mail distribution list
5.	Formal Letter Notification to the Program Secretarial Officers

B.3 REFERENCES

1.	American Society of Mechanical Engineers, Re: Comments on the Benefits of National 
	Nuclear Quality Assurance Standards for NNSA and DOE Nuclear Activities and 
	Oversight, Letter to Linton F. Brooks, NNSA (2002).
2.	ASME NQA-1-2000, Quality Assurance Requirements for Nuclear Facility Applications, 
	American Society of Mechanical Engineers, 2001.
3.	ASME NQA-1A-1999, Addenda to ASME NQA-1-1997, Quality Assurance 
	Requirements for Nuclear Facility Applications, American Society of Mechanical 
	Engineers, 1999.
4.	10 CFR 830, Nuclear Safety Management.
5.	10 CFR 50, Appendix B, Quality Assurance Criteria for Nuclear Power Plants and Fuel 
	Reprocessing Plants.
6.	DNFSB/TECH-25, Quality Assurance for Safety-Related Software at Department of 
	Energy Defense Nuclear Facilities, Defense Nuclear Facilities Safety Board Technical 
	Report, January 2000.
7.	DNFSB Recommendation 2002-1, Quality Assurance for Safety-Related Software, 
	Defense Nuclear Facilities Safety Board, September 2002.
8.	International Organization for Standardization (ISO)9001-1994, Quality Systems—Model 
	for Quality Assurance in Design, Development, Production, Installation and Servicing, 
	ISO, 1994.
9.	ISO 9001-2000, Quality Management Systems—Requirements, ISO 9000-3, ISO Quality 
	management and quality assurance standards—Part 3: Guidelines for the application of	
	ISO 9001:1994 to the development, supply, installation and maintenance of computer 
	software.
10.	U.S. Department of Energy, Office of Environment, Safety and Health, Designation of 
	Initial Safety Analysis Toolbox Codes, Memorandum to Linton Brooks, Defense 
	Programs and Jessie Hill Roberson, Office of Environmental Management, March 28, 
	2003. 
11.	DOE-STD-3009-94, Preparation Guide for U.S. Department of Energy Nonreactor 
	Nuclear Facility Documented Safety Analyses, dated 7-94.  


APPENDIX C. USE OF ASME NQA-1-2000 AND SUPPORTING STANDARDS FOR 
COMPLIANCE WITH DOE 10 CFR 830 SUBPART A AND DOE O 414.1C AND 
SAFETY SOFTWARE

This appendix provides guidance on the use of ASME NQA-1-2000, Quality Assurance 
Program for Nuclear Facilities, and supporting standards for compliance with the Department of 
Energy’s (DOE’s) quality assurance (QA) requirements (10 CFR 830 Subpart A and DOE 
O 414.1C, Quality Assurance, dated 6-17-05) and their application to safety software. 

C.1. PURPOSE 

This guidance may be used by organizations adopting ASME NQA-1-2000 as a national 
consensus standard for development and implementation of a quality assurance program (QAP) 
that meets the DOE QA requirements and includes safety software within its scope. This 
appendix describes how ASME NQA-1-2000 addresses the DOE QA requirements and identifies 
DOE QA requirements that are not addressed by ASME NQA-1-2000. Selected standards from 
other standards bodies are included where emphasis or detail for safety software quality is 
necessary.

C.2. INTRODUCTION

DOE QA requirements for activities that affect, or may affect, quality, nuclear safety or other site 
specified criteria are established by 10 CFR Part 830 Subpart A, Quality Assurance 
Requirements. DOE also has equivalent requirements for all other federal and contractor 
activities in DOE O 414.1C. The DOE QA requirements and Guides are available for review at 
http://tis.eh.doe.gov/nsps/quality.html. 

The DOE’s objective of the QA Rule and Order is for organizations to establish effective 
integrated management systems (i.e., QAPs) for the performance of DOE nuclear-related work. 
The objective is accomplished through performance oriented QA criteria, coupled with 
appropriate technical standards to manage, perform, and assess work activities. The DOE Rule 
requires the use of voluntary consensus standards in the development and implementation of the 
QAP. The ASME NQA-1-2000 standard is a national consensus standard, and as indicated in 
DOE O 414.1C, ASME NQA-1-2000 or other national or international consensus standards that 
provide an equivalent level of quality assurance requirements as NQA-1-2000 must be used for 
providing the essential implementing methods for a QAP, including details for effective and 
reliable supporting processes and procedures, as presented in this subpart. 

C.3. DOE RULE AND ORDER GENERAL ADMINISTRATIVE QAP REQUIREMENTS

The DOE Rule and Order include both administrative and regulatory quality requirements. Those 
administrative requirements relating to QAP approval authority, change control authority, and 
compliance should not be relevant to the scope of ASME NQA-1-2000. Other administrative 
quality related requirements that are relevant are addressed in Table C-1. 

C.4. DOE RULE AND ORDER QA CRITERIA

The DOE Rule and Order include ten QA criteria that are used to develop and implement a QAP. 
Table C-2 identifies each of the ten DOE Rule and Order QA criterion and how they are 
addressed by the ASME NQA-1-2000, Part I requirements. Differences in the documents and 
topics that should be addressed independently of the ASME NQA-1-2000 criteria to meet the 
DOE criteria are described. In some cases, the ASME NQA-1 Part II, “QA Requirements for 
Nuclear Facility Applications,” and Part IV, “Non-mandatory Guidance in ASME 
NQA-1-2000,” are also appropriate to address the DOE requirements and describe how the QA 
criteria will be implemented. Table C-2 also includes selected standards from other standards 
bodies (IEEE and IAEA) where they add emphasis or detail for safety software quality.

TABLE C-1. 10 CFR 830 Subpart A, dated January 10, 2001
§830.121 Quality Assurance Program

DOE O 414.1C 
DOE General Requirements (Summarized)
ASME NQA-1-2000 Requirements Graded Approach (830.7)

Where appropriate, a contractor must use a graded approach to implement the requirements of this 
Part, document the basis of the graded approach used, and submit that documentation to DOE.

Part I, Introduction, Requirement 1 and Requirement 2 provides for a graded approach to 
achieving quality by focusing on activities affecting quality and the application of 
requirements in a manner consistent with the relative importance of the item or activity. 
The cited text does allow for a graded approach, however a DOE QAP will need to describe 
how the graded approach is applied and documented to meet the DOE requirement.

Requirement 3, 801.4 provides grading relative to software. 
Part II, Appendix 2A-2 Nonmandatory Guidance on Quality Assurance Programs includes guidance 
on this topic.
Part IV, 4.1, 101
IAEA Technical Report (TR) Series 397, Appendix 1
QAP Development & Implementation
The QAP must describe how the DOE QA criteria are satisfied.
The ASME NQA-1 requirements partially meet the DOE requirement.
Requirement 2 requires that a documented QAP be planned, implemented and maintained; and 
requires the QAP provide for the planning 
and accomplishment of activities affecting quality.

Requirement 5 requires that “Activities affecting quality and services should be prescribed 
by and performed in accordance with documented instructions, procedures, or drawings that 
include or reference appropriate quantitative or qualitative acceptance criteria for 
determining that prescribed results have been satisfactorily attained.”

A DOE QAP will need to describe how the DOE criteria are satisfied. 
Integrated Management Systems
The QA program must integrate the QA criteria with the Safety Management System (SMS) or 
describe how the QA criteria apply to the SMS. 

The ASME NQA-1 requirements do not address the DOE requirement. 
A DOE QAP will need to address integration to meet the DOE criterion. 
Ensuring Subcontractor & Supplier Quality 

The QAP must describe how the contractor responsible for the nuclear facility ensures that 
subcontractors and suppliers satisfy the QA criteria.

Requirements 1, 2, 4, 7 and 18 
The ASME NQA-1 requirements meet the DOE requirement by the establishment of quality
interfaces between organizations, by the inclusion of applicable QA requirements in procurement documents, supplier evaluation activities and audits of suppliers. 
A DOE QAP will need to describe how subcontractors/suppliers satisfy the DOE criteria.

TABLE C-2
10 CFR 830 Subpart A, dated January 10, 2001
§830.122 Quality Assurance Criteria
DOE Quality Assurance 
Criteria
ASME NQA-1-2000 Requirements
Comments, Software 
Requirements & Other 
Standards  
(documents noted in bold italic)
Criterion 1 - 
Management/Program 
NQA Requirements 1 and 2 
The ASME NQA-1 requirements meet the DOE criterion, 
as noted.

Part IV, 4.1, 400
IEEE 730-2002
IAEA TR 397, 2.2
IAEA Nuclear Safety Guide 
(NS-G) NS-G-1.1, 4.11 
(1) Establish an organizational 
structure, functional 
responsibilities, levels of 
authority, and interfaces for those 
managing, performing, and 
assessing work.
The ASME NQA-1 requirements satisfy this element of 
the DOE criterion.
None 
(2) Establish management 
processes, including planning, 
scheduling, and providing 
resources for the work. 
NQA Requirement 1, 201 General and Requirement 2, 100 
Basic meet the DOE criterion. ASME NQA-1 requires 
senior management to establish overall expectations for 
effective implementation of the quality assurance program 
and is responsible for obtaining the desired end result. 
This implies that adequate resources are provided to obtain 
desired results.
A DOE QAP will need to describe 
the management process for 
providing resources. 

Criterion 2 - 
Management/Personnel 
Training and Qualification
NQA Requirement 2 
The ASME NQA-1 requirements meet the DOE criterion.

(1) Train and qualify personnel to 
be capable of performing their 
assigned work.
(2) Provide continuing training to 
personnel to maintain their job 
proficiency.
The ASME NQA-1 requirements satisfy these elements of 
the DOE criterion.
DOE-STD-1172-2003 Safety 
Software Quality Assurance 
Functional Area Qualification 
Standard
IAEA TR 397, 2.4
IAEA NS-G-1.1, 4.9&10
Criterion 3 - 
Management/Quality 
Improvement 

NQA Requirements 2, 15, and 16 
The ASME NQA-1 requirements partially meet the DOE 
criterion.
Part II, 2.7, 204
Part IV, 4.1, 204
IAEA TR 397, 2.5
A DOE QA Program will need to 
extend the requirements of ASME 
NQA-1 to ALL conditions adverse 
to quality not just significant 
conditions adverse to Quality.

(1) Establish and implement 
processes to detect and prevent 
quality problems.
The ASME NQA-1 requirements partially meet the DOE 
criterion.
ASME NQA-1 provides a system of establishing quality 
requirements and monitoring compliance to prevent 
nonconforming conditions from causing quality problems. 
This is accomplished through various controls, 
inspections, and tests. Requirement 16 includes criteria to 
prevent recurrence of identified problems.

(2) Identify, control, and correct 
items, services, and processes that 
do not meet established 
requirements. 
The ASME NQA-1 requirements satisfy this element of 
the DOE criterion. 

(3) Identify the causes of 
problems and work to prevent 
recurrence as part of correcting 
the problem. 
The ASME NQA-1 requirements partially satisfy this 
element of the DOE criterion for “significant” or “generic” 
nonconformances. 

(4) Review item characteristics, 
process implementation, and other 
quality-related information to 
identify items, services, and 
processes needing improvements.
The NQA requirements partially address this element of 
the DOE criterion for known deficiencies.


Criterion 4 - 
Management/Documents and 
Records 
NQA Requirements 5, 6 and 17 
The ASME NQA-1 requirements meet the DOE criterion.

(1) Prepare, review, approve, 
issue, use, and revise documents 
to prescribe processes, specify 
requirements, or establish design.
(2) Specify, prepare, review, 
approve, and maintain records.
The ASME NQA-1 requirements satisfy these elements of 
the DOE criterion.
Part I, Requirement 3, 801
Part II, 2.7, 201 & 802
Part IV, 4.1, 201 
IAEA TR 397, 2.6 & 3.1
IEEE 730, 829
Criterion 5 - Performance/Work 
Processes
NQA Requirements 5, 8, 9, 12, 13, and 14 and the Part 
I, Introduction
The ASME NQA-1 requirements meet the DOE criterion, 
as noted.

(1) Perform work consistent with 
technical standards, administrative 
controls, and other hazard controls 
adopted to meet regulatory or 
contract requirements, using 
approved instructions, procedures, 
or other appropriate means.
The ASME NQA-1 requirements address “work” as 
activities affecting quality.
A DOE QA program will need to 
address “work” as broadly as the 
DOE criterion, since the 
requirements for “work” are 
derived from multiple sources in 
the DOE Rule and Order. 
Part I, Requirement 3, 802
Part II, 2.7, 203 & 404
Part IV, 4.1, 203 & 405
IAEA TR 397, 3.1 & 3.2
IEEE 828-1998 & 1219-1998
(2) Identify and control items to 
ensure their proper use.
The ASME NQA-1 requirements satisfy this element of 
the DOE criterion.

(3) Maintain items to prevent their 
damage, loss, or deterioration.
The ASME NQA-1 requirements satisfy this element of 
the DOE criterion.

(4) Calibrate and maintain 
equipment used for process 
monitoring or data collection.	
The ASME NQA-1 requirements satisfy this element of 
the DOE criterion.

Criterion 6 - 
Performance/Design 
NQA Requirement 3 
The ASME NQA-1 requirements meet the DOE criterion.

(1) Design items and processes 
using sound engineering/scientific 
principles and appropriate 
standards.
(2) Incorporate applicable 
requirements and design basis in 
design work and design changes.
(3) Identify and control design 
interfaces.
(4) Verify or validate the 
adequacy of design products using 
individuals or groups other than 
those who performed the work.
(5) Verify or validate work before 
approval and implementation of 
the design.
The ASME NQA-1 requirements satisfy these elements of 
the DOE criterion.

Part II, 2.7, 401 & 402
Part IV, 4.1, 401 & 402 
ANS-10.4
IAEA TR 397, 3.2 & 3.4
IEEE 1012-1998 & 1012A-1998
Criterion 7 - 
Performance/Procurement
NQA Requirements 4 and 7 
The ASME NQA-1 requirements meet the DOE criterion.

(1) Procure items and services that 
meet established requirements and 
perform as specified.
(2) Evaluate and select 
prospective suppliers on the basis 
of specified criteria.
(3) Establish and implement 
processes to ensure that approved 
suppliers continue to provide 
acceptable items and services.
The ASME NQA-1 requirements satisfy these elements of 
the DOE criterion.
Part II, 2.7, 300
Part IV, 4.1, 300
IAEA TR 397, 3.3
Criterion 8 - 
Performance/Inspection and 
Acceptance Testing
NQA Requirements 8, 10, 11, and 12
The ASME NQA-1 requirements meet the DOE criterion.

(1) Inspect and test specified 
items, services, and processes 
using established acceptance and 
performance criteria.
(2) Calibrate and maintain 
equipment used for inspections 
and tests.
The ASME NQA-1 requirements satisfy these elements of 
the DOE criterion.
Part II, 2.7, 404
Part IV, 4.1, 404
ANS-10.4
IAEA TR 397, 3.4
IEEE 1008
Criterion 9 - 
Assessment/Management 
Assessment 

NQA Requirement 2 and 18
The ASME NQA-1 requirements partially meet the DOE 
criterion, as noted

Ensure managers assess their 
management processes and 
identify and correct problems that 
hinder the organization from 
achieving its objectives.
While ASME NQA-1, Requirement 2, 100 Basic, requires 
management to regularly assess the adequacy and effective 
implementation of quality assurance, the DOE criterion is 
broader in scope and intent. 
Part II, 2.7, 202
Part IV, 4.1, 202
IAEA TR 397, 4.1
IEEE 1028-1997
While audits per Req. 18 of NQA 
provide an input to this 
requirement, a DOE QAP will need 
to align with the intent, focus, and 
concepts described in DOE 
G 414.1-1A, Management 
Assessment and Independent 
Assessment Requirements of 
10 CFR 830.120 and DOE O-
 414.1, Quality Assurance, to meet 
the DOE criterion.

TABLE C-2
10 CFR 830 Subpart A, dated January 10, 2001
§830.122 Quality Assurance Criteria
DOE Quality Assurance Criteria
ASME NQA-1-2000 Requirements
Comments, Software 
Requirements & Other 
Standards 
(documents noted in bold italic)
Criterion 10 - Assessment/Independent 
Assessment
NQA Requirements 1, 2, 10, 11, 15, 16, and 
18 
The ASME NQA-1 requirements meet the 
DOE criterion.

(1) Plan and conduct independent assessments 
to measure item and service quality, to 
measure the adequacy of work performance, 
and to promote improvement.
(2) Establish sufficient authority, and freedom 
from line management, for the group 
performing independent assessments.
(3) Ensure persons who perform independent 
assessments are technically qualified and 
knowledgeable in the areas to be assessed.
DOE defines assessment as a general term that 
includes a variety of evaluation methods (i.e.; 
reviewing, evaluating, inspecting, testing, 
checking, surveillance, auditing, or otherwise 
determining and documenting). As such, 
several ASME NQA-1 requirements may be 
necessary to address the various DOE 
independent assessment methods. These 
activities when combined with the NQA 
corrective action requirement have the intent 
of the DOE criterion, to “promote 
improvement.” 
IAEA TR 397, 4.2
Assessment as a DOE activity for a 
DOE QAP will need to align with 
the intent, focus and concepts 
described in DOE G-414.1-1A, 
Management Assessment and 
Independent Assessment 
Requirements of 10 CFR 830.120 
and DOE- O-414.1 Quality 
Assurance.

APPENDIX D. QUALITY ASSURANCE STANDARDS FOR SAFETY SOFTWARE IN 
DEPARTMENT OF ENERGY NUCLEAR FACILITIES

D.1. INTRODUCTION AND REGULATORY BASIS

The Department of Energy (DOE) nuclear safety regulation, 10 CFR 830 Subpart A, establishes 
quality assurance requirements for activities, including providing items or services that affect or 
may affect nuclear safety of DOE nuclear facilities. The Quality Assurance (QA) Rule includes a 
requirement that consensus standards be used to develop and implement QA Programs. Safety 
software is included in the scope of activities covered by the QA Rule. Therefore consensus 
standards should be used for applying QA to safety software activities where practicable and 
consistent with contractual and regulatory requirements. This appendix describes practicable 
standards for safety software QA that may be used to satisfy the QA Rule. 

D.2. REGULATORY AND QA PROGRAM COMPLIANCE 

The ultimate responsibility for complying with the QA Rule, and for selecting standards for 
safety software that falls under the scope of the QA Rule, rests with the nuclear facility 
contractor. Nuclear facility contractors with DOE-approved QA Programs should ensure that any 
changes to their QA Program are made in accordance with the QA Rule and any supplemental 
DOE direction provided through contractual means.

D.3. QA PROGRAM STANDARDS VERSUS SOFTWARE STANDARDS 

Dozens of consensus standards have been developed that address every aspect of software. In the 
broadest sense of QA, all of these standards could be interpreted as “QA standards.” To develop 
a useful report, it is necessary to limit discussion of standards to those that directly support 
compliance with the DOE QA Rule and development of a QA Program that includes safety 
software. There are other documents (e.g., technical reports, agency directives, and industry 
guides) that may be useful as examples for application of the standards, but they are not 
developed through an accredited consensus standards process. 

D.4. STANDARDS USE IN A QA PROGRAM CONTEXT

Many of the standards developed address specific phases of software development rather than a 
QA program that encompasses safety software. In some cases the standards do cover a single 
criterion within the QA program, such as training. Where this type of standard is used, it should 
be in the context of the broader QA program that includes all criteria necessary for effective QA. 
This report will differentiate between QA program standards and standards that address a 
specific criterion. 

D.5. QA PROGRAM AND SOFTWARE QUALITY STANDARD REQUIREMENTS 

Identification of QA program standards for safety software should consider the following:

*	compatibility with the DOE QA Rule;
*	relevance to nuclear facility safety;
*	applicability to software developed in-house, purchased, or modified;
*	applicable to the entire software life-cycle; and
*	inclusion of commonly accepted work activities for software QA.

D.6. NATIONAL STANDARD FOR NUCLEAR FACILITY  

QUALITY AND SOFTWARE 

The most comprehensive nuclear QA program standard for application to safety software is the 
American Society of Mechanical Engineers ASME NQA-1-2000, Quality Assurance Program 
for Nuclear Facilities. Appendix C of this Guide includes SQA requirements that are compatible 
with the DOE QA Rule, can be integrated/supplemented with other standards, and is directly 
applicable to safety software. Most importantly, ASME NQA-1-2000 expands upon the DOE 
QA program requirements to specifically address requirements for software quality, thus, placing 
safety software quality in the context of the overall QA program. These specific software quality 
requirements are discussed in—

*	ASME NQA-1, Part I, Requirement 3, Section 800, Design Control; 
*	Part II, Subpart 2.7, Quality Assurance Requirements for Computer Software for Nuclear 
	Facility Applications; and 
*	Part IV, Subpart 4.1, Guide on Quality Assurance Requirements for Software.

ASME NQA-1-2000 with Subpart 2.7 is also a practicable choice for implementing the DOE QA 
Rule for safety software because it—

*	is easily supplemented with other IAEA, IEC, and IEEE standards;
*	provides independence for development and verification;
*	supports graded implementation;
*	is widely used among DOE contractor QA programs; and
*	is accredited as the American National Standard for nuclear application.

Table C-1 in Appendix C of this Guide describes how ASME NQA-1-2000 aligns with DOE QA 
criterion and includes other standards that further expand the content of ASME NQA-1 
requirements for safety software. 

Institute of Electrical and Electronic Engineers (IEEE) Std 7-4.3.2-2003 , Criteria for Digital 
Computers in Safety Systems for Nuclear Power Generating Stations, describes computer 
specific requirements addressing firmware, software, and hardware alike for the development 
process in an integrated approach. This standard recommends a minimum set of functional and 
design requirements for computer components of a safety system employed in nuclear power 
generating stations. Additionally IEEE Std 1228, Standard for Software Safety Plans provides 
requirements for the development of a management plan and performance of safety software 
activities.

American Nuclear Society (ANS) standard, ANSI/ANS-10.4-1987  is supplemental to the IEEE 
Std 7-4.3.2-2003 since it targets activities to improve the reliability of scientific and engineering 
computer applications while mitigating the risk of incorrect applications. Additionally IEEE has 
a complete series of software and systems engineering standards to provide detail requirements 
and guidance for the development of safety software.

D.7. INTERNATIONAL STANDARDS FOR QUALITY AND SOFTWARE

D.7.1 INTERNATIONAL ATOMIC ENERGY AGENCY (IAEA)

The responsibility for international standards for nuclear safety is assigned to the International 
Atomic Energy Agency (IAEA). The IAEA has a significant number of standards, guides, and 
requirements for all aspects of nuclear facility safety, including software. The requirements and 
guidance for nuclear facility quality are addressed in a 1996 Safety Series “Code” No. 50-C-Q, 
Quality Assurance for Safety in Nuclear Power Plants and other Nuclear Installations, and 
Safety Guides 50-SG-Q1–Q14, respectively. The IAEA Code quality requirements closely 
parallel the DOE QA Rule. 

IAEA safety software guidance is detailed in Technical Reports (TR) Series No. 397, Quality 
Assurance for Software Important to Safety. This TR provides information and guidance for 
defining and implementing QA programs covering the entire life-cycle of software important to 
safety. TR 397 was developed using a large amount of available information and standards and 
offers implementation guidance that is tied to the QA program requirements found in the IAEA 
Code. The application guides are useful aids for developing QA programs for safety software, 
specifically: 

*	Appendix I, illustration of a graded software quality assurance program; 
*	Appendix III, considerations before acquisition of computerized tools; 
*	Appendix IV, functions of computer program understanding and reverse engineering 
	tools; 
*	Appendix V & VI, general training guideline and proposed outlines for training; 
*	Appendix VII, characteristics of defect prevention process; 
*	Appendix VIII, examples of software development life-cycle models; 
*	Appendix IX, recommendations for design input documentation for monitoring, control, 
	and safety system software; 
*	Appendix X, recommendations for software development plans applicable to monitoring, 
	control, and safety system software; 
*	Appendix XI, recommendations for standards and procedures handbooks applicable to 
	monitoring, control, and safety system software; 
*	Appendix XII, recommendations on the content of software requirements specifications 
	for monitoring, control, and safety system software; 
*	Appendix XIII, recommendations on software design descriptions for monitoring, 
	control, and safety system software; 
*	Appendix XIV, recommendations on design and development documents for design, 
	engineering, and analysis software; 
*	Appendix XV, recommendations on application documents for design, engineering, and 
	analysis software; 
*	Appendix XVI, suggested good coding practices for design, engineering, and analysis 
	software; 
*	Appendix XVII, recommendations on programming of monitoring, control, and safety 
	system software; 
*	Appendix XVIII, discussion of verification and validation methods; 
*	Appendix XIX, recommendations on verification reports and activities for monitoring, 
	control, and safety system software; and
*	Appendix XX, recommendations on commissioning monitoring, control, and safety 
	system software.

TR 397, and IAEA Safety Guide (SG) Series No. NS-G-1.1, Software for Computer Based 
Systems Important to Safety in Nuclear Power Plants, provide expanded information that can be 
fully integrated with the ASME NQA-1-2000 requirements and the DOE QA Rule to produce an 
effective quality program for safety software. Relevant portions of TR 397 are referenced in 
Appendix C of this Guide to illustrate their relationship to the DOE QA Rule criteria and ASME 
NQA-1 requirements.

D.7.2 INTERNATIONAL ELECTROTECHNICAL COMMISSION (IEC)

The IEC is responsible for several software standards in the nuclear power plant arena. These 
standards are referenced in the IAEA TR 397. Those standards include IEC 880 Software for 
Computers in the Safety Systems of Nuclear Power Stations, IEC 987 Programmed Digital 
Computers Important to Safety for Nuclear Power Stations,  IEC 1226 Nuclear Power Plants—
Instrumentation and Control Systems Important for Safety—classification, IEC 61508 Parts 1-7 
Functional Safety of Electrical/Electronic/Programmable Electronic Safety Related Systems and, 
IEC 61511 Parts 1-3 Functional Safety – Safety Instrumented Systems for the Process Industry 
Sector.

The IEC Standard 880  is applicable to Level A highly reliable safety systems of nuclear power 
plants. Like its Canadian counterpart, CE-1001-STD, IEC 880 standard advises various 
approaches to maximize the reliability of the safety systems within a nuclear power plant.
D.7.3 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO)
The International Organization for Standardization (ISO) is responsible for ISO 9001-2000, 
Quality management systems – requirements. The ISO 9001 standard is designed for use 
internally or as a contractual requirement for generic quality systems. ISO 9001 does not 
specifically address computer software. More importantly, ISO is not chartered to develop 
standards for nuclear safety applications (this is the domain of the IAEA) and consequently lacks 
sufficient focus (and rigor) to address DOE nuclear facility hazards. Commercial industries that 
face high hazards and high mission/political risk similar to DOE (e.g., aerospace, telecom, 
chemical) have each issued supplemental requirements to improve on ISO 9001 for application 
to their industry.

Although ISO has a guide for applying a previous version of ISO 9001 (1994) to software 
(ISO 9000-3, ISO Quality management and quality assurance standards—Part 3: Guidelines for 
the application of ISO 9001:1994 to the development, supply, installation and maintenance of 
computer software), this guide is not focused on nuclear safety.

Given that (1) the ISO standards are not developed for nuclear facility applications, (2) the IAEA 
is the internationally chartered standards body for that subject, and (3) the IAEA offers safety 
software quality standards compatible to DOE and ASME NQA-1, ISO should not be considered 
a practicable choice for standards in this subject area. 

D.7.4 ATOMIC ENERGY CANADA LTD (AECL)

The Canadian standard  CE-1001-STD specifically recommends a minimum set of processes for 
the software quality engineering of “safety critical systems used in real-time protective, control, 
and monitoring systems” of Level A applications. This standard recommends particular detailed 
outputs for the software life-cycle processes, but is not prescriptive in how the outputs should be 
obtained. 

D.8. EXAMPLE APPLICATION GUIDES, FEDERAL AGENCY  
REQUIREMENTS AND PROCEDURES 

D.8.1 DEPARTMENT OF DEFENSE (DOD)

The DoD software project requirement is Directive 5000.61 and related guidance. These 
documents address software development, verification, validation, accreditation, maintenance, 
review, and management. The documents also refer to national and industry standards. For 
example, independent review is addressed in the Verification, Validation and Accreditation 
(VV&A) Recommended Practices Guide. The guide also describes methods for assuring software 
using a graded approach depending on whether the software has—

*	been previously accredited based on verification and validation data which is available; 
*	been previously accredited based on historical use; 
*	not been previously accredited, but some verification and validation data available; or
*	not been previously accredited, with little or no verification and validation available.

DoD MIL-STD-882D  Appendix A is particularly useful because it supplies guidance for 
implementing a system safety effort, and the definitions, roles and responsibilities for an 
organization undertaking a new system safety effort. Similarly, the NASA Standard “Software 
Safety NASA Technical Standard”  provides general guidance for a software safety effort.

D.8.2 NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA)

The NASA software document is the NASA 8739.8, Standard for Software Assurance.  Also 
reference NASA STD 8719.13B, Software Safety; and NASA-GB-8719.13 NASA Software 
Safety Guidebook. The NASA standard includes processes to establish and implement 
requirements and procedures, as well as, evaluating software products against requirements 
standards and procedures. 

D.8.3 ENVIRONMENTAL PROTECTION AGENCY (EPA)

The EPA uses at least two standards for software in environmental safety projects. EPA regulates 
the DOE Waste Isolation Pilot Project (WIPP) using 40 CFR 194. The 40 CFR 194 Rule and the 
WIPP QA program requirements influence many other waste generation sites across the DOE 
complex. The regulation adopts ASME NQA-1, 1989, and NQA-2A-1990 Part 2.7. EPA also 
contracts for cleanup of certain Superfund sites. For these projects EPA has used the national 
standard Quality Systems for Environmental Data and Technology Programs - Requirements 
with Guidance for Use, ANSI/ASQC E4-1994. This standard is currently undergoing revision 
and includes requirements for software quality that parallel ASME NQA-1-2000. The standard 
also parallels the DOE QA Rule criterion.

D.8.4 DOE PROGRAM REQUIREMENTS AND PROCEDURES 

The Department and its contractors have a variety of program requirement documents and 
implementing procedures for safety software in use for nuclear facilities. However, the Yucca 
Mountain Project’s quality assurance requirements document (QARD) DOE/RW-0333P has 
been evaluated by an external regulatory body and found acceptable. The QARD and software 
quality supplements describe a rigorous graded approach to safety software suitable for review 
by other DOE organizations for use in developing their QA programs for safety software. 

D.9. PRACTICABLE STANDARDS FOR DOE QA RULE IMPLEMENTATION 

D.9.1 QA RULE & STANDARDS ALIGNMENT

The tables in Appendix C describe how ASME NQA-1-2000 aligns with DOE QA criterion. It 
also includes other standards that further expand the content of ASME NQA-1 requirements for 
safety software to address appropriate elements for safety software quality.

D.9.2 STANDARDS LISTING

Appendix G of this Guide contains a listing of standards that may be applied to safety software 
to ensure quality.

D.10. REFERENCES

1.	ASME NQA-1-2000, Quality Assurance Requirements for Nuclear Facility Applications, 
	American Society of Mechanical Engineers, 2001.
2.	10 CFR 830, Nuclear Safety Management. 
3.	10 CFR 63, Disposal of High-Level Radioactive Wastes in A Geologic Repository at 
	Yucca Mountain, Nevada.
4.	DNFSB/TECH-25, Quality Assurance for Safety-Related Software at Department of 
	Energy Defense Nuclear Facilities, Defense Nuclear Facilities Safety Board Technical 
	Report, January 2000.
5.	DNFSB/TECH-31 Engineering Quality into Safety Systems, Defense Nuclear Facilities 
	Safety Board Technical Report, March 2001.
6.	DNFSB Recommendation 2002-1, Quality Assurance for Safety-Related Software, 
	Defense Nuclear Facilities Safety Board, September 2002.
7.	DOE Letter and Report, Quality Assurance for Safety-Related Software at Department of 
	Energy Defense Nuclear Facilities, DOE Response to TECH-25, U.S. Department of 
	Energy, October 2000.
8.	DOE Report, Implementation Plan for Defense Nuclear Facilities Safety Board 
	Recommendation 2002-1: Quality Assurance for Safety Software at Department of 
	Energy Nuclear Facilities, U.S. Department of Energy, March 13, 2003.


APPENDIX E. SAFETY SOFTWARE ANALYSIS AND MANAGEMENT PROCESS
The following diagrams provide a recommended process flow for the analysis and management 
of safety software applications.

APPENDIX F. DOE O 414.1C CRITERIA REVIEW AND APPROACH DOCUMENT
CONTENTS
F.1	INTRODUCTION	F-3
F.2	PURPOSE AND SCOPE	F-3
F.3.	GUIDING PRINCIPLES	F-4
F.4.	ASSESSMENT METHODOLOGY	F-7
F.5.	CRITERIA AND APPROACH	F-7
F.5.1	Software Project Management and Quality planning	F-8
F.5.2	Software Risk Management	F-9
F.5.3	Software Configuration Management	F-10
F.5.4	Software Procurement and Supplier Management	F-11
F.5.5	Software Requirements Identification and Management	F-12
F.5.6	Software Design and Implementation	F-13
F.5.7	Software Safety	F-14
F.5.8	Software Verification and Validation	F-15
F.5.9	Software Problem Reporting and Corrective Action	F-16
F.5.10	Training Personnel in the Design, Development, Use, and  
Evaluation of Safety Software	F-17
F.6.	REPORT FORMAT	F-18

DOE O 414.1C CRITERIA REVIEW AND APPROACH DOCUMENT

F.1 INTRODUCTION

This document contains software qualification assessment criteria and guidelines for assessing 
the safety system software used in Department of Energy (DOE) defense nuclear facilities. 

This document is organized as follows.

*	The Assessment Guidelines section covers the purpose, scope, guiding principles, and 
	assessment methodology for assessing the processes currently in use for ensuring the 
	adequacy of safety software.
*	The Criteria and Approach section presents the objective, criteria, approach, and 
	tailoring for the following work activities: (1) Software Project Management and Quality 
	Planning, (2) Software Risk Management, (3) Software Configuration Management 
	(SCM), (4) Software Procurement and Supplier Management, (5) Software Requirements 
	Identification and Management, (6) Software Design and Implementation, (7) Software 
	Safety, (8) Software Verification and Validation, (9) Software Problem Reporting and 
	Corrective Action, (10) Training of Personnel in the Design, Development, Use, and 
	Evaluation of Safety Software. 
*	The Report Format section provides a suggested report format.
*	The References section lists selected references relevant to software quality assurance 
	(SQA).

F.2 PURPOSE AND SCOPE

The purpose and scope of the criteria review and approach document (CRAD) is to provide a set 
of consistent criteria and guidelines for the assessment of the safety software. The safety 
software includes safety analysis; design of structures, systems, and components (SSCs); human-
machine interface software; network interface software; programmable logic controller (PLC) 
programming language software; and safety management software in DOE defense nuclear 
facilities. DOE O 414.1C includes the definitions for safety software.

The assessment criteria and guidelines ensure that the software being used in DOE’s nuclear 
facilities is adequate. The primary set of baseline SQA criteria for evaluating safety software are 
based on the following:

*	10 CFR 830, Nuclear Safety Management;
*	DOE O 414.1C, Quality Assurance, dated 6-17-05;
*	American Society of Mechanical Engineers (ASME) NQA-1-2000, Quality Assurance 
	Program for Nuclear Facilities; and
*	applicable Institute of Electrical and Electronics Engineers (IEEE) standards.

The CRAD is not intended to be prescriptive enough to evaluate the overall QA program 
associated with the safety software but rather to focus on the safety software application/product. 
Individual sites should tailor the scope of the assessment to suit the specific usage software in 
their safety systems. The CRAD could be used for assessment of the following types of software:

*	custom software developed by DOE, its contractors, or subcontractors for use with safety 
	systems or safety class (SC) SSCs;
*	configurable, such as PLCs;
*	acquired software, including commercial off-the-shelf (COTS) software;
*	utility calculation software, such as spreadsheets and math programs (along with their 
	associated user files), used to perform safety analysis and design calculations; and
*	commercial design and analysis tools, such as proprietary facility design and accident 
	analysis software.

These software types are used in the following safety software applications:

*	safety management and administrative database programs and associated user files to 
	maintain control of information that has nuclear safety implications;
*	instrumentation and control software, including embedded microprocessors, distributed 
	control systems, supervisory control and data acquisition systems, PLCs, and other 
	related software;
*	networking and interface applications;
*	safety accident analysis; and
*	design and analysis of SSCs.

Should an issue arise that casts doubt on the validity of software previously used to support 
design or development, it should be resolved using the unreviewed safety question (USQ) 
determination (USQD) process. Generic USQs will be used to the extent possible to preclude 
multiple facilities’ developing separate USQDs for the same issue.

F.3. GUIDING PRINCIPLES

The following principles should guide the conduct of the assessment. The assessment team 
leader, with assistance from the DOE site manager responsible for these assessments, should 
ensure that these guiding principles are incorporated in the tailoring process for assessing safety 
software applications. 

*	The team should review any previous assessments and reviews of safety software. This 
	review will enable the team to understand previous assessments, software qualification 
	processes, associated requirements and performance criteria, assumptions concerning 
	system operations, and the role of safety software in operations.
*	The team should review any lessons learned from past events associated with software 
	applications and include any additional attributes as appropriate in the assessment plan. 
*	The review of SQA processes for existing safety software should follow the guidance 
	provided in the DOE G 414.1-4 Section 3.3.2 Existing Safety Software Applications. 
*	The physical boundaries of the software within the safety system or subsystem level or 
	portions thereof under review should be agreed upon by DOE, the contractor line 
	management, and the assessment team lead prior to the start of the assessment and should 
	be documented in the assessment report. 
*	Care should be taken to balance the effort invested during the assessment in verifying the 
	SQA processes and their supporting documentation, against the demonstrated effect on 
	improving the software quality and safety, and on eliminating the costly errors that result 
	from misunderstood requirements.
*	The assessment of specific software applications should begin with gaining an 
	understanding of the overall system, and documenting the system safety functions, the 
	performance criteria that the system should meet to successfully accomplish its safety 
	functions, and the role of the software in ensuring that these functions and criteria are 
	met. The potential consequences of failure of the software and the associated effects on 
	system operability should be understood and documented.
*	The facility staff should assist the team in understanding the associated SQA process; 
	provide documented evidence to the team that the appropriate SQA standards were 
	applied to software development, procurement, or use; and provide a staff point of 
	contact for further information. 
*	Procedures and records for software design, implementation, procurement, verification 
	and validation (V&V), testing, and maintenance should be evaluated for adequacy and to 
	determine whether they are appropriate and are being used to verify that software 
	requirements and performance criteria described in the software requirements 
	documentation are satisfied. 
*	If the team identifies a condition that poses an imminent threat to personnel or facility 
	safety, line management should be notified immediately. Team personnel should 
	immediately point out the imminent threat condition to their points of contact or 
	appropriate facility manager and notify the assessment team leader as soon as practical.
*	In some cases it will be necessary to tailor the assessment criteria and guidelines to focus 
	the assessment to address those aspects determined to be appropriate for the assessment 
	scope. The tailoring process is intended to ensure that the assessments are conducted in 
	accordance with the criteria and guidelines that are appropriate and applicable to each 
	specific situation. These assessment criteria and guidelines are intended to be flexible, 
	and may be tailored to allow the most cost-effective use of resources in determining the 
	operational readiness of safety software and its ability to operate safely on a continued 
	basis. The tailoring process may take into account considerations, such as recently 
	completed assessments, evaluations, studies, inspections, and other relevant factors. The 
	assessment criteria and guidelines in this CRAD are provided as a tool for use in 
	developing specific criteria and guidelines. It is recognized that some of the criteria may 
	not apply. This should be noted in the assessment report. For each assessment, the 
	tailoring and its associated rationale should be agreed upon prior to the start of the 
	assessment, and documented in the assessment report.
*	The team should consider the level of modification to the software when evaluating the 
	adequacy of the SQA processes. Acquired software, such as COTS, may not be modified 
	and can be viewed within the system as a “black box.” Custom developed software is 
	completely modifiable and may require additional SQA processes over those of acquired 
	software. Some acquired software can be configured specifically for its application or its 
	source code can be modified to meet application specific requirements. In these instances 
	a higher level of SQA requirements should be expected. However, these requirements 
	may not be as high as custom developed software for the specific application. The 
	grading approach in this Guide assists in this effort.
*	The assessment should consider the effectiveness of SQA processes that are separate 
	from system quality processes. In many instances, especially with acquired software, the 
	separation of software from the system may increase costs but not increase the safe 
	operation of the system.
*	Information for existing software may not be appropriately documented. The team should 
	determine whether any of the documentation, such as a problem statement, requirements 
	specification, design specification, test plan, or test results, is available. In situations 
	where clearly identifiable formal documents do not exist, sufficient information may be 
	contained in the system documentation. 
*	For safety software that is in operations or used in analysis or design for several years, 
	the assessment team should consider using an approach similar to the a posteriori review 
	described in ANS 10.4. This approach takes advantage of available program development 
	products and program staff, as well as, the experience of the users. The purpose of an a 
	posteriori review is to determine if the system produces valid responses. The level of a 
	posteriori review may range from a simple demonstration that the software produces 
	reasonable results for a representative sample of inputs or test cases, to a rigorous 
	verification of program requirements, design, coding, test coverage, and evaluation of test 
	results. The team may consider using documented engineering judgments (including their 
	bases) and test results to extrapolate the available existing information to establish 
	functional and performance capabilities.
*	Using the a posteriori approach for existing software where some documentation does 
	not exist or cannot be found, the assessment may consist primarily of a review of system 
	test procedures, test records, and verification process to ensure the test results are 
	consistent with the software requirements. Documentation of the software requirements is 
	necessary to ensure that future changes to the software are adequately controlled and 
	consistent with system operation as assumed in the facility safety basis. 

F.4. ASSESSMENT METHODOLOGY

The assessment planning is to ensure assessments efficiently address the objectives of the 
assessment. The level of planning will vary depending on scope and complexity of the software 
system being assessed. The guidance for assessment planning is available in other DOE Guides.  
In addition, for safety software assessments, the review team should consider the following 
major activities.

*	The team should prepare the assessment plan using the CRAD, and develop a question 
	set with lines of inquiry and detailed attributes, as appropriate, for site-specific 
	applications. The plan should include qualification requirements for team members, a 
	listing of team members and their biographies, a plan for the preassessment visit, and 
	guidance for preparing the report. 
*	The CRAD is prepared to address safety software, which includes software that performs 
	a safety function as part of an SS and SC system as defined in the facility documented 
	safety analysis (DSA) and technical safety requirements (TSRs). Safety software is an 
	integral part of a safety system. Safety software classification should be consistent with 
	SSC classification unless otherwise justified for case-specific application. The team 
	should use facility-specific DSAs and TSRs for the selection of safety software.
*	The team should review DOE O 414.1C, Quality Assurance, dated 6-17-05; this Guide; 
	NQA-1-2000; and other applicable standards for assistance in developing the lines of 
	inquiry and to determine their appropriateness for the safety software being assessed. 
	Appendix G of this Guide includes additional industry standards and guidelines. 
*	The team should use interview methods, as well as, informal discussions with program 
	developers, users, and sponsors to supplement and complement the documented 
	information.

F.5. CRITERIA AND APPROACH 

The Criteria and Approach section is divided into the following work activities.

1.	Software Project Management and Quality Planning
2.	Software Risk Management 
3.	SCM 
4.	Software Procurement and Supplier Management
5.	Software Requirements Identification and Management
6.	Software Design and Implementation
7.	Software Safety
8.	Software Verification and Validation
9.	Software Problem Reporting and Corrective Action
10.	Training of Personnel in the Design, Development, Use, and Evaluation of Safety 
	Software

Each of these work activities includes the following.

*	Objective: Describes the assessment objective for the work activity and the intended 
	contribution to the adequacy of safety software.
*	Criteria: Suggests characteristics of safety software that should be verified. 
*	Approach: Suggests information needed to guide the team in assessing the quality of the 
	safety software. However, the team may choose to select another approach to meet the 
	assessment-specific needs.

Existing QA or other requirements (e.g. procurement) for software may satisfy some of the 
objectives and criteria for safety software. Previous reviews may also contain information 
relevant to this assessment that can be cited and used in this assessment. In such situations, this 
assessment should be limited to objectives and criteria not covered in previous assessments and 
should not unnecessarily duplicate previous assessments. 

A variety of software engineering methods may exist at DOE sites to meet the applicable SQA 
requirements and work activities. These requirements should be commensurate with the risk 
associated with a software failure. Factors affecting this risk include the potential impact on 
safety or operation, complexity of computer program design, degree of standardization, level of 
customization, state of the art, and comparison with previously proven computer programs.

For each of the ten work activities, the SQA standards and guidance being applied by the 
contractor should be documented in the assessment report along with the assessment team’s 
judgment of their appropriateness for the specific software application, and the effectiveness of 
their implementation.

F.5.1 SOFTWARE PROJECT MANAGEMENT AND QUALITY PLANNING

Objective:

Software project management and quality planning should depict the organizational structure 
that supports the software life-cycle stages and deliverables, and influences and controls the 
quality of the software.

Criteria:

1.	Software project management and quality planning has been implemented depicting 
	organizational structure, responsibilities, and authorities for those managing, performing, 
	and assessing the software projects. 
2.	SQA activities, software practices, and documentation are periodically assessed.
3.	Software quality activities have been effectively implemented.

Approach:

Confirm the existence of project management and QA planning work activity. This may be 
present in software project management and/or SQA plans that exist either as a stand alone 
document or embedded in other documents and related procedures. The software project 
management and software quality planning should identify and/or define the following:

*	software project schedule;
*	software project scope;
*	software engineering activities, including software requirements and design;
*	software V&V activities, including reviews and test;
*	SCM activities;
*	software risk management approach;
*	software safety analysis and planning;
*	supplier control;
*	user and software staff training,
*	standards, practices, conventions, and metrics;
*	records and document collection, maintenance, and retention; and 
*	problem reporting and corrective action methods.

Many of the items listed above may be detailed in other documents, for instance software V&V 
may be detailed in a software V&V plan or in software test plans. It should be noted that this 
work activity addresses the existence that these items are identified and described. Associated 
work activities, such as software V&V address the quality of the software V&V work activity 
being performed as it relates to the grading level.

Determine whether the documents containing the software project management and quality plan 
are controlled under configuration change control and document control process, and are 
maintained until the software is retired. This may overlap with the SCM work activity.
Verify that the software project management and quality plan is reviewed and updated, as 
necessary, for completeness and consistency. This may overlap with the software V&V work 
activity.

F.5.2 SOFTWARE RISK MANAGEMENT 

Objective:

Software risk management is a proactive and disciplined approach to assess and control software 
risks.

Criteria:
1.	Potential software risks are identified as required by the grading level.
2.	Likelihood and consequences of the safety software failure are determined.
3.	Risks are prioritized.
4.	Risk avoidance, mitigation, and/or transfer strategies are created.
5.	Risks are monitored. 

Approach:

Determine the existence of software risk management planning. This may be evident in a 
standalone document or embedded in another document. As applicable, ensure that the risk 
management planning specifies the following:  

*	scope of the risk management activities;
*	risk management policies and process (for both technical and managerial) under which 
	risk management is to be performed are defined;
*	identification of the technical and managerial risks and likelihood and potential safety 
	consequences of using software risk taxonomies as a guide;
*	establishment of risk thresholds for the safety software application; 
*	risk avoidance, mitigation, or transfer options; and
*	management techniques to address risks throughout project life-cycle, including tracking, 
	decision, and feedback points.

F.5.3 SOFTWARE CONFIGURATION MANAGEMENT 

Objective:

Software configuration is defined, maintained, and controlled until the software is retired.

Criteria: 

1.	Software configuration items are identified, baselined and controlled.
2.	A baseline labeling system is established and implemented.
3.	In addition, for Level A or Level B custom developed safety software, periodic 
	configuration audits and reviews are conducted and documented.
4.	Proposed software changes are documented, evaluated, and approved.
5.	Only approved changes are implemented.

Approach:

Review appropriate documents, such as applicable procedures related to safety software change 
control to determine if an SCM process exists and is effective. This determination is made based 
on the following actions.

*	Verify the existence of documented processes to control, uniquely identify, describe, and 
	document the configuration of each version or update of safety software and its related 
	documentation. This documented evidence may be in either SCM plan or embedded in 
	another software or system level document.
*	Verify that a configuration baseline is defined and that it is being adequately controlled. 

This baseline should include operating system components, any associated runtime 
libraries, acquired software executables, custom-developed source code files, users’ 
documentation, the appropriate documents containing software requirements, software 
design, software V&V procedures, test plans and procedures, and any software 
development and quality planning documents.

*	Verify a baseline labeling system has been created that uniquely identifies each 
	configuration item, identifies changes to configuration items by revision, and provides 
	the ability to uniquely identify each configuration.
*	Review procedures governing change management for installing new versions of the 
	software components, including new releases of acquired software.
*	Review software change packages and work packages to ensure that (1) possible impacts 
	of software modifications are evaluated before changes are made, (2) various software 
	system products are examined for consistency and revised as necessary after changes are 
	made and updated, (3) software is tested according to established standards after changes 
	have been made, (4) changes are evaluated and approved for release by the responsible 
	organization, and (5) software validation is performed as necessary to ensure that the 
	change does not adversely affect the performance of the software.
*	Verify by sampling that documentation affected by software changes accurately reflects 
	all safety-related changes that have been made to the software.
*	Interview a sample of cognizant line, engineering, and QA managers, and other personnel 
	to verify their understanding of the change control process and commitment to manage 
	changes affecting design, safety basis, and software changes in a formal, disciplined, and 
	auditable manner.
*	For custom developed safety software, verify audits or reviews, such as functional 
	configuration audit or physical configuration audit, have been performed.

F.5.4 SOFTWARE PROCUREMENT AND SUPPLIER MANAGEMENT 

Objective:

Acquired safety software, either COTS software or custom-developed for DOE, meets the 
appropriate level of QA based on risk, safety, facility life-cycle, complexity, and project quality 
requirements.

Criteria:

1.	Procurement documents identify the technical and quality requirements.
2.	Acquired software meets the technical and quality requirements.
3.	Suppliers’ QA programs meet or exceed the QA requirements specified in the 
	procurement documents.
4.	Procurement documents specify supplier reporting of software defects to the purchaser 
	and the purchaser’s reporting of defects to the supplier.

Approach:

Suppliers of acquired software are evaluated to ensure that the safety software is developed 
under an appropriate QA program and satisfies the specific requirements. The assessment of 
software procurement process should include the following.

*	Determine the existence of safety software technical and QA requirements. These 
	requirements may be embedded in the DOE contractors’ or subcontractors’ procurement 
	document, software or system design description, or SQA plan. If not documented in the 
	procurement contract, ensure that the supplier has received such technical and QA 
	requirements. This verification may overlap with the Software Requirements 
	Management work activity.
*	Verify that the suppliers’ QA program has been reviewed and meets or exceeds the 
	procurement specification requirements. The supplier may review the supplier’s QA 
	program through supplier assessment, supplier self-declaration, third-party certification, 
	or other similar methods.
*	Review evidence that the acquired software was evaluated for the appropriate level of 
	quality. This evidence may be included in the test results, a test summary, supplier site 
	visit reports or supplier QA program assessment reports. This review may overlap with 
	the V&V work activity.
*	Review procurement or other documents between the supplier and purchaser for a 
	documented process to report software defects from the supplier to the purchaser and the 
	purchaser to the supplier. This review may overlap with the Problem Reporting and 
	Corrective Action work activity.

F.5.5 SOFTWARE REQUIREMENTS IDENTIFICATION AND MANAGEMENT 

Objective:

Safety software functions, requirements, and their bases are defined, documented and managed 
throughout the safety software life-cycle.

Criteria:

1.	The software requirements are documented and consistent with the system safety basis.
2.	The functionality, performance, security including user access requirements, interface 
	and safety requirements for the safety software are complete, correct, consistent, clear, 
	testable, and feasible.
3.	The documented software requirements are controlled and maintained. Changes to the 
	software requirements are reflected in any and all documentation.
4.	Each requirement should be uniquely identified and defined such that it can be 
	objectively verified and validated.

Approach:

Review appropriate safety basis documents, such as DSAs, safety analysis reports, TSRs, 
procurement specifications and any system documentation to determine if the safety software 
requirements document is consistent with the safety system design and safety basis. The software 
requirements may exist either as a standalone document, such as a software requirements 
specification, or embedded in other system or software level documents. 

Determine whether the following types of requirements are addressed as appropriate.

*	Verify that the software requirements address functionality, performance, security, safety 
	design inputs, design constraints, installation considerations, operating systems (if 
	applicable), and external interfaces necessary to design the software exist and are 
	documented. 
*	If access to the system by only authorized users is a requirement, verify that use of 
	software is controlled so that only personnel on authorized user lists apply or maintain 
	safety software.
*	Verify that the software requirements are correct, unambiguous, complete, consistent, 
	verifiable, modifiable and traceable as appropriate.
*	Verify that acceptance criteria are established in the software requirements for each of the 
	identified requirements. Such criteria should be used for V&V planning and performance 
	as defined in each related life-cycle phase.
*	Verify that the software requirement documents are controlled under the configuration 
	change control and document control processes. This may overlap with the SCM activity.
*	Verify that software requirement documents are reviewed and updated as necessary. This 
	may overlap with the software V&V work activity.

F.5.6 SOFTWARE DESIGN AND IMPLEMENTATION 

Objective:

The safety software design depicting the logical structure, information flow, logical processing 
steps, data structures and interfaces are defined and documented. The design is properly 
implemented in the safety software.

Criteria:

1.	The design, including interfaces and data structures, is correct, consistent, clearly 
	presented, and feasible.
2.	The design is completely and appropriately implemented in the safety software.
3.	The design requirements are traceable throughout the software life-cycle.

Approach:

Review the appropriate documents, including design documents, review records, and source code 
listings. The design may be documented in a standalone document or embedded in other 
documents. 

*	The software design description should contain the following information.

	—	A description of the major safety components of the software design as they relate to 
		the software requirements, and any interactions with nonsafety components.
	—	A technical description of the software with respect to control flow, control logic, 
		mathematical model, data structure and integrity, and interface.
	—	A description of inputs and outputs including allowable or prescribed ranges for inputs 
		and outputs.
	—	A description of error handling strategies and the use of interrupt protocols. 
	—	The design described in a manner suitable for translating into computer codes.

*	Evidence of reviews of the design and code for the appropriate grading exists. This may 
	overlap with the software V&V work activity.
*	Evidence of developer testing including any independent testing for the appropriate 
	grading exists.

F.5.7 SOFTWARE SAFETY

Objective

The design of the safety software components are developed in a manner that ensures the 
software modules will perform their intended safety function in a consistent manner during 
design bases conditions.

Criteria:

1.	Software systems are analyzed at the component level to ensure adequate safeguards are 
	implemented to eliminate or mitigate the potential occurrence of a software defect that 
	could cause a system failure. 
2.	Safety software is designed with simplicity and isolation of safety functions. 
3.	Where appropriate fault tolerance and self-diagnostics are implemented in the safety 
	software design.

Approach:

*	Review hazard analysis documents to ensure that software component and interface 
	failures are included. This analysis may be part of a software or system level failure 
	modes and effects analysis, fault-tree analysis, event-tree analysis or other similar 
	analysis techniques. 
*	Review how the identified hazards are resolved. Various methods are used for hazards 
	resolutions, such as eliminations, reduction of exposure, and controlling or minimizing 
	the effects of a hazard.
*	Review that the hazard analysis is periodically reassessed throughout the software 
	life-cycle and the changes incorporated as appropriate.
*	For Level A safety software, and optionally for Level B safety software, sample safety 
	software modules for proof of design complexity evaluation and isolation of safety 
	functions from nonsafety functions.
*	For Level A safety software, and optionally for Level B where safety software modules 
	defects could impact the safe operation of the system, evaluate the software design for the 
	implementation of fault tolerant and/or self-diagnostics techniques.

F.5.8 SOFTWARE VERIFICATION AND VALIDATION 

Objective:

The V&V process and related documentation for software are defined and maintained to ensure 
that (1) the software correctly performs all its intended functions; and that (2) the software does 
not perform any adverse unintended function.

Criteria:

1.	Safety software deliverables have been verified, and validated for correct operation using 
	reviews, inspections, assessments, observation, and testing techniques.
2.	Relevant abnormal conditions have been evaluated for mitigating unintended functions 
	through testing, observation, or inspection techniques.
3.	Traceability of safety software requirements to software design and acceptance testing 
	has been performed.
4.	New versions of the safety software are verified and validated to ensure that the safety 
	software meets the requirements and does not perform any unintended functions.
5.	V&V activities are performed by competent staff other than those who developed the 
	item being verified or validated. This may overlap with the training work activity.

Approach:

Review appropriate documents, such as SQA plans, review plans, walkthrough records, peer 
review records, desk check records, inspection reports, test plans, test cases, test reports, system 
qualification plans and reports, and supplier qualification reports to determine whether—

*	management process exists for performing V&V and management and independent 
	technical reviews;
*	reviews and inspections of the software requirement specifications, procurement 
	documents, software design, code modules, test results, training materials, and user 
	documentation have been performed by staff other than those who developed the item;
*	software design was performed prior to the safety software being used in operations;
*	for design V&V—

	—	results of the safety software V&V are documented and controlled;
	—	V&V methods include any one or a combination of design reviews, alternate 
		calculations, and tests performed during program development; and
	—	the extent of V&V methods chosen are a function of (1) the complexity of the 
		software; (2) the degree of standardization; (3) the similarity with previously proved 
		software; and (4) the importance to safety; and

*	for test V&V—
	—	documentation for development, factory or acceptance testing, installation, and 
		operations testing exists;
	—	documentation includes test guidelines, test procedures, test cases including test data, 
		and expected results;
	—	results documentation demonstrates successful completion of all test cases or the 
		resolution of unsuccessful test cases and proves direct traceability between the test 
		results and specified software design;
	—	test V&V activities and their relationship with the software life-cycle are defined;
	—	software requirements and system requirements are satisfied by the execution of 
		integration, system and acceptance testing;
	—	acceptable methods for evaluating the software test case results include (1) analysis 
		without computer assistance, (2) other validated computer programs, (3) experiments 
		and test, (4) standard problems with known solutions, and (5) confirmed published 
		data and correlations;
	—	traceability exists from software requirements to design and testing, and if appropriate, 
		to user documentation; and
	—	hardware and software configurations pertaining to the test V&V are specified.

F.5.9 SOFTWARE PROBLEM REPORTING AND CORRECTIVE ACTION 

Objective:

Formal procedure for software problem reporting, and corrective action for safety software errors 
and failures are established, maintained, and controlled.

Criteria:

1.	Documented practices and procedures for reporting, tracking, and resolving problems or 
	issues are defined and implemented.
2.	An evaluation process exists for determining if the reported problem is a safety software 
	defect, error, or something else.
3.	Organizational responsibilities for reporting issues, approving changes, and implementing 
	corrective actions are identified and found to be effective.
4.	For safety software defects and errors, the defect or error is correlated with the 
	appropriate software engineering elements, identified for potential impact, and all users 
	are notified.
5.	For acquired safety software, procurement documents identify the requirements to both 
	the supplier and purchaser to report problems to each other.

Approach:

Review documents and interview facility staff for the problem reporting and notification process 
to determine whether—

*	a formal procedure exists for software problem reporting and corrective action 
	development that addresses software errors, failures, and resolutions;
*	problems that impact the operation of the software are promptly reported to affected 
	organizations;
*	corrections and changes are evaluated for impact and approved prior to being 
	implemented;
*	corrections and changes are verified for correct operation and to ensure that no side 
	effects were introduced;
*	preventive measures and corrective actions are provided to affected organizations in a 
	timely manner; and
*	the organizations responsible for problem reporting and resolution are clearly defined. 

F.5.10 TRAINING PERSONNEL IN THE DESIGN, DEVELOPMENT, USE, AND 
EVALUATION OF SAFETY SOFTWARE

Objective:

Personnel are trained/qualified and capable of performing assigned work. Continuing training to 
personnel to maintain job proficiency is provided.

Criteria:

1.	A training or indoctrination program exists for each of the following personnel 
	assignments:

	—	safety software analysis, 
	—	software development (concept to retirement),
	—	operations and use, and
	—	assessment or evaluation of safety software.
2.	The training/indoctrination provides for continuing education and training to improve 
	their performance and proficiency.
3.	Training/indoctrination is commensurate with the scope, complexity, and importance of 
	the tasks and the education, experience, and proficiency of the person.

Approach: 

*	Review training records or other documentation and conduct interviews to confirm a 
	training or indoctrination program exists for each of the personnel assignments listed 
	above.
*	Verify the training program provides for continuing education.
*	Verify the training program is adequate and appropriate for the scope, complexity, and 
	importance of the task being performed.

F.6. REPORT FORMAT

The report is intended for cognizant facility managers and DOE line management, and should 
include the sections described below. The report should conform to security requirements, 
undergo classification review if needed, and should not contain classified information or 
Unclassified Controlled Nuclear Information.

1.	Title Page (Cover). The cover and title page state the name of the site, facilities assessed, 
	and dates of assessments. 
2.	Signature Page. All team members, signifying their agreement as to the report content 
	and conclusions reached in the areas to which they were assigned, should sign a signature 
	page. In the event all team member signatures cannot be obtained due to logistical 
	considerations, the assessment team leader should obtain members’ concurrence and sign 
	for them.
3.	Table of Contents. The table of contents should identify all sections and subsections of 
	the report, illustrations, charts, and appendices.
4.	Acronyms. Include a list of acronyms used in the assessment report.
5.	Executive Summary. The executive summary should provide an overview of the 
	assessment scope, any tailoring, and assessment results.
6.	Introduction. The introduction should provide information and background regarding 
	the site, facility, system, team composition, methodology, and any definitions applicable 
	to the review.
7.	Tailoring. Identify any tailoring of the criteria and guidelines provided in this CRAD. 
	State the basis for the tailoring.
8.	Assessment Results. State whether the assessment criteria are satisfied and describe any 
	exceptions. Summarize opportunities for improvement and include a qualitative 
	conclusion regarding the ability of the system to perform its safety functions in its current 
	condition and to remain reliable over its life-cycle. Recommended actions may also be 
	included. Note any work activities that were not assessed and any limitations to the 
	qualitative conclusion. A detailed discussion of results in each work activity that was 
	assessed should be included as a separate attachment or appendix.
9.	Lessons Learned. Identify lessons learned that may be applied to future reviews. 
10.	Detailed Results. In each work activity assessed, include sufficient detail to enable a 
	knowledgeable individual to understand the results. The suggested format for this section 
	is as follows.

*	Is the criterion met? [Yes/No]
*	How the review was conducted (include lists of documents reviewed, including 
	any system software documentation and QA, and titles of persons interviewed).
*	System operability issues or concerns.
*	Opportunities for improvement.
*	Recommended changes to criteria and guidance.

11.	Documents and References. Title, number, revision, and issue dates.
12.	Assessment Data. Attach assessment records, including lines of inquiry, pertinent 
	assessor notes, and other relevant work papers.
13.	Biographies of Team Members. Include brief biographies of all assessment team 
	members.

APPENDIX G. REFERENCES

The following referenced documents were used in developing the information contained in this 
Guide. Some of these documents, such as DOE Orders and the quality assurance Rule, may be 
obtained through the online DOE Directives, Regulations, and Standards Web site: 
http://www.directives.doe.gov. Other documents, such as the American Society of Mechanical 
Engineers(ASME), American Society for Quality, and International Electrotechnical 
Commission (IEC) standards and guidance documents may be purchased or obtained from the 
sponsoring organizations.

1.	10 CFR 50, Appendix B, Quality Assurance Criteria for Nuclear Power Plants and Fuel 
	Reprocessing Plants.
2.	10 CFR 63, Disposal of High-Level Radioactive Wastes in a Geologic Repository at 
	Yucca Mountain, Nevada.
3.	10 CFR 830, Nuclear Safety Management. 
4.	10 CFR 70, Domestic Licensing of Special Nuclear Material.
5.	American National Standards Institute (ANSI)/American Nuclear Society (ANS) 
	10.4-1987 (R1998), Guidelines for the Verification and Validation of Scientific and 
	Engineering Computer Programs for the Nuclear Industry, American Nuclear Society, 
	1998.
6.	ANSI/American Society for Quality Control E4-1994, Specifications and Guidelines for 
	Quality Systems for Environmental Data Collection and Environmental Technology 
	Programs—Requirements with Guidance for Use, American Nuclear Society, 1994.
7.	American Society of Mechanical Engineers (ASME), Re: Comments on the Benefits of 
	National Nuclear Quality Assurance Standards for NNSA and DOE Nuclear Activities 
	and Oversight, Letter to Linton F. Brooks, NNSA (2002).
8.	ASME NQA-1-1997, Quality Assurance Requirements for Nuclear Facility Applications, 
	American Society of Mechanical Engineers, 1997.
9.	ASME NQA-1-2000, Quality Assurance Program for Nuclear Facilities, American 
	Society of Mechanical Engineers, 2001.
10.	ASME NQA-1A-1999, Addenda to ASME NQA-1-1997, Quality Assurance 
	Requirements for Nuclear Facility Applications, American Society of Mechanical 
	Engineers, 1999.
11.	CE-1001-STD-Rev.2, Standard for Software Engineering of Safety Critical Software, 
	CANDU Computer Systems Engineering Centre for Excellence, Atomic Energy of 
	Canada, Ltd., and Ontario Power Generation, Inc., 1999.
12.	Christensen, Mark J., and Richard H. Thayer, The Project Manager’s Guide to Software 
	Engineering’s Best Practices, Institute of Electrical and Electronics Engineers (IEEE) 
	Computer Society Press, 2001.
13.	Capability Maturity Model Integration (CMMI) Product Team, Capability Maturity 
	Model Integration, Version 1.1, CMMI for Systems Engineering, Software Engineering, 
	Integrated Process Development, and Supplier Sourcing (CMMI-SE/SW/IPPD/SS, V1.1), 
	Continuous Representation, CMU/SEI-2002-TR-011, ESC-TR-2002-011,Carnegie 
	Mellon University (CMU) Software Engineering Institute (SEI), 2002.
14.	CMMI Product Team, Capability Maturity Model Integration, Version 1.1, CMMI for 
	Software Engineering (CMMI-SW, V1.1), Staged Representation, CMU/SEI-2002-
	TR-029, ESC-TR-2002-029, CMU SEI, 2002.
15.	Defense Nuclear Facilities Safety Board (DNFSB) Recommendation 2002-1, Quality 
	Assurance for Safety-Related Software, Defense Nuclear Facilities Safety Board, 
	September 2002.
16.	DNFSB/TECH-25, Quality Assurance for Safety-Related Software at Department of 
	Energy Defense Nuclear Facilities, Defense Nuclear Facilities Safety Board Technical 
	Report, January 2000.
17.	DNFSB/TECH-31 Engineering Quality into Safety Systems, Defense Nuclear Facilities 
	Safety Board Technical Report, March 2001.
18.	Department of Defense (DoD) Instruction 5000.61, DoD Modeling and Simulation 
	(M&S) Verification, Validation, and Accreditation (VV&A), U.S. Department of 
	Defense, dated 5-13-03.
19.	DoD MIL-STD-882D, Standard Practice for System Safety, U.S. Department of Defense, 
	dated 2-10-2000.
20.	Department of Energy (DOE), Office of Environment, Safety and Health, Designation of 
	Initial Safety Analysis Toolbox Codes, Memorandum to Linton Brooks, Defense 
	Programs and Jessie Hill Roberson, Office of Environmental Management, March 28, 
	2003.
21.	DOE Letter and Report, Quality Assurance for Safety-Related Software at Department of 
	Energy Defense Nuclear Facilities, DOE Response to TECH-25, U.S. Department of 
	Energy, October 2000.
22.	DOE G 414.1-1A, Management Assessment and Independent Assessment Guide for Use 
	with 10 CFR, Part 830, Subpart A, and DOE O 414.1A, Quality Assurance; DOE P 
	450.4, Safety Management System Policy; and DOE P 450.5, Line ES&H Oversight 
	Policy, dated 5-31-01.
23.	DOE G 414.1-2, Quality Assurance Management System Guide for use with 
	10 CFR 830.120 and DOE O 414.1, dated 6-17-99.
24.	DOE G 420.1-1, Nonreactor Nuclear Safety Design Criteria and Explosives Safety 
	Criteria Guide for use with DOE O 420.1, Facility Safety, dated 3-28-00.
25.	DOE O 414.1B, Quality Assurance, dated 4-29-04.
26.	DOE O 414.1C, Quality Assurance, dated 6-17-05.
27.	DOE, Framework for Grading Safety Software for DOE Directive, Work Paper, U.S. 
	Department of Energy, dated 4-22-04.
28.	DOE-RW-0333P, Quality Assurance Requirements and Description, Office of Civilian 
	Radioactive Waste Management Program, dated 8-23-04.
29.	DOE-STD-1172-2003, Safety Software Quality Assurance Functional Area Qualification 
	Standard, dated 12-03.
30.	DOE-STD-3009-94, Preparation Guide for U.S. Department of Energy Nonreactor 
	Nuclear Facility Documented Safety Analyses, dated 7-94.
31.	Herrmann, Debra S., Software Safety and Reliability: Techniques, Approaches, and 
	Standards of Key Industrial Sectors, IEEE Computer Society, 2000.
32.	International Atomic Energy Agency (IAEA) Safety Guide (SG) Series No. NS-G-1.1, 
	Software for Computer Based Systems Important to Safety in Nuclear Power Plants, 
	IAEA, 2000.
33.	IAEA Safety Series No. 50-C/SG-Q, Quality Assurance for Safety in Nuclear Power 
	Plants and other Nuclear Installations, Code and Safety Guides Q1–Q14, IAEA, 1996.
34.	IAEA Technical Reports Series No. 397, Quality Assurance for Software Important to 
	Safety, IAEA, 2000.
35.	IEC 61508 Parts 1–7, Functional Safety of Electrical/Electronic/Programmable 
	Electronic Safety-Related Systems, IEC, 1998.
36.	IEC 61511 Parts 1–3, Functional Safety—Safety Instrumented Systems for the Process 
	Industry Sector, IEC, 2003.
37.	IEC 880, Software for Computers in the Safety Systems of Nuclear Power Stations, IEC, 
	1986.
38.	IEEE Std 730-2002, Standard for Software Quality Assurance Plans, IEEE, 2002.
39.	IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans, 
	IEEE, 1998.
40.	IEEE Std 1008-1987(R1993), Software Unit Testing, IEEE, 1993.
41.	IEEE Std 1012-1998, IEEE Standard for Software Verification and Validation, IEEE, 
	1998.
42.	IEEE Std 1012a-1998, IEEE Standard for Software Verification and Validation—
	Supplement to 1012, IEEE, 1998.
43.	IEEE Std 1028-1997, IEEE Standard for Software Reviews, IEEE, 1997.
44.	IEEE Std 1042-1987, IEEE Guide to Software Configuration Management, Section 3.3.4, 
	“Audits and Reviews,” IEEE, 1987.
45.	IEEE Std 1058-1998, IEEE Standard for Software Project Management Plans, IEEE, 
	1998.
46.	IEEE Std 1063-1987(R1993), IEEE Standard for Software User Documentation, IEEE 
	1993.
47.	IEEE Std 1219-1993, Standard for Software Maintenance, IEEE, 1993.
48.	IEEE Std 1228-1994, IEEE Standard for Software Safety Plans, IEEE, 1994.
49.	IEEE Std 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology, 
	IEEE, 1990.
50.	IEEE Std 730-2002, IEEE Standard for Software Quality Assurance Plans, IEEE, 2002.
51.	IEEE Std 7-4.3.2-2003, IEEE Standard Criteria for Digital Computers in Safety Systems 
	of Nuclear Power Generating Stations, IEEE, 2003.
52.	IEEE Std 829-1998, IEEE Standard for Software Test Documentation, IEEE, 1998.
53.	IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications, 
	IEEE,1998.
54.	IEEE Std 982.1-1998, IEEE Standard Dictionary Of Measures To Produce Reliable 
	Software, IEEE, 1998.
55.	IEEE Std 982.2-1988, IEEE Guide For The Use Of IEEE Standard Dictionary Of 
	Measures To Produce Reliable Software, IEEE, 1988.
56.	IEEE/EIA Std 12207.0-1996, Industry Implementation of International Standard 
	ISO/IEC 12207: 1995:  Information Technology—Software Life Cycle Processes, IEEE 
	and the Electronic Industries Alliance (EIA), 1996.
57.	IEEE/EIA Std 12207.1-1997, Industry Implementation of International Standard 
	ISO/IEC 12207: 1995: Information Technology—Software Life Cycle Processes—Life 
	Cycle Data, IEEE and EIA, 1997.
58.	IEEE/EIA Std 12207.2-1997, Industry Implementation of International Standard 
	ISO/IEC 12207: 1995: Information Technology—Software Life Cycle Processes—
	Implementation Considerations, IEEE and EIA, 1998.
59.	IP 2000-2, Implementation Plan for Defense Nuclear Facilities Safety Board 
	Recommendation 2000-2, Configuration Management, Vital Safety Systems, dated 
	10-31-00.
60.	IP 2002-1, Implementation Plan for Defense Nuclear Facilities Safety Board 
	Recommendation 2002-1, Quality Assurance for Safety-Related Software at Department 
	of Energy Defense Nuclear Facilities, dated 3-13-03.
61.	International Organization for Standardization (ISO) 9000-3, ISO Quality Management 
	and Quality Assurance Standards—Part 3: Guidelines for the Application of ISO
	9001:1994 to the Development, Supply, Installation and Maintenance of Computer 
	Software, ISO, 1997.
62.	ISO 9001-1994, Quality Systems—Model for Quality Assurance in Design, Development, 
	Production, Installation and Servicing, ISO, 1994.
63.	ISO 9001-2000, Quality Management Systems—Requirements, ISO, 2000.
64.	ISO/IEEE Standard 16085, IEEE Standard for Software Engineering: Software Life 
	Cycle Processes, Risk Management, IEEE, 2004.
65.	Leveson, Nancy, Safeware: System Safety and Computers, Addison Wesley, 1995.
66.	National Aeronautics and Space Administration (NASA) NASA-STD-2201-93, Software 
	Assurance Standard, NASA, 1992.
67.	NASA-STD-8719.13A, Software Safety, NASA, 1997.
68.	Pressman, Roger S., Software Engineering: A Practitioner’s Approach, McGraw Hill, 
	1992.
69.	Society of Automotive Engineers (SAE), SAE JA1003, Software Reliability Program 
	Implementation Guide, SAE, 2004.
70.	Sparkman, Debra, Techniques, Processes, and Measures for Software Safety and 
	Reliability, Lawrence Livermore National Laboratory, UCRL-ID 108725, 1992.
71.	SQAS21.01.00-1999 (Reference Document), Software Risk Management: A Practical 
	Guide, Department of Energy Quality Managers Software Quality Assurance 
	Subcommittee, February 2000.  

FOOTNOTES CAN BE FOUND IN THE PDF FILE.

  DOE G 414.1-2, Quality Assurance Management System Guide for use with 10 CFR 830.120 and DOE O 414.1, 
dated 6-17-99. 
  See Appendix G for list of consensus standards.
  Verification and validation in this Guide includes ASME’s NQA-1 terms design verification and acceptance 
testing.
  Per 10 CFR 830, quality assurance requirements apply to all DOE nuclear facilities including radiological facilities 
(see 10 CFR 830, DOE Std 1120, and the DEAR clause).
  ASME NQA-1-2000, Quality Assurance Requirements for Nuclear Facility Applications, Subpart 2.7 Section 300, 
American Society of Mechanical Engineers, New York, New York, 2001, p. 105.
  ASME NQA-1-2000, op.cit., Part 4, Subpart 4.1, Section 101.1, p. 227. 
  Leveson, Nancy, Safeware: System Safety and Computers, Addison Wesley, 1995.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 302, p. 105.
  American National Standards Institute (ANSI)/American Nuclear Society (ANS) 10.4-1987 (R1998), Guidelines 
for the Verification and Validation of Scientific and Engineering Computer Programs for the Nuclear Industry, 
ANS, 1998, Section 11, pp. 29–32.
  Lord Kelvin ( Sir William Thomson, 1824–1907)
  ASME NQA-1-2000, op.cit., Part I.
  Leveson, op. cit., p. 398.
  Capability Maturity Model Integration (CMMI) Product Team, Capability Maturity Model Integration, Version 
1.1, CMMI for Software Engineering (CMMI-SW, V1.1), Staged Representation, CMU/SEI-2002-TR-029, 
ESC-TR-2002-029, Carnegie Mellon University, Software Engineering Institute, 2002.
  Institute of Electrical and Electronic Engineers (IEEE), Std 1058-1998, IEEE Standard for Software Project 
Management Plans, IEEE, 1998.
  IEEE Std 730-2002, IEEE Standard for Software Quality Assurance Plans, IEEE, 2002.
  SQAS21.01.00-1999 (Reference Document), Software Risk Management: A Practical Guide, Department of 
Energy Quality Managers Software Quality Assurance Subcommittee, dated 2-2000.
  Christensen, Mark J., and Richard H. Thayer,  The Project Manager’s Guide to Software Engineering’s Best 
Practices, Institute of Electrical and Electronics Engineers Computer Society Press, 2001, pp. 417–447.
  Society of Automotive Engineers (SAE) JA1003, Software Reliability Program Implementation Guide, SAE 
2004, Appendix C4.6.
  International Organization for Standardization (ISO)/Institute of Electrical and Electronics Engineers (IEEE) 
Std 16085, IEEE Standard for Software Engineering: Software Life Cycle Processes—Risk Management, IEEE, 
2004.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 203, p. 105.
  IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans, IEEE, 1998, Section 4.3.
  ASME NQA-1-2000, op. cit., Part I, Section 802, p. 16. 
  IEEE Std 7-4.3.2-2003, IEEE Standard Criteria for Digital Computers in Safety Systems of Nuclear Power 
Generating Stations, IEEE, 2003, Section 5.3.5.
  Institute of Electrical and Electronics Engineers (IEEE) 1042-1987, IEEE Guide to Software Configuration 
Management, IEEE, 1987, Section 3.3.4.
  ASME NQA-1-2000, op. cit., Part I, Requirement 4, Section 202, p. 18. 
  ASME NQA-1-2000, op. cit., Part I, Requirement 4, Section 100, p.18. 
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 301, p. 105. 
  Institute of Electrical and Electronics Engineers (IEEE) Std 830-1998, IEEE Recommended Practice for Software 
Requirements Specifications, IEEE, 1998, Section 4.3.
  ASME NQA-1-2000, op. cit., Part II,  Subpart 2.7, Section 405, p. 106.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 401, p. 106.
  ASME NQA-1-2000, op. cit., Part I Introduction, and Section 801.2, p. 16.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 402, p. 106.
  ASME NQA-1-2000, op. cit., Part I Introduction and Section 801.2, p. 16.
  Pressman, Roger S., Software Engineering: A Practitioner’s Approach, McGraw Hill, 1992, pp. 595–629.
  Sparkman, Debra, Techniques, Processes, and Measures for Software Safety and Reliability, Lawrence Livermore 
National Laboratory, UCRL-ID 108725, 1992.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 402, p. 106.
  Leveson, op. cit., pp. 400–412. 
  IEEE Std. 7-4.3.2-2003, op. cit., Section 5.6, p. 13.
  Sparkman, op. cit.
  SAE JA1003, op. cit., Appendix C.
  IEEE Std 7-4.3.2-2003, op. cit., Section 5.5.3, p. 13.
  ASME NQA-1-2000, op. cit., Part I, Requirement 3, Section 801.1, p. 16.
  ASME NQA-1-2000, op. cit., Part I, Requirement 4, Section 300, p. 18.
  ASME NQA-1-2000, op. cit, Part II, Subpart 2.7, Section 402.1, p. 106.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 402.1, p. 106.
  ASME NQA-1-2000, op. cit., Part I, Requirement 11, Section 400, p. 29.
  ASME NQA-1-2000, op. cit., Part I, Requirement 11, Section 200, p. 29.
  ASME NQA-1-2000, op. cit., Part I, Requirement 11, Section 400, p. 30.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 404, p. 106.
  ASME NQA-1-2000, op. cit., Section 101.1, Subpart 4.1.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 204, p. 105.
  ASME NQA-1-2000, op. cit., Part II, Subpart 2.7, Section 301, p. 105.
  ASME NQA-1-2000, op. cit., Part IV, Subpart 4.1, Section 204, p. 229.
  ASME NQA-1-2000, op. cit., Part I, Requirement 2, Section 200, p. 10.
  DOE-STD-1172-2003, Safety Software Quality Assurance Functional Area Qualification Standard, dated 12-03.
  Per 10 CFR 830, quality assurance requirements apply to all DOE nuclear facilities including radiological facilities 
(see 10 CFR 830, DOE Std 1120, and the DEAR clause).
  DOE O 414.1C, Quality Assurance, dated 6-17-05.
  U.S. Department of Energy, Implementation Plan for Defense Nuclear Facilities Safety Board Recommendation 
2002-1: Quality Assurance for Safety Software at Department of Energy Nuclear Facilities, Report, dated 3-13-03.
  U.S. Department of Energy, Software Quality Assurance Plan and Criteria for the Safety Analysis Toolbox Codes, 
Revision 1, dated 11-03.
  If previous reviews are used in whole or in part, it is required to confirm that the older review results are still 
applicable.
  IEEE Std 7-4.3.2-2003, IEEE Standard Criteria for Digital Computers in Safety Systems of Nuclear Power 
Generating Stations, Institute of Electrical and Electronic Engineers, 2003.
  American National Standards Institute (ANSI)/American Nuclear Society (ANS) 10.4-1987 (R1998), Guidelines 
for the Verification and Validation of Scientific and Engineering Computer Programs for the Nuclear Industry, 
ANS, 1998.
  IEC 880, Software for Computers in the Safety Systems of Nuclear Power Stations, International Electrotechnical 
Commission, 1986.
  CE-1001-STD, Rev. 2, Standard for Software Engineering of Safety Critical Software, CANDU Computer 
Systems Engineering Centre for Excellence, Atomic Energy of Canada Ltd. and Ontario Power Generation, Inc., 
1999.
  Herrmann, Debra S., Software Safety and Reliability: Techniques, Approaches, and Standards of Key Industrial 
Sectors, IEEE Computer Society, 2000.
  DoD MIL-STD-882D, Standard Practice for System Safety, U.S. Department of Defense, dated 2-10-00.
  NASA-STD-8719.13A, Software Safety, National Aeronautics and Space Administration, 1997.
  DOE G 414.1-1A, Management Assessment and Independent Assessment Guide for Use with 10 CFR, Part 830, 
Subpart A, and DOE O 414.1A, Quality Assurance; DOE P 450.4, Safety Management System Policy; and DOE 
P 450.5, Line ES&H Oversight Policy, dated 5-31-01.