Forensic Software Engineering: Are Software Failures Symptomatic of Systemic Problems? Chris Johnson, University of Glasgow My name is Elisabeth.

Slides:



Advertisements
Similar presentations
Integra Consult A/S Safety Assessment. Integra Consult A/S SAFETY ASSESSMENT Objective Objective –Demonstrate that an acceptable level of safety will.
Advertisements

The Credibility of NOSS Data Chris Henry The University of Texas Human Factors Research Project The University of Texas at Austin 2 nd ICAO TEM & NOSS.
Engineering Diploma Level 2 Unit 7 Application of Maintenance Techniques in Engineering In this unit you will get involved with both maintenance procedures.
Test process essentials Riitta Viitamäki,
1 Basic Definitions: Testing What is software testing? Running a program In order to find faults a.k.a. defects a.k.a. errors a.k.a. flaws a.k.a. faults.
Accidents If someone says “I had an accident” what assumptions do you make?
Integration of Quality Into Accident Investigation Processes ASQ Columbia Basin Section 614 John Cornelison January 2008.
Motivation Why study Software Engineering ?. What is Engineering ? 2 Engineering (Webster) – The application of scientific and mathematical principles.
30 August Common Mistakes  Over committing (“big eyes”)  Unrealistic schedules Training Access to people or materials Hours in the day  Level.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani University of Bozen- Bolzano Lesson 4 – Software Testing.
© 2005 by Prentice Hall Chapter 4 System Testing & Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
Root Cause Analysis Presented By: Team: Incredibles
Software Engineering for Safety : A Roadmap Presentation by: Manu D Vij CS 599 Software Engineering for Embedded Systems.
Summary and Safety Assessment mMIC-SFT November 2003 Anders P. Ravn Aalborg University.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Bureau of Workers’ Comp PA Training for Health & Safety (PATHS)
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 15 System Implementation.
Office of Aviation Safety Emergency Medical Services (EMS) Aviation Operations Jeff Guzzetti Deputy Director for Regional Operations.
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Ch 1: The Scope of Software Engineering
OSMA2003 Center for Reliability Engineering 1 Integrating Software into PRA Presented by C. Smidts Center for Reliability Engineering University of Maryland.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
The Guide to the Software Engineering Body of Knowledge
Software Safety CS3300 Fall Failures are costly ● Bhopal 1984 – 3000 dead and injured ● Therac – 6 dead ● Chernobyl / Three Mile.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
2.2 Software Myths 2.2 Software Myths Myth 1. The cost of computers is lower than that of analog or electromechanical devices. –Hardware is cheap compared.
B. Todd AB/CO/MI 30 th January 2008 Safety in Mind…
CS 430/530 Formal Semantics Paul Hudak Yale University Department of Computer Science Lecture 1 Course Overview September 6, 2007.
Root Cause Tutorial Page 1 More on Hazard Identification Techniques 1.Identify potential hazards that could threaten the safety of your employees,
CSc161 Software Quality Pete Sawyer & Alan Dix
INVARIANTS EEN 417 Fall When is a Design of a System “Correct”? A design is correct when it meets its specification (requirements) in its operating.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Intent Specification Intent Specification is used in SpecTRM
System Integration Testing Requirements Mars Polar Lander Steven Ford SYSM /11/12.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Reliability in Nuclear Systems Arsen Papisyan Anthony Gwyn.
CSCE 522 Secure Software Development Best Practices.
Software Testing and Quality Assurance Software Quality Assurance 1.
Presented to: By: Date: Federal Aviation Administration Lessons Learned From Aviation Accidents World Aviation Training Conference Daniel I. Cheney, Manager,
Quality Assurance.
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Copyright © 2009 Pearson Education, Inc. Chapter 19 Confidence Intervals for Proportions.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
1 Software Quality Assurance COMP 4004 Notes Adapted from S. Som é, A. Williams.
CSCE 201 Secure Software Development Best Practices.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Presented to: By: Date: Federal Aviation Administration AIRWORTHINESS Positive Safety Culture Failure to Follow Procedures 1 R1.
WHAT IF ANALYSIS USED TO IDENTIFY HAZARDS HAZARDOUS EVENTS
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Dr. Rob Hasker. Classic Quality Assurance  Ensure follow process Solid, reviewed requirements Reviewed design Reviewed, passing tests  Why doesn’t “we.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
Flight Validation Process of RNP APCH Procedures: Thailand Case Study
Why study Software Design/Engineering ?
Software Requirements
Software Testing Introduction CS 4501 / 6501 Software Testing
KOREAN AIR FLIGHT 801 CRASH: A CASE STUDY
What, When, Why, Where and How SCC maintains your Oracle database
Critical Systems Validation
Safety / Performance Criteria Agreeing on Assumptions
Software Engineering for Safety: a Roadmap
Presentation transcript:

Forensic Software Engineering: Are Software Failures Symptomatic of Systemic Problems? Chris Johnson, University of Glasgow My name is Elisabeth

Software Induced Failures Failure of software to perform an intended function –Includes elicitation and specification problems Includes –Guam crash –Therac 25 –Ariane 5 –London Ambulance Computer-Aided Dispatch

Problem of Supporting Systemic Approaches to Software Failure Theorem proving –Specification can be wrong –Environment can be wrong –Many possible paths –Model checking can help

Other Problems Human factors –KA 801 captain/crew Organizational issues –FAA oversight SE techniques say what to do, not what happened

Problems of Framing Any Analysis of Software Failure Stopping point? –CFIT –Aircraft was below minimum altitude –ATC personnel failed to notice altitude –Warning system was misconfigured –FAA did not ensure proper system function –FAA doesn’t certify ground-based systems –Public doesn’t pressure FAA to certify them –Researchers don’t inform public well enough

Existing Techniques Fault trees –Specific software failure Requirements engineering –Problems with requirements capture Organizational issues –? Therac 25 –Flaws in software or bug-fixing process?

Further Problems So, use all of them –Chooser may be biased –Tools find causal factors suited to them –Tools may be selectively deployed to show certain things

Problems of Assessing Intention in Software Development Why did the software fail? Why was the software erroneous? Why was the whole island inhibited? Why did Dulles look just like Tampa?

Intent Specifications Developers include why as well as what Extension of safety case (?) External certification vs. internal development Shows why sw is built this way Shows why changes were made Helps match code to design Possibly better than current maintenance certification procedures

Problems of Assessing Human and Environmental Factors Environment often hard to simulate –Mars It is true because the experts say so? SW often proprietary, can’t check Can’t learn from mistakes

And Operator Error… Who knows what people are thinking Can’t recreate situation very well People react differently, same people may not be available Knowing what people did does not show why they did it London Ambulance Report: what was or wasn’t intentional?

Problems of Making Adequate Recommendations What about software process? –What in the process is bad? –Is other code built by this process okay? Recommendations should be feasible & should include guidance –“Identify all implicit assumptions made by the code” Shouldn’t set silly goals –“Totally reliable software”

Summary No techniques involving systemic factors No agreement about scope of cause No guidance about analytical tools All assumptions must be questioned for reused software Want to know why as well as what

Summary (cont.) Can’t always simulate conditions Must consider human factors Problems with scope because of consequences of recommendations Must educate investigators & public

And a Few More Things… Problem paper, not solution paper Intent specifications can help Maintaining safety cases & design docs –Especially for reuse NTSB’s accident investigation academy –What will we teach them?

Mars Climate Orbiter & Mars Polar Lander Faster, Better, Cheaper Decided not to collect telemetry data Signal was lost (expectedly) Causes included –Long working hours –Communications problems –Deadline pressure

Goldin’s speech Acknowledges environmental issues Points to emergent problems “System failed them”