(a) Identification of computing system safety items. An operator must identify:
(1) Any software or data that implements a capability that, by intended operation, unintended operation, or non-operation, can present a hazard to the public; and
(2) The level of criticality of each computing system safety item identified in paragraph (a)(1) of this section, commensurate with its degree of control over hazards to the public and the severity of those hazards.
(b) Safety requirements. An operator must develop safety requirements for each computing system safety item. In doing so, the operator must:
(1) Identify and evaluate safety requirements for each computing system safety item;
(2) Ensure the safety requirements are complete and correct;
(3) Implement each safety requirement; and
(4) Verify and validate the implementation of each safety requirement by using a method appropriate for the level of criticality of the computing system safety item. For each computing system safety item that is safety critical under § 401.7, verification and validation must include testing by a test team independent of the development division or organization.
(c) Development process. An operator must implement and document a development process for computing system safety items appropriate for the level of criticality of the computing system safety item. A development process must define:
(1) Responsibilities for each task associated with a computing system safety item;
(2) Processes for internal review and approval - including review that evaluates the implementation of all safety requirements - such that no person approves that person's own work;
(3) Processes to ensure development personnel are trained, qualified, and capable of performing their role;
(4) Processes that trace requirements to verification and validation evidence;
(5) Processes for configuration management that specify the content of each released version of a computing system safety item;
(6) Processes for testing that verify and validate all safety requirements to the extent required by paragraph (b)(4) of this section;
(7) Reuse policies that verify and validate the safety requirements for reused computing system safety items; and
(8) Third-party product use policies that verify and validate the safety requirements for any third-party product.
(d) Application requirements. An applicant must:
(1) Identify and describe all computing system safety items involved in the proposed operations;
(2) Provide the safety requirements for each computing system safety item;
(3) Provide documentation of the development processes that meets paragraph (c) of this section;
(4) Provide evidence of the execution of the appropriate development process for each computing system safety item; and
(5) Provide evidence of the implementation of each safety requirement.