Document: NUREG-0800
Document ID: 9a64419a-34ff-49d2-87dd-c6f10c12014f
Document Type: srp
Title: or 7.3 of the SAR.
Source: NUREG-0800
Source URL: https://www.nrc.gov/docs/ML0525/ML052500501.pdf
Revision Date: 2023-06
Chapter: 7
Section ID: 7.2
CFR Part: 
CFR Title: 

Content:
quirements Memorandum on SECY-93-087. BTP HICB-19 describes acceptable means for complying with this position. 8. Use of emerging software methods — Software engineering is a maturing field. Certain techniques that are still under development may be proposed by applicant/licensees. Two general areas of emerging methods are formal methods and the use of non-procedural languages. There may be other methods that should be considered. Proposal of such techniques for development of systems or components important to safety, or the use of commercial items using such techniques in systems important to safety, will require careful consideration by the reviewer. a. Formal methods — Formal methods are approaches based on the use of mathematical techniques and notations for describing and analyzing properties of software systems. Descriptions of the system are written using notations based on mathematical expressions rather than a natural language such as English. This allows formal proof that the specification has certain properties such as completeness and internal consistency. Formal methods, knowledgeably applied, can improve the software development process. Therefore, the Staff encourages the informed use of formal methods as part of a applicant/licensee's software engineering process. The Staff, however, neither requires the use of formal methods nor will allow the use of formal methods to replace compliance with the fundamental acceptance criteria described in items 1 through 7 above. Section C.3.7 of Appendix 7.0-A discusses in more detail the use of formal and semiformal languages for describing software requirements and design. b. Non-procedural languages — Non-procedural software techniques include expert systems, neural networks, fuzzy systems, and genetic algorithms. These methods are not sufficiently mature at this time to support the definition of processes for evaluating conformance with the acceptance criteria of 10 CFR 50 and ANSI/IEEE Std 279.