Document: NUREG-0800
Document ID: be3ce44f-6784-4f40-baef-12c96ec1ff96
Document Type: srp
Title: provides additional guidance on digital data communications systems.
Source: NUREG-0800
Source URL: https://www.nrc.gov/docs/ML0706/ML070670183.pdf
Revision Date: 2023-06
Chapter: 7
Section ID: 7.9
CFR Part: 
CFR Title: 

Content:
nt process characteristics exhibited by the code documents should include completeness, consistency, correctness, style, traceability, and verifiability. Completeness means that the code meets all the specifications of the design and all implementation constraints. The software implementation should be compatible with the hardware environment. Consistency means that all variable names, types, locations, and array sizes are defined consistently throughout the software units. The code should use mathematical equations which correspond to the mathematical models, algorithms, and numerical techniques described in or derived from the SDS. All parameters passed between software units should be consistent with respect to number, type, structure, physical units, and direction. Minimum and maximum execution times should be consistent with expected overall performance. Correctness means that the code implements all of the requirements in the SDS, and contains no features or functions that are not required. Style means that the programming style constraints specified in the design documents is followed. NUREG/CR-6463, "Review Guidelines on Software Languages for Use in Nuclear Power Plant Safety Systems," provides guidance on coding practices to be avoided. In particular, data structures should be protected so that they cannot be changed simultaneously. Arrays should have a fixed, predefined length. Global variables and dynamic memory allocation should not be used. Traceability means that a two-way trace exists between the elements of the detailed design and the elements in code. A two-way trace should exist between the code elements and the specific software subsystem or system which contains that element during factory build and test. There should be a forward trace from each detailed design element to the specific inspections, analyses, or tests that will be used to confirm that the element has been correctly implemented. Verifiability means that it is possible to construct