Software Reliability in Nuclear Systems Arsen Papisyan Anthony Gwyn.

Slides:



Advertisements
Similar presentations
Aberystwyth University Department of Computer Science 1 Lessons from engineering: Can software benefit from product based evidence of reliability? Neal.
Advertisements

Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
MUTATION TESTING. Mutation testing is a technique that focuses on measuring the adequacy (quality) of test data (or test cases). Modify a program by introducing.
An Empirical Study on Reliability Modeling for Diverse Software Systems Xia Cai and Michael R. Lyu Dept. of Computer Science & Engineering The Chinese.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
Critical Systems Validation CIS 376 Bruce R. Maxim UM-Dearborn.
Unit Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 27, 2007.
1 Testing Effectiveness and Reliability Modeling for Diverse Software Systems CAI Xia Ph.D Term 4 April 28, 2005.
Software Testing Using Model Program DESIGN BY HONG NGUYEN & SHAH RAZA Dec 05, 2005.
Modified from Sommerville’s originals Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
Parameterizing Random Test Data According to Equivalence Classes Chris Murphy, Gail Kaiser, Marta Arias Columbia University.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Testing safety-critical software systems
Chapter 13 & 14 Software Testing Strategies and Techniques
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Software Integration and Documenting
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Project Management
Models for Software Reliability N. El Kadri SEG3202.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Software Testing.
OSMA2003 Center for Reliability Engineering 1 Integrating Software into PRA Presented by C. Smidts Center for Reliability Engineering University of Maryland.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
Safety-Critical Systems 6 Certification
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
Introduction to Software Testing
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
 CS 5380 Software Engineering Chapter 8 Testing.
Introduction to Dependability. Overview Dependability: "the trustworthiness of a computing system which allows reliance to be justifiably placed on the.
West Virginia University Towards Practical Software Reliability Assessment for IV&V Projects B. Cukic, E. Gunel, H. Singh, V. Cortellessa Department of.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
When to Test Less Presented by Lan Guo. Introduction (1) Methods of software testing: functional, coverage, and user-oriented Phases of software testing:
Software Reliability Research Pankaj Jalote Professor, CSE, IIT Kanpur, India.
CprE 458/558: Real-Time Systems
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Isolating Failure-Inducing Combinations in Combinatorial Testing using Test Augmentation and Classification Kiran Shakya Tao Xie North Carolina State University.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Mutation Testing G. Rothermel. Fault-Based Testing White-box and black-box testing techniques use coverage of code or requirements as a “proxy” for designing.
Machine Design Under Uncertainty. Outline Uncertainty in mechanical components Why consider uncertainty Basics of uncertainty Uncertainty analysis for.
Verification of FT System Using Simulation Petr Grillinger.
Software Testing Part II March, Fault-based Testing Methodology (white-box) 2 Mutation Testing.
Mixed Criticality Systems: Beyond Transient Faults Abhilash Thekkilakattil, Alan Burns, Radu Dobrin and Sasikumar Punnekkat.
1 Fault-Tolerant Computing Systems #1 Introduction Pattara Leelaprute Computer Engineering Department Kasetsart University
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
1 841f06OOmutation22Nov7 Exam 2 – Nov f06OOmutation22Nov7 Articles u Frankl u Parnas u Chen-Kao (OCF graph) u Glass-etal (Viewpoints) u Kuhn-Wallace.
Mutation Testing Breaking the application to test it.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Mutation Testing Laraib Zahid & Mariam Arshad. What is Mutation Testing?  Fault-based Testing: directed towards “typical” faults that could occur in.
Review on Test-Based Approach of Software Reliability November 22 nd, 2010 Nuclear I&C and Information Engineering LabKAIST Bo Gyung Kim.
Safety Critical Systems
Hardware & Software Reliability
Software Testing An Introduction.
Product reliability Measuring
Critical Systems Validation
Software Reliability Models.
Critical Systems Validation
Software Verification and Validation
Software Verification and Validation
Knowing When to Stop: An Examination of Methods to Minimize the False Negative Risk of Automated Abort Triggers RAM XI Training Summit October 2018 Patrick.
Software Verification and Validation
Mutation Testing Faults are introduced into the program by creating many versions of the program called mutants. Each mutant contains a single fault. Test.
Presentation transcript:

Software Reliability in Nuclear Systems Arsen Papisyan Anthony Gwyn

Introduction Therac-25 – delivery of high radiation to patients Slammer worm – disabled safety parameter system at nuclear power system Edwin I. Hatch nuclear power plant – computer resets the control system Stuxnet – worm in Iran nuclear power plants

Introduction Cont’d Not always feasible to ensure complete software verification Not possible to test for every possibility Software testing only indicates the presence of faults and not its absence Goal: Estimate software reliability in critical systems Approach: Combines results of software verification and mutation testing

Critical Systems Smaller and focused Rugged and have fault tolerant features Designed with defense in mind Expected to have lower failure rates Meant to fail in fail-safe mode Not rely on human judgment or interaction to initiate safety action Written in stable programming languages

Software in Nuclear Reactors Safety critical: systems important to safety – ie safe shutdown and heat removal from core Safety related: systems which are required for the normal functioning of the safety systems Non-nuclear safety: no nuclear safety function Safety Systems in Power plants are categorized in levels from 1 to 4 – probability of failure – Level 1: 10^-2 – 10^-1 – Level 4: 10^-5 – 10^-4

The Need for a New Approach Reliability depends on structure and runtime information – Simulation or executions of software provide the runtime characteristics Traditional models assume availability of accurate and adequate software failure data – Difficult to collect Newly built plants with no failure history – Reliability estimation methods do not apply

Proposed Approach - Assumption

Assumptions Cont’d ROM to prevent malware modification Output depends only on the current inputs

Prerequisites for approach Precise and Verified Test Cases

Prerequisites for approach cont’d Mutation testing: fault injection technique – First order mutants are single faults K = number of mutants killed by test cases G = number of generated mutants E = equivalent mutants Test Adequacy Computation

Reliability estimation approach 1 Randomly induced faults 3 possible outcomes Reliability = Simple but results could be biased – If mutation testing is not effective enough, the large number of verified test cases may lead to higher reliability estimate

Reliability estimation approach 2 Pseudo code - allows for integration of operational profile in the reliability estimate – Ensures that un-verified test cases fail during mutation testing eliminating bias due to large number of verified test cases

Results

Conclusion Need common ways to demonstrate safety of computer bases systems in nuclear plants Results suggest that test adequacy is major factor in determining software reliability – Systems must have a high test coverage and mutation score

The End