SEDS Research GroupSchool of EECS, Washington State University Annual Reliability & Maintainability Symposium January 30, 2002 Frederick T. Sheldon and.

Slides:



Advertisements
Similar presentations
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Advertisements

Lecture 8: Testing, Verification and Validation
Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
[ §4 : 1 ] 4. Requirements Processes I Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Requirements Definition Document.
Chapter 4 Quality Assurance in Context
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Software Engineering for Safety : A Roadmap Presentation by: Manu D Vij CS 599 Software Engineering for Embedded Systems.
Developing Dependable Systems CIS 376 Bruce R. Maxim UM-Dearborn.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Science and Engineering Practices
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Software Life Cycle Model
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
Introduction to Computer Technology
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CPIS 357 Software Quality & Testing
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Safety CS3300 Fall Failures are costly ● Bhopal 1984 – 3000 dead and injured ● Therac – 6 dead ● Chernobyl / Three Mile.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
WXGE6103 Software Engineering Process and Practice Formal Specification.
Foundations of Software Testing Chapter 1: Preliminaries Last update: September 3, 2007 These slides are copyrighted. They are for use with the Foundations.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
Fault-Tolerant Systems Design Part 1.
Requirements Validation
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Smart Home Technologies
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CS223: Software Engineering Lecture 25: Software Testing.
 System Requirement Specification and System Planning.
Principles of Programming & Software Engineering
Formal Specification.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Software Testing Introduction CS 4501 / 6501 Software Testing
Verification and Validation Overview
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 1 Introduction(1.1)
Software Verification and Validation
Software Verification and Validation
Software Engineering for Safety: a Roadmap
Software Verification and Validation
Presentation transcript:

SEDS Research GroupSchool of EECS, Washington State University Annual Reliability & Maintainability Symposium January 30, 2002 Frederick T. Sheldon and Hye Yeon Kim Software Engineering for Dependable Systems (SEDS) Research Laboratory School of Electrical Engineering and Computer Science Washington State University Validation of Guidance Control Software Requirements Specification for Reliability and Fault-Tolerance

SEDS Research LaboratorySchool of EECS, Washington State University Overview  Goal: Show the feasibility of this analysis approach using a industrial strength SRS to ensure:  Completeness and Consistency  Fault-tolerance  Specification Under Study  A NASA provided Guidance and Control Software (GCS) development specification for the Viking Mars Lander.  Analysis Approach  Using Zed to specify the data  Using Statecharts : Statemate for dynamical analysis  Summary and Future study

SEDS Research LaboratorySchool of EECS, Washington State University Introduction  Why Requirements Specification?  Cost, Time, and Effort Defect detected phaseTypical cost of correction Requirements Specification$100 - $1,000 Coding/Unit Testing$1,000 or more System Testing$7,000 - $8,000 Acceptance Testing$1,000 - $100,000 After ImplementationUp to millions of dollars

SEDS Research LaboratorySchool of EECS, Washington State University Reliable Specification  Is Correct  Complete, consistent and robust  Can the specification be trusted while minimizing the risk of costly errors?  How to analyze the specification to prevent the propagation of errors into the downstream activities?

SEDS Research LaboratorySchool of EECS, Washington State University Consistency and Completeness  Completeness: The lack of ambiguity  Incomplete if …  … the system behavior is not specified precisely because the required behavior for some events or conditions is omitted or is subject to more than one interpretation.  Consistency  The Specification is free from conflicting requirements and undesired nondeterminism.

SEDS Research LaboratorySchool of EECS, Washington State University Fault Tolerance  Faults  A fault is a feature of a system that precludes it from operating according to its specification –H. Ammar, B. Cukic, C. Fuhrman, and A. Mili, A comparative Analysis of HW and SW fault tolerance: Impact on software reliability engineering, 1999  Fault Tolerance  The ability to respond to unexpected system failure (detection and mask/recover)

SEDS Research LaboratorySchool of EECS, Washington State University Guidance and Control Software  Software Requirements – GCS Dev. Spec.  The system was designed to provide software control of the embedded sensors and actuators of the Viking Mars Lander during the terminal decent (landing) phase.  ARSP (Altimeter Radar Sensor Processing)  The ARSP module reads data provided by the altimeter radar sensor to determine the lander’s altitude from the Mars surface.

SEDS Research LaboratorySchool of EECS, Washington State University Mars Lander trajectories

SEDS Research LaboratorySchool of EECS, Washington State University Velocity – Altitude Contour

SEDS Research LaboratorySchool of EECS, Washington State University

SEDS Research LaboratorySchool of EECS, Washington State University

SEDS Research LaboratorySchool of EECS, Washington State University Zed Overview  Clarifying ambiguities  Identify assumptions  Correctness checking  Mathematical proofs  Giving an in-depth understanding of the SRS

SEDS Research LaboratorySchool of EECS, Washington State University Statecharts  Visual formalism: Diagrammatic in nature  Testability is provided through symbolic simulation  Predevelopment evaluation through  Fault Injection  Statemate consists of …  Activity chart  Statecharts

SEDS Research LaboratorySchool of EECS, Washington State University Natural Language based SRS  Inherently ambiguous risking the possibility of multiple interpretations

SEDS Research LaboratorySchool of EECS, Washington State University Zed Schema

SEDS Research LaboratorySchool of EECS, Washington State University From NL to Zed  Discovered Ambiguities  The confusing definition of variable “Rotation”, and direction of the rotation.  The type assigned to the AR_COUNTER variable was unclear.  An undefined 3 rd order polynomial.  Where the AR_COUNTER should be modified?

SEDS Research LaboratorySchool of EECS, Washington State University Statecharts Model: Activity chart

SEDS Research LaboratorySchool of EECS, Washington State University Statecharts Model: Statechart 1

SEDS Research LaboratorySchool of EECS, Washington State University Statecharts Model: Statechart 2

SEDS Research LaboratorySchool of EECS, Washington State University Some Theory … Set of Inputs (  ) Set of Outputs Unknowns (  ) Known Safe Unsafe Assumed Safe Sources: Normal Operation Hardware Failures Human Intervention Models/Simulators

SEDS Research LaboratorySchool of EECS, Washington State University

SEDS Research LaboratorySchool of EECS, Washington State University Paradigms …  Software Failures: “Software does not fail - it just does not perform as intended” Professor Nancy Leveson, MIT  Design and test for functionality: Also specify what the system should not do then test it!

SEDS Research LaboratorySchool of EECS, Washington State University Some Theory… lets take a second look Set of Inputs (  ) Set of Outputs Unknowns (  ) Known Safe Unsafe Assumed Safe Sources: Normal Operation Hardware Failures Human Intervention Models/Simulators Fault Injection (added known)

SEDS Research LaboratorySchool of EECS, Washington State University Testing and Fault Injection  By using symbolic simulation in Statemate  Boundary Testing  Input that is inside of the variable range  Input that is outside of the variable range  Fault Injection  State variable alternation  State transition redirection

SEDS Research LaboratorySchool of EECS, Washington State University Testing Results ARSP Specification Test Input and Output VariableCase 1Case 2Case 3Case 4Case 5 Input FRAME_COUNTER AR_STATUS --[0, 0, 0, 0]-[0, 1, 0, 0] AR_COUNTER Output AR_STATUS KP [1, 0, 0, 0][0, -, -, -][1, 0, 1, 0] K_ALT KP [1, 1, 1, 1][1, -, -, -][0, 1, -, 1] AR_ALTITUDE KP [*, -, -, -][2000,-,-,-]KP

SEDS Research LaboratorySchool of EECS, Washington State University Detailed Testing Results - Case 1  Initial values  Final values  Initial variable values are being calculated based on the given equations. VariableCase 1 Input FRAME_COUNTER 2 AR_STATUS - AR_COUNTER Output AR_STATUS [1, 0, 0, 0] K_ALT [1, 1, 1, 1] AR_ALTITUDE [2000, -, -, -] [1, 1, 0, 0] [1, 1, 1, 1] [2000, 2000, -, -]

SEDS Research LaboratorySchool of EECS, Washington State University Fault Injection Results

SEDS Research LaboratorySchool of EECS, Washington State University Detailed Fault Injection Results  Change FRAME_COUNTER at CURRENT_STATE from 2 to 3 VariableCase 1 Input FRAME_COUNTER 2 AR_STATUS - AR_COUNTER Output AR_STATUS [1, 0, 0, 0] K_ALT [1, 1, 1, 1] AR_ALTITUDE [2000, -, -, -] [1/0, 1, 0, 0] [1, 1, 1, 1] [*, 2000, -, -]

SEDS Research LaboratorySchool of EECS, Washington State University Summary  Interpretation from NL to Zed  Clarifying ambiguities  Interpretation from Zed to Statecharts  Clarifying misinterpreted Zed specification  Iterative process  Boundary Testing, Fault Injection analysis  Reveals weak point(s) in the system  Fault Tolerance validation

SEDS Research LaboratorySchool of EECS, Washington State University Conclusion  Using this combination of FMs we could:  Clarify ambiguities  Validate Correctness, Completeness, and Consistency  Validate Fault tolerance features of the SRS  This approach enabled us to:  Avoid the problems that result when incorrectly specified artifacts force corrective rework.  Minimize the risk of costly errors being propagated into downstream activities

SEDS Research LaboratorySchool of EECS, Washington State University Future Study  Build concrete translation rules between the methods  Find an effective algorithm to automate the process  Validate the algorithm for the different (domain/ application specific) critical software requirements  In depth comparative study with other approaches