Presentation : Analyzing Software Requirements Errors in Safety-Critical Embedded Systems.

Slides:



Advertisements
Similar presentations
California State University, East Bay Human Resources Preparing and Presenting a Performance Review 2007.
Advertisements

1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
Sharif University of Technology Civil Engineering Department Tehran-Iran Dam Safety An Approach to Prevent Dam Incidents.
Software Construction
CLEANROOM SOFTWARE ENGINEERING
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Presentation R. R. Lutz. Analyzing Software Requirements Errors in Safety-Critical Embedded Systems. In Proceedings of the IEEE International Symposium.
Software Engineering for Safety : A Roadmap Presentation by: Manu D Vij CS 599 Software Engineering for Embedded Systems.
(c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 1 Test and Analysis Activities within a Software Process.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software System Integration
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
Software Integration and Documenting
Software Project Management
Software Project Management
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented.
CLEANROOM SOFTWARE ENGINEERING.
Managing the development and purchase of information systems (Part 1)
CPIS 357 Software Quality & Testing
Module 4: Systems Development Chapter 13: Investigation and Analysis.
CMSC 345 Fall 2000 Unit Testing. The testing process.
ITEC224 Database Programming
CSE 303 – Software Design and Architecture
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
Software Architecture in Practice Architectural description (The reduced version)
This chapter is extracted from Sommerville’s slides. Text book chapter
Modelling Class T16: Conceptual Modelling – Architecture Image from
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
 Before software can be engineered, the system must be understood.  The overall objective of the system must be determined, the role of the system elements.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Nonbehavioral Specifications Non-behavioral Characteristics Portability Portability Reliability Reliability Efficiency Efficiency Human Engineering.
Formal Methods.
Over View of CENELC Standards for Signalling Applications
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Overview of Socio-cognitive Engineering General requirements Theory of Use Design Concept Contextual Studies Task model Design space System specification.
Dynamic Testing.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Discuss how researchers analyze data obtained in observational research.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
CPSC 873 John D. McGregor Session 3 Requirements V & V.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
MANAGEMENT INFORMATION SYSTEM
Summary of presentation Introduction of the dissertation.
Software Testing.
Lecture 3 Prescriptive Process Models
Introduction to Software Engineering (2/2)
Chapter 21 Software Quality Assurance
Overview of System Engineering
Chapter 21 Software Quality Assurance
Software System Integration
SQA Role during Software Code and Unit Test Phase
Bivariate Association: Introduction & Basic Concepts
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Department of Computer Science Abdul Wali Khan University Mardan
Software Cost Estimation
WALKTHROUGH and INSPECTION
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

Presentation : Analyzing Software Requirements Errors in Safety-Critical Embedded Systems

INTRODUCTION A software error is defined to be a software related discrepancy between a computed, observed or a measured value or condition and the true specified, or theoretically correct value or condition There are 3 types of errors: negligible, significant and catastrophically

METHODOLOGY a. Work of Nakajo and Kume on software error cause and effect relationship offers an appropriate framework for classifying software errors. b. Their work analyses 3 points in the path from s/w error backwards to its source allowing classification of not only s/w errors but also human errors.

OVERVIEW OF CLASSIFICATION Program Faults Human Error Process Flaws

PROGRAM FAULTS Internal Faults : Syntax, Programming Language Semantics Interface Faults:Interaction with other Software Components,Interaction with hardware in the system Functional Faults:Operating Faults, Conditional Faults, Behavioral Faults

Program Faults (Contd.) Safety related errors account for 56% of total errors in Voyager and 48% in Galileo. A few internal faults were also found during integration and system testing The tables in the appendix of the paper provide a lot of statistical data is provided

HUMAN ERROR Coding Errors Communication Errors Within a Team Between Teams Requirements Errors in Recognition Errors in Deployment

PROCESS FLAWS Flaws in Inspection and Testing Methods Inadequate Interface-Specification & Communication Between Software Designers and Programmers Between Software and Hardware Engineers Requirements Not Identified or Understood Incomplete Documentation Missing Requirements Inadequate Design

RELATION BETWEEN PROGRAM FAULTS AND ROOT CAUSES: Second step is to track backwards in time to find human factors involved in program faults Interface faults human factors are mainly miscommunications between development/department teams.

RELATION BETWEEN PROGRAM FAULTS AND ROOT CAUSES: (Contd.) Safety related interface faults are largely due to communication errors between teams rather within teams (67% on voyager and 48% on Galileo) Non-safety related errors are equally likely due to misunderstood hardware as well as software specifications.

RELATION BETWEEN PROGRAM FAULTS AND ROOT CAUSES (Contd.) Safety related functional faults are primarily due to errors in recognizing requirements. Operational faults and behavioral faults are caused by errors in recognizing requirements more often than due to errors in development.- [Lutz 92]

RELATION BETWEEN PROGRAM FAULTS AND ROOT CAUSES (Contd.) BOTTOM LINE: Difficulties with safety requirements are a root cause of safety-related software errors until integration and system testing is done.

RELATION BETWEEN ROOT CAUSES AND PROCESS FLAWS: The third step is to associate a pair of flaws to each program fault This first element identifies the process flaw or inadequacy in control of the system complexity-[Lutz 92] The second element identifies the associated process flaw in the comm. or development methods.-[Lutz 92]

RELATION BETWEEN ROOT CAUSES AND PROCESS FLAWS: Safety related interface faults which are the most common process flaws are not inadequately identified along with undocumented h/w behavior Misunderstood requirements could lead to design flaws and may result in imprecise specifications

COMPARISON OF RESULTS WITH PREVIOUS WORK Role of interface specifications in controlling software was underestimated Previous reports analyzed fairly simple systems in well-understood domains

COMPARISON OF RESULTS WITH PREVIOUS WORK (Contd.) Assumes that requirement specifications are correct Distinction between causes of safety critical and non-safety critical s/w errors was not adequately investigated- [Lutz 92]

Recommendations Focus more on developing the interface between software and the system Identify safety-critical hazards during requirement analysis

Recommendations (Contd.) Use formal specifications techniques in addition to natural-language software requirements Promote informal communication among teams

Recommendations (Contd.) Teams must communicate better as requirements change Include requirements for “defensive design”

STRENGTH AND WEAKNESS STREGNTHS Detailed analysis of safety critical errors in spacecrafts and good classification of errors WEAKNESS Does not take into consideration the wide range of safety critical embedded systems