National Research Center «Kurchatov Institute» Modern approach to software verification and validation for safety-critical systems IX International Forum «ATOMEXPO 2017» «Intellectual Automation and Electrical Engineering» Authors: Kalinushkin A., Musihin A., Tsarev V. Speaker: Tsarev V. Moscow, June 21st 2017 Software Reliability The link between software reliability and verification/validation activities Software reliability is defined as a “set of attributes related to the ability of a computer program to maintain operation quality in the set conditions over a set period of time” Software attributes Stability Software reliability Quantitative characteristics Reliability assessment Qualitative characteristics Reliability assurance Error tolerance Recoverability 2 Software Reliability The link between software reliability and verification/validation activities Algorithms Interpretation media Error migration Errors 3 Software Reliability The link between software reliability and verification/validation activities The complexity of quantitative software reliability analysis is explained by the following factors: Absence of a correlation between the presence of errors in the software and its reliability (an error present in the software does not necessarily lead to a failure); Unpredictable results of error correction; Impossible to provide 100% test coverage; Very complex classification of failures into software, software-hardware and hardware failures; The existing approaches to software reliability quantitative assessment are based on building software models, but these models are actually an extrapolation of the testing process to the real operating environment and are riddled with a number of serious application restrictions, which reduces the usefulness and accuracy of the resulting data; There isn’t a single universally accepted quantitative measure of the software reliability. 4 Software Reliability The link between software reliability and verification/validation activities Conclusions A computer program cannot be proven absolutely fault-free in theory, and therefore 100% freedom from failures is not feasible. It is not currently possible to perform quantitative assessment of software reliability, so quality assurance efforts must be concentrated on the development, testing and verification stage. In absence of an objective ability to assess software reliability and assign a recommended quantitative failure probability, a justification of software quality can be achieved through testing and verification. 5 Software Verification Definitions. IAEA glossary on safety issues. Terminology Used in Nuclear Safety and Radiation Protection. IAEA, Vienna, 2007. Verification The process of determining whether the quality or features of a product or service meet the prescribed, predefined or required criteria. Verification is closely related to quality assurance and quality control. Validation Confirmation, based on objective evidence, that the requirements developed for specific goal and use or application have been met. 6 Software Verification Definitions. Summary • Software verification is a process for determining whether a software product meets the requirements imposed on it at all lifecycle stages of the software system being designed. • An additional task of verification is to localize the errors introduced during development or modification of the software product. • Verification is an integral part of the lifecycle of a software product; it is important to note that verification objectives also include control of the results. • Quality assurance issues are closely related to the verification and validation processes, and considering them in separation is not appropriate. 7 Regulatory Documents Russian norms and rules in the area of nuclear energy NP-001-15. General provisions on ensuring safety of nuclear stations 3.1.16. If a safety-critical system is implemented using programmable digital devices, the respective norms, rules and methods shall be established and applied for development, testing and verification of the programmable digital devices and software throughout the system lifecycle, particularly during the software development phase. All development must be subjected to the quality assurance system. NP-026-16. Requirements to control systems important for safety of nuclear stations 14. With regards to operating results, verification must be conducted at all lifecycle stages of a safety-critical control system. All inconsistencies identified during the verification shall be documented and eliminated. 8 Regulatory Documents Basic standards • The following standards are used as basic standards when conducting software verification: • IEC 60880 “NUCLEAR POWER STATIONS. Safety-critical control and management systems. Software for computer systems performing Category A functions”; • IEC 62138 “NUCLEAR POWER STATIONS. Safety-critical control and management systems. Software for computer systems performing Category B and C functions” • Despite the high detail level of software verification activities described in IEC 60880 and IEC 62138 standards, it was decided to modify the standards using IAEA requirements and a number of international standards described below. 9 Regulatory Documents IAEA documents • SSG-39. Design of Instrumentation and Control Systems for Nuclear Power Plants • SSG-2. Specific Safety Guide. Deterministic Safety Analysis for Nuclear Power Plants • TECHNICAL REPORTS SERIES 384. Verification and Validation of Software Related to Nuclear Power Plant Instrumentation and Control. 10 Regulatory Documents Additions to basic standards • Recommendations on software verification are presented in Item 8 and Annex E4 of IEC 60880. • The issues of verification are also considered in detail in IEC 60880; nevertheless, we believe it is advisable to complement IEC 60880 provisions with IEEE 1012 recommendations, “System and Software Verification and Validation”, for the following reasons: • IEEE 1012 standard establishes the form and the content of verification plans and reports; • It also contains instructions on choosing verification methods to ensure the verification is as comprehensive as possible; • It also contains instructions on testing. 11 Verification Process Generalized structure as per IEC 60880. Technical assignment SW requirements development V Software requirements Software design development V Software design Evaluating requirements for completeness and correctness Evaluating compliance with the technical assignment Evaluating design for completeness and correctness Evaluating compliance of the software requirements Evaluating the code for completeness and correctness Software coding Evaluating compliance with the software design V Software modules code Testing Software integration Integrated software V Evaluating testing completeness Evaluating compliance with the software requirements and design Integration testing Evaluating testing completeness T R A C E A B I L I T Y 12 Verification Process Generalized structure as per IEC 60880, Items 8.1.8, 12-13. Requirements Regulatory documents Input data N lifecycle process Verification Negative outcome Output data Positive outcome N+1 lifecycle process 13 Verification Activities Developing a verification plan Developing a verification plan includes determining the list of activities required for performing verification and respective procedures, methods, techniques and facilities to determine whether the software product meets the requirements imposed at various stages of the software system development. 14 Verification Activities Correlation between verification plan sections and regulatory requirements Document section Definitions and abbreviations Verification overview Critical analysis Instruments, techniques and methods Verification Activities Requirements to testing documentation Regulatory document IAEA Glossary IEC 61508-4 IEC 12207 IEEE 1471 NP-001-15 IEC 61508-1 IEC 61226 IEEE 1012 IAEA TECHNICAL REPORTS SERIES 384 IEEE 1012 SSG-2 SSG-39 IEC 60880 IEC 62138 IAEA TECHNICAL REPORTS SERIES 384 IEEE 829-1998 15 Verification Activities Critical analysis of the verification subject Regulatory document NP-001-15 IEC 61226 Description Elements of safety systems where isolated failures in case of a design basis accident result in a violation of design basis limits established for those design basis accidents Element of normal operation Control element of a safety system a) Functions required to meet safe controlled state with the aim of preventing design basis accidents developing to unintended consequences or to mitigate the consequences of such accidents; с) Functions required to provide information and control abilities to undertake certain non-automated actions with the aim of achieving safe controlled state. Regulatory document IEC 61508-1 Regulatory document IEEE 1012 Conclusion Description Low request intensity operating mode Description Failure to perform the functions partially, or substantial financial and social losses. Class 2NU Category А Average probability of function failing to respond to request Safety integrity level 10-4 – 10-3 3 Event probability Software integrity level SIL 3 4 16 Verification Activities Verification techniques Purpose Purpose Purpose Expert review The purpose of this technique is to find violations and errors, mainly of predetermined types, in the software documentation. As a rule, expert review is used for documents containing project details, code, testing scenarios or testing results. Walkthrough The purpose of this technique is to check completeness and consistency of the documents developed as a result of project activities (e.g., technical design), or requiring high justification levels (e.g., testing plans); and also to identify errors at all stages of software development. The method must be adapted to documentation developed by the group. Traceability analysis This technique provides assurance that input requirements to the performance indicators were met accurately by verifying their traceability in the output documentation; and also to ensure that all critical requirements were determined and complied with throughout the development lifecycle, i.e. from requirements analysis to final testing. 17 Verification Activities Assigning roles Role Verification group leader Primary document author Secondary document author Reviewer(s) Tasks Preparing and conducting the assessment, holding meetings, assigning deadlines for performance of works, recording defects identified, control over readiness of input data for assessment and correction of errors found after the assessment. Presenting basic provisions of the primary document and answering evaluation team members’ questions in this regard. Presenting to the inspection members key ideas underlying the author’s interpretation of the primary document, answering any questions related to the secondary document. Analysis of the secondary document for compliance with the primary document with the aim of identifying any inconsistencies. 18 Verification Activities Evaluation process Expert review Activity type Planning Roles involved Verification group leader Content Evaluating the readiness of the primary and secondary document for evaluation using the following criteria: Documents have been developed; The content is presented in a clear format; Sufficient detail level of the documents. Identifying evaluation participants and their roles. Identifying interactions between the document authors and reviewers. Preparation Documentation review Modification Follow-up Verification group leader List of documents as per Table 4, and checklist of questions for inspection are distributed to the evaluation group members to work with. Verification group leader Organizing interaction between the author(s) of the secondary document and reviewers. Preparing a report in accordance with the checklist of inspection questions. Preparing an error report. Modifying the secondary document on the basis of document review procedure, using the error report. Reviewer(s) Secondary document author Verification group leader Preparing answers to verification group members’ comments. Evaluating the modification results, to make sure all errors found were corrected and no new errors were introduced. Making a decision on subsequent review of the documents. 19 Verification Activities Evaluation process Walkthrough Activity type Planning Preparation Roles involved Content Evaluating the readiness of the primary and secondary document for evaluation using the following criteria: Documents have been developed; The content is presented in a clear format; Verification group leader Sufficient detail level of the documents. Identifying evaluation participants and their roles. Scheduling meetings. Verification group leader List of documents as per “List of documents by stages” table for the respective stage, and checklist of questions for inspection are distributed to the evaluation group members to work with. Identifying the goals of the evaluation, key questions and issues reviewers should pay attention to. Recording any inconsistencies between the primary and the secondary document, describing errors, their Verification group leader localization and classification. Preparing a report in accordance with the checklist of inspection questions. Joint evaluation (in Primary document the form of a author meeting) Modification Follow-up Preparing an error report. Presenting the most substantial provisions of the primary document and answering participants’ questions in this regard. Secondary document author Presenting key ideas and techniques used in the secondary document and explains why certain solutions were chosen over others and how the provisions of the primary document were implemented; answering participants’ questions. Reviewer(s) Analysis of the documents in accordance with the inspection checklist, taking part in the discussion, preparing recommendations on eliminating errors if found. Secondary document author Modifying the secondary document on the basis of joint evaluation results, using the error report. Evaluating the modification results, to make sure all errors found were corrected and no new errors were Verification group leader introduced. Making a decision on subsequent joint evaluation of the documents. 20 Verification Process Software requirements verification Documentation for this stage Software requirements specification verification Input documents Software requirements specifications Interface requirements specifications Procedure documentation for software configuration management Checked for compliance with Software/hardware requirements specification Quality plans Applicable standards Output documents Software requirements verification report Configuration management analysis report Traceability analysis report Error report 21 Verification Process Software requirements verification Tasks Configuration management process analysis Software requirements specification analysis Techniques Expert review ID A B C • ◊ ◊ 4 • • • 5 • • • 6 • ◊ ◊ 7 Walkthrough Interface requirements specification analysis Traceability analysis Category Traceability analysis 22 Verification Process Software requirements verification 23 Verification Process Software requirements verification Output document forms for this stage Document Verification report form Error report form Developers feedback response form Traceability analysis report form Inspection questions checklist Annex reference А 1.1 А 1.2 А 1.3 А 1.4 А 1.6 24 Thank you for attention! 25
© Copyright 2026 Paperzz