1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.

Slides:



Advertisements
Similar presentations
Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.1 Enjoying the Perks of Model-based Testing Ibrahim K. El-Far Florida Institute.
Advertisements

DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Testing and Quality Assurance
Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
SPREADSHEETS IN EDUCATION OF LOGISTICS MANAGERS AT FACULTY OF ORGANIZATIONAL SCIENCES: AN EXAMPLE OF INVENTORY DYNAMICS SIMULATION L. Djordjevic, D. Vasiljevic.
Software Testing and Quality Assurance
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Chapter 17 Code Review, Test Data, and Code Comparison.
Architecture and Real Time Systems Lab University of Massachusetts, Amherst An Application Driven Reliability Measures and Evaluation Tool for Fault Tolerant.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Design of a Certifiably Dependable Next- Generation Air Transportation System Stephen A. JacklinMichelle M. Eshow Michael R. LowryDave McNally Ewen Denny.
SIMULATION. Simulation Definition of Simulation Simulation Methodology Proposing a New Experiment Considerations When Using Computer Models Types of Simulations.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Software Process and Product Metrics
Introduction to Software Testing
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
Software Integration and Documenting
.
Math – Getting Information from the Graph of a Function 1.
1 NASA OSMA SAS02 Software Reliability Modeling: Traditional and Non-Parametric Dolores R. Wallace Victor Laing SRS Information Services Software Assurance.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Reliability Tools (Part 8a) Department of Electrical & Computer.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任.
Table-Driven Acceptance Testing Mario Aquino Principal Software Engineer Object Computing, Inc.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CPIS 357 Software Quality & Testing
1SAS 03/ GSFC/SATC- NSWC-DD System and Software Reliability Dolores R. Wallace SRS Technologies Software Assurance Technology Center
CMSC 345 Fall 2000 Unit Testing. The testing process.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Eurostat Overall design. Presented by Eva Elvers Statistics Sweden.
Testing Workflow In the Unified Process and Agile/Scrum processes.
By Ian Jackman Davit Stepanyan.  User executed untested code.  The order in which statements were meant to be executed are different than the order.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.
The New Computing Curriculum An overview. Computing A high-quality computing education equips pupils to use computational thinking and creativity to understand.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
1 Software Reliability Analysis Tools Joel Henry, Ph.D. University of Montana.
Department of Computer Engineering PROPANE An Environment for Examining the Propagation of Errors in Software Martin Hiller, Arshad Jhumka, Neeraj Suri.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
United Nations Oslo City Group on Energy Statistics OG7, Helsinki, Finland October 2012 ESCM Chapter 8: Data Quality and Meta Data 1.
New Random Test Strategies for Automated Discovery of Faults & Fault Domains Mian Asbat Ahmad
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
CS 351/ IT 351 Modeling and Simulation Technologies Review ( ) Dr. Jim Holten.
Dynamic Testing.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
MatLab: Making Life Easier in a Frustrating Way Michael Frohbergh, Basak Doyran and Jonathan Gerstenhaber.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Testing Tutorial 7.
A scalable approach for Test Automation in Vector CAST/Manage with
1-1 Logic and Syntax A computer program is a solution to a problem.
EPANET-MATLAB Toolkit An Open-Source Software for Interfacing EPANET with MATLAB™ Demetrios ELIADES, Marios KYRIAKOU, Stelios VRACHIMIS and Marios POLYCARPOU.
Software testing strategies 2
Introduction to Software Testing
Programming Right from the Start with Visual Basic .NET 1/e
Chapter 1 Introduction(1.1)
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
CSE 1020:Software Development
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002

2 Overview System development Testing problems Solution approach Results and conclusions Practical application

3 Controls devices that control: –Wind generator –Model support –Tunnel atmosphere Emphasizes reliability and safety Utilizes multiple development strategies Based on simple structure System Development Example: Wind Tunnel Software

4 System Development Simple Structure Controlling Computers External Devices ALGORITHM Sample Inputs Run Software Update Outputs

5 Engineer builds graphical model in MATLAB Models enter simulate-debug-simulate- debug phase Engineer auto-generates source code Source code is compiled, linked, and then deployed Hardware/software integration begins System Development

6 Recall simple model –Input variables – sampled over time –Outputs variables – produced over time –Sample time – variable or set frequency Consider test requirements –Input file/matrix –Output file/matrix –Analysis tools Testing Problems Test Size

7 Consider an example –100 input variables –50 output variables –100 millisecond sample time Assume you want to test a one hour operation period –100 inputs*10 per second*3600seconds = 3,600,000 values –50 outputs*10 per second*3600seconds = 1,800,000 values Ignore issues of useful inputs and defect detection Testing Problems Test Size

8 Domain determinants –Input variable – minimum, maximum, and accuracy –Output variable – minimum, maximum, and accuracy Consider test requirements –Input file/matrix with all possible values for input –Output file/matrix much more complex problem Testing Problems Domain Coverage

9 Consider an example for input variable –Input variable for pressure in a tank Min – 0 Max – Accuracy – 3 (decimal places) –1000*1000 = 1,000,000 possible values Ignore issues of legal sequencing and combinations Testing Problems Domain Coverage

10 Automation to: –Generate large input matrices/files –Perform simulation and/or test autogenerated code –Analyze output matrices/files Methods to: –Evaluate domain coverage –Aid debugging –Evaluate results Solution Approach Overview

11 Command and Control Algorithm Generate Tests Simulate Model Test Auto-code Detect Faults Evaluate Results MATLAB/Simulink Environment Source Code Executable Code Verification and Validation Methodology Solution Approach Suite of testing tools

12 Generate Tests Simulate Model Test Auto-code Detect Faults Evaluate Results Suite of testing tools Verification and Validation Methodology Command and Control Algorithm MATLAB/Simulink Environment Model Information Test Data Test Results Executable Code Test Data Test Results Solution Approach

13 Solution Approach Generate Tests Simulate Model Test Auto-code Detect Faults Evaluate Results Suite of testing tools Verification and Validation Methodology Data Graphs Raw Value Files Completeness, MTTF, Reliability File

14 Execute multiple tests –Evaluate testing effectiveness –Track trends in model reliability Automate and evaluate –Specify effectiveness and reliability goals –Evaluate on a per test case basis –Track through testing phase over all tests Results and Conclusions

15 Results and Conclusions Example – Multiple Tests

16 Results and Conclusions Example – Multiple Tests Bucket Coverage (%)

17 Results and Conclusions Example – Multiple Tests

18 Results and Conclusions Example – Multiple Tests

19 Can do domain testing supported with automation Can set quantitative goals Can evaluate progress toward goals Can measure MTTF, domain coverage, confidence percentages, and reliability Can create an organizational history Practical Application What?

20 Invest in automation Integrate domain coverage with application specific testing Establish goals and collect data Calculate MTTF, domain coverage, and reliability Use common sense with quantitative data Practical Application How?

21 Questions and Contact Info Joel Henry –MATT and RATT – links/index.htm MATLAB users -