SlideShare a Scribd company logo
Software Safety in Embedded Systems
&
Software Safety: Why, What, and How
– Leveson
UC San Diego
CSE 294
Spring Quarter 2006
Barry Demchak
Previous Paper
 System Safety in Computer-Controlled Automotive
Systems – Leveson (2000)
 Types of accidents
 Safeware Methodology
 Project Management
 Software Hazard Analysis
 Software Requirements Specification & Analysis
 Software Design & Analysis
 Design & Analysis of Human-Machine Interaction
 Software Verification
 Feedback from Operational Experience
 Change Control and Analysis
Roadmap
 Safety definitions
 Industrial safety and risk
 Systems Issues – hardware and software
 Software Safety
 Analysis and Modeling
 Verification and Validation
 System Safety Engineering
Safety Before Computers
 NASA: 10-9
chance of failure over a 10 hour
flight
 British nuclear reactors: no single fault can
cause a reactor to trip, and 10-7
chance over
5000 hours of failure to meet a demand to trip
 FAA: 10-9
chance per flight hour (i.e., not
within total life span of entire fleet)
Introduction of Computers
 Nuclear Power Plants
 Space Shuttle
 Airbus Aircraft
 Space Satellites
 NORAD
 Purpose: perform functions that are too
dangerous, quick, or complex for humans
System Safety (def.)
 Subdiscipline of systems engineering
 Applies scientific, management, and
engineering principals
 Ensures adequate safety throughout the
system life cycle
 Constrained by operational effectiveness,
time, and cost
 MilSpec: “freedom from those conditions that
can cause death, injury, occupational illness,
or damage to or loss of equipment or
property”
More Definitions
 Accident
 Unwanted and unexpected release of energy
 Mishap (or failure)
 Unplanned event or series of events
 Death, injury, occupational illness, damage, or
loss of equipment or property, or
environmental harm
 Hazard
 A condition that can lead to a mishap
More Definitions (cont’d)
 Risk
 Probability of a hazardous state occurring
 Probability of a hazardous state leading to a
mishap
 Perceived severity of the worst potential
mishap that could result from a hazard
 Hazard probability
 Hazard criticality (severity)
Early Approach
 Operational or Industrial Safety
 Examining system during operating life
 Correcting unacceptable hazards
 Ignores crushing effect of single catastrophe
 Assumptions
 All faults caused by human errors could be
avoided completely or located and removed
prior to delivery and operation
 Relatively low complexity of hardware
Ford Pinto (early 1970s)
 Specifications: 2000 pounds, $2000 sale price
 Use existing factory tooling
 Safety issue with gas tank placement
 Analysis
 Deaths cost $200,000, burns cost $67,000
 Cost to make change $137M, benefit $49M
 Ford engineer: “But you miss the point entirely. You
see, safety isn't the issue, trunk space is. You have
no idea how stiff the competition is over trunk space.”
 Ford president: “Safety doesn’t sell”
 Verdict: $100M
Anecdotes
 Safety devices themselves have been
responsible for losses or increasing chances
of mishaps
 Redundancy sometimes degrades safety
 Unrelated (but related) systems cause errors
Later Approach
 System Safety
 Design acceptable safety level before actual
production or operation
 Optimize safety by applying scientific and
engineering principals to identify and control
hazards through analysis, design, and
management procedures
 Hazard analysis identifies and assesses
 Criticality level of hazards
 Risks involved in system design
Later approach (cont’d)
 Assumptions
 Complexity of software and hardware
interaction causes non-linear increase in
human-error-induced faults
 Impossible to demonstrate safety ahead of
usage
 Complexity and coupling are covariant
Hardware vs Systems
 Hardware
 Widgets have long history of use and fault
analysis … highly responsive to redundant
techniques
 Infinite number of stable states
 Software
 No history with software … reuse is rare
 Large number of discrete states without
repetitive structure
 Difficult to test under realistic conditions
More Systems Issues
 Difficult to specify completely – what it does,
and what it does not do
 Cannot identify misunderstandings about
requirements
 Engineers assume perfect execution
environments, don’t consider transient faults
 Lack of system-level methods and viewpoints
Even Bigger Systems Issues
 Specification and implementation of
components is not the same as between
components
 Between-component interactions grow
exponentially and are often underrepresented
in analyses
 Components include
 Software and components
 Hardware
 Human operators
Still Bigger Systems Issues
 More Components
 Development Methodologies
 Source code maintenance
 Verification/Validation Methodologies
 Stakeholder Values
 Management
 Individual Programmers
 Customer
 Human Users
 Suppliers
Definitions
 Reliability
 Probability that system will perform intended
function
 Safety
 Probability that hazard will not lead to a
mishap
 Reliability = failure free
 Safety = mishap free
 Reliability and Safety often conflict
Safety
 Studied separately from security, reliability, or
availability
 Separation of concerns
 Safety requirements are identified and
separated from operational requirements
 Conflicts resolved in a well-reasoned manner
Definitions
 System
 Sum total of all component parts
 Software is only a part, and its correctness
exists only in relation to other system
components
Software Safety
 Ensures software will execute within a system
context without resulting in unacceptable risk
 Safety-critical software functions
 Directly or indirectly allow a hazardous system
state to exist
 Safety-critical software
 Contains safety-critical functions
System Characteristics
 Inputs and outputs over time
 Control subsystem
 Description of function to be performed
 Specification of operating constraints (quality,
capacity, process, and safety)
 Safety constraints are hazards rewritten as
constraints
 Safety constraints written, maintained, and
audited separately
Constraints, Requirements, Design
Analysis and Modeling
 Preliminary Hazard Analysis (PHA)
 Subsystem Hazard Analysis (SSHA)
 System Hazard Analysis (SHA)
 Operating and Support Hazard Analysis
(OSHA)
 Safeware – Leveson
Hazard Analysis
 Start with list of identifiable hazards
 Work backward to discover combination of
faults that produce the hazard
 Categorization
 Frequent
 Occasional
 Reasonably remote
 Remote
 … physically impossible
Hazard Examples (Nuclear Weapons)
 Inadvertent nuclear detonation
 Inadvertent prearming, arming, launching,
firing, or releasing
 Deliberate prearming, arming, launching,
firing, or releasing under inappropriate
conditions
Software Requirement Analysis
 Hard to do
 Cubby-hole mentality
 Rarely includes what the system should not
do
 Techniques
 Fault Tree Analysis (FTA)
 Real Time Logic (RTL)
 Petri nets
Fault Tree Example
Real Time Logic
 Model the system in terms of events and
actions (both data dependency and temporal
ordering)
 Generate predicates
 Determine whether a safety assertion is a
theorem derivable from the model
 Inherently unsafe means that the assertion
cannot be derived from the model
Time Petri Nets
 Mathematical modeling of discrete event
systems in terms of conditions and events
and the relationship between them
 Facilitates backward analysis
 Points to failures and faults which are
potentially most hazardous
 Nontrivial to build and maintain
Research Question
 What is the place of these analysis
techniques in an agile development
environment??
Safety Verification and Validation
 Showing that a fault cannot occur
 Showing that if a fault occurs, it is not
dangerous
 Only as good as the specifications
 Specifications are usually incomplete, and
hardware specifications are rare
Safety Verification and Validation
 Methodologies
 Proofs of adequacy
 Software Fault Tree (proofs of fault tree
analyses)
 Determine safety requirements
 Detect software logic errors
 Identify multiple failure sequences involving
different parts of the system
 Inform critical runtime checks
 Inform testing
Safety Verification and Validation
 Methodologies
 Nuclear Safety Cross Check Analysis
(NSCCA)
 Demonstrate that software will not contribute to a
nuclear mishap
 Multiple technical analyses demonstrate
adherence to specifications
 Demonstrate security and control measures
 A lot of qualitative judgment regarding criticality
 Software Common Mode Analysis
 Sneak Software Analysis
Safety Analysis – Quantitative
 Requires statistical histories which may not
exist
 Applies mostly to physical systems
 Single-valued Best Estimate
 Information sufficient for determinate models
 Probabilistic
 Science is understood, but limited parameters
available
 Bounding
 Putting a ceiling on the answer
System Safety Engineering
 Identify hazards
 Assessing hazards (likelihood and criticality)
 Design to eliminate or control hazards
 Assess risks that cannot be eliminated or
controlled
Failure Mode Definitions
 Fail-safe
 Default is safe mode, no attempt to execute
operational mission
 Fail-operational
 Default is to correct fault and continue with
operational mission
 Fail-soft
 Default is to continue with degraded
operations
Designing for Safety
 Not possible to ensure safety by analysis or
verification alone
 Analysis and verification may be cost-
prohibitive
 Different standard hierarchy
 Intrinsically safe
 Prevents or minimizes occurrence of hazards
 Controls the hazard
 Warns of presence of hazard
Safety Design Mechanisms
 Lockout device
 Prevents event from occurring when hazard is
present
 Lockin device
 Maintains an event or condition
 Interlock device
 Assuring operation sequences in correct order
Safety Design Principals
 Provide leverage for certification
 Avoid complexity where possible
 Reduce risk by reducing hazard likelihood, or
severity, or both
 Modularize to separate safety-critical
functions from non-critical functions
 Execute safety-critical functions under
separate authority
 Fail on a single-point failure
Safety Design Principals (cont’d)
 Start out in safe state, and take affirmative
actions to reach higher risk states
 Check critical flags as close as possible to
actions they protect
 Avoid compliments: absence of “armed” is not
“safe”
 Use “true” values to indicate safety … “false”
values can result from common hardware
failures
Safety Design Principals (cont’d)
 Detection of unsafe states
 Watchdog timer
 Independent monitors
 Asserts and exception handlers
 Use backward recovery (return system to safe
state) instead of forward recovery (plow
ahead)
Human Factors
 Define partnership between human and
computer
 Avoid complacency
 Avoid confusion
 Avoid passive monitoring
Conclusion
 Select suite of techniques and tools spanning
entire software development process
 Apply them consciensciously, consistently,
and thoroughly
 Consider implementation tradeoffs
 Low catastrophe, high cost alternatives
 Moderate catastrophe, moderate cost
alternatives
 High catastrophe, low cost alternatives
Take Home Messages
 Safety is a system issue – in the large sense
 Software engineering techniques can
contribute to system safety – in both a narrow
and broad context
 Acceptable risk is king, and determining and
executing it is hard

More Related Content

What's hot

Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Kymberlee Price
 
Implementing Vulnerability Management
Implementing Vulnerability Management Implementing Vulnerability Management
Implementing Vulnerability Management
Argyle Executive Forum
 
Layer of protection analysis
Layer of protection analysisLayer of protection analysis
Layer of protection analysisSandip Sonawane
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk
AlienVault
 
Open-Source Security Management and Vulnerability Impact Assessment
Open-Source Security Management and Vulnerability Impact AssessmentOpen-Source Security Management and Vulnerability Impact Assessment
Open-Source Security Management and Vulnerability Impact Assessment
Priyanka Aash
 
Vulnerability Assesment
Vulnerability AssesmentVulnerability Assesment
Vulnerability Assesment
Dedi Dwianto
 
USPS CISO Academy - Vulnerability Management
USPS CISO Academy - Vulnerability ManagementUSPS CISO Academy - Vulnerability Management
USPS CISO Academy - Vulnerability Management
Jim Piechocki
 
Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)
Ian Sommerville
 
Web Application Vulnerability Management
Web Application Vulnerability ManagementWeb Application Vulnerability Management
Web Application Vulnerability Management
jpubal
 
It's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint SecurityIt's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint Security
Lumension
 
Fgs handbook-rev-d
Fgs handbook-rev-dFgs handbook-rev-d
Fgs handbook-rev-d
Muneeb Irfan
 
Web Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management FrameworkWeb Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management Framework
jpubal
 
Sis training course_1
Sis training course_1Sis training course_1
Sis training course_1
Gino Pascualli
 
IT Security management and risk assessment
IT Security management and risk assessmentIT Security management and risk assessment
IT Security management and risk assessment
CAS
 
SecPod Saner
SecPod SanerSecPod Saner
SecPod Saner
Chandrashekhar B
 
Is Your Vulnerability Management Program Irrelevant?
Is Your Vulnerability Management Program Irrelevant?Is Your Vulnerability Management Program Irrelevant?
Is Your Vulnerability Management Program Irrelevant?
Skybox Security
 
LOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
LOPA | Layer Of Protection Analysis | Gaurav Singh RajputLOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
LOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
Gaurav Singh Rajput
 
10 Steps to Building an Effective Vulnerability Management Program
10 Steps to Building an Effective Vulnerability Management Program10 Steps to Building an Effective Vulnerability Management Program
10 Steps to Building an Effective Vulnerability Management Program
BeyondTrust
 

What's hot (20)

8. operational risk management
8.  operational risk management8.  operational risk management
8. operational risk management
 
Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16Vulnerability Management Nirvana - Seattle Agora - 18Mar16
Vulnerability Management Nirvana - Seattle Agora - 18Mar16
 
Implementing Vulnerability Management
Implementing Vulnerability Management Implementing Vulnerability Management
Implementing Vulnerability Management
 
Layer of protection analysis
Layer of protection analysisLayer of protection analysis
Layer of protection analysis
 
Safety Integrity Levels
Safety Integrity LevelsSafety Integrity Levels
Safety Integrity Levels
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk
 
Open-Source Security Management and Vulnerability Impact Assessment
Open-Source Security Management and Vulnerability Impact AssessmentOpen-Source Security Management and Vulnerability Impact Assessment
Open-Source Security Management and Vulnerability Impact Assessment
 
Vulnerability Assesment
Vulnerability AssesmentVulnerability Assesment
Vulnerability Assesment
 
USPS CISO Academy - Vulnerability Management
USPS CISO Academy - Vulnerability ManagementUSPS CISO Academy - Vulnerability Management
USPS CISO Academy - Vulnerability Management
 
Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)
 
Web Application Vulnerability Management
Web Application Vulnerability ManagementWeb Application Vulnerability Management
Web Application Vulnerability Management
 
It's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint SecurityIt's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint Security
 
Fgs handbook-rev-d
Fgs handbook-rev-dFgs handbook-rev-d
Fgs handbook-rev-d
 
Web Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management FrameworkWeb Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management Framework
 
Sis training course_1
Sis training course_1Sis training course_1
Sis training course_1
 
IT Security management and risk assessment
IT Security management and risk assessmentIT Security management and risk assessment
IT Security management and risk assessment
 
SecPod Saner
SecPod SanerSecPod Saner
SecPod Saner
 
Is Your Vulnerability Management Program Irrelevant?
Is Your Vulnerability Management Program Irrelevant?Is Your Vulnerability Management Program Irrelevant?
Is Your Vulnerability Management Program Irrelevant?
 
LOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
LOPA | Layer Of Protection Analysis | Gaurav Singh RajputLOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
LOPA | Layer Of Protection Analysis | Gaurav Singh Rajput
 
10 Steps to Building an Effective Vulnerability Management Program
10 Steps to Building an Effective Vulnerability Management Program10 Steps to Building an Effective Vulnerability Management Program
10 Steps to Building an Effective Vulnerability Management Program
 

Viewers also liked

ARINC 653
ARINC 653 ARINC 653
Commercial avionics -_our_references
Commercial avionics -_our_referencesCommercial avionics -_our_references
Commercial avionics -_our_references
Prabath De Silva
 
Avionics Digital data buses
Avionics Digital data busesAvionics Digital data buses
Avionics Digital data buses
ostroumov
 
Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35
ICSA, LLC
 
Avionics-Embedded systems-basic
Avionics-Embedded systems-basicAvionics-Embedded systems-basic
Avionics-Embedded systems-basic
Sejj Lingayat
 

Viewers also liked (7)

IMA2G_RnD
IMA2G_RnDIMA2G_RnD
IMA2G_RnD
 
ARINC 653
ARINC 653 ARINC 653
ARINC 653
 
Commercial avionics -_our_references
Commercial avionics -_our_referencesCommercial avionics -_our_references
Commercial avionics -_our_references
 
Airbus 380
Airbus 380Airbus 380
Airbus 380
 
Avionics Digital data buses
Avionics Digital data busesAvionics Digital data buses
Avionics Digital data buses
 
Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35
 
Avionics-Embedded systems-basic
Avionics-Embedded systems-basicAvionics-Embedded systems-basic
Avionics-Embedded systems-basic
 

Similar to Software safety in embedded systems & software safety why, what, and how

2011-05-02 - VU Amsterdam - Testing safety critical systems
2011-05-02 - VU Amsterdam - Testing safety critical systems2011-05-02 - VU Amsterdam - Testing safety critical systems
2011-05-02 - VU Amsterdam - Testing safety critical systems
Jaap van Ekris
 
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
Jaap van Ekris
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17koolkampus
 
AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011
dma1965
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testingankitmehta21
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510techweb08
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentationtechweb08
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentationtechweb08
 
Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018
Dinis Cruz
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security EngineeringMarco Morana
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notes
onsoftwaretest
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1Yogindernath Gupta
 
Safety instrumented systems
Safety instrumented systemsSafety instrumented systems
Safety instrumented systemsMowaten Masry
 
35958867 safety-instrumented-systems
35958867 safety-instrumented-systems35958867 safety-instrumented-systems
35958867 safety-instrumented-systemsMowaten Masry
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21koolkampus
 
Sda 3
Sda   3Sda   3
Risk Assessment Methodologies
Risk Assessment MethodologiesRisk Assessment Methodologies
Risk Assessment Methodologies
Philippe A. R. Schaeffer
 
Security Considerations in Process Control and SCADA Environments
Security Considerations in Process Control and SCADA EnvironmentsSecurity Considerations in Process Control and SCADA Environments
Security Considerations in Process Control and SCADA Environmentsamiable_indian
 
Safety and security in distributed systems
Safety and security in distributed systems Safety and security in distributed systems
Safety and security in distributed systems
Einar Landre
 
Safety and security in distributed systems
Safety and security in distributed systemsSafety and security in distributed systems
Safety and security in distributed systems
Einar Landre
 

Similar to Software safety in embedded systems & software safety why, what, and how (20)

2011-05-02 - VU Amsterdam - Testing safety critical systems
2011-05-02 - VU Amsterdam - Testing safety critical systems2011-05-02 - VU Amsterdam - Testing safety critical systems
2011-05-02 - VU Amsterdam - Testing safety critical systems
 
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17
 
AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011AMI Security 101 - Smart Grid Security East 2011
AMI Security 101 - Smart Grid Security East 2011
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentation
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentation
 
Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018Using security to drive chaos engineering - April 2018
Using security to drive chaos engineering - April 2018
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notes
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
 
Safety instrumented systems
Safety instrumented systemsSafety instrumented systems
Safety instrumented systems
 
35958867 safety-instrumented-systems
35958867 safety-instrumented-systems35958867 safety-instrumented-systems
35958867 safety-instrumented-systems
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21
 
Sda 3
Sda   3Sda   3
Sda 3
 
Risk Assessment Methodologies
Risk Assessment MethodologiesRisk Assessment Methodologies
Risk Assessment Methodologies
 
Security Considerations in Process Control and SCADA Environments
Security Considerations in Process Control and SCADA EnvironmentsSecurity Considerations in Process Control and SCADA Environments
Security Considerations in Process Control and SCADA Environments
 
Safety and security in distributed systems
Safety and security in distributed systems Safety and security in distributed systems
Safety and security in distributed systems
 
Safety and security in distributed systems
Safety and security in distributed systemsSafety and security in distributed systems
Safety and security in distributed systems
 

More from bdemchak

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysis
bdemchak
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
bdemchak
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructure
bdemchak
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
bdemchak
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introduction
bdemchak
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chat
bdemchak
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bd
bdemchak
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMS
bdemchak
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentation
bdemchak
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAP
bdemchak
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
bdemchak
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentation
bdemchak
 
Policy 2012 presentation
Policy 2012 presentationPolicy 2012 presentation
Policy 2012 presentation
bdemchak
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration story
bdemchak
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
bdemchak
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration stories
bdemchak
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualization
bdemchak
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojure
bdemchak
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...
bdemchak
 

More from bdemchak (20)

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysis
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructure
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introduction
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chat
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bd
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMS
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentation
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAP
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentation
 
Policy 2012 presentation
Policy 2012 presentationPolicy 2012 presentation
Policy 2012 presentation
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration story
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration stories
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualization
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojure
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...
 

Recently uploaded

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 

Recently uploaded (20)

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 

Software safety in embedded systems & software safety why, what, and how

  • 1. Software Safety in Embedded Systems & Software Safety: Why, What, and How – Leveson UC San Diego CSE 294 Spring Quarter 2006 Barry Demchak
  • 2. Previous Paper  System Safety in Computer-Controlled Automotive Systems – Leveson (2000)  Types of accidents  Safeware Methodology  Project Management  Software Hazard Analysis  Software Requirements Specification & Analysis  Software Design & Analysis  Design & Analysis of Human-Machine Interaction  Software Verification  Feedback from Operational Experience  Change Control and Analysis
  • 3. Roadmap  Safety definitions  Industrial safety and risk  Systems Issues – hardware and software  Software Safety  Analysis and Modeling  Verification and Validation  System Safety Engineering
  • 4. Safety Before Computers  NASA: 10-9 chance of failure over a 10 hour flight  British nuclear reactors: no single fault can cause a reactor to trip, and 10-7 chance over 5000 hours of failure to meet a demand to trip  FAA: 10-9 chance per flight hour (i.e., not within total life span of entire fleet)
  • 5. Introduction of Computers  Nuclear Power Plants  Space Shuttle  Airbus Aircraft  Space Satellites  NORAD  Purpose: perform functions that are too dangerous, quick, or complex for humans
  • 6. System Safety (def.)  Subdiscipline of systems engineering  Applies scientific, management, and engineering principals  Ensures adequate safety throughout the system life cycle  Constrained by operational effectiveness, time, and cost  MilSpec: “freedom from those conditions that can cause death, injury, occupational illness, or damage to or loss of equipment or property”
  • 7. More Definitions  Accident  Unwanted and unexpected release of energy  Mishap (or failure)  Unplanned event or series of events  Death, injury, occupational illness, damage, or loss of equipment or property, or environmental harm  Hazard  A condition that can lead to a mishap
  • 8. More Definitions (cont’d)  Risk  Probability of a hazardous state occurring  Probability of a hazardous state leading to a mishap  Perceived severity of the worst potential mishap that could result from a hazard  Hazard probability  Hazard criticality (severity)
  • 9. Early Approach  Operational or Industrial Safety  Examining system during operating life  Correcting unacceptable hazards  Ignores crushing effect of single catastrophe  Assumptions  All faults caused by human errors could be avoided completely or located and removed prior to delivery and operation  Relatively low complexity of hardware
  • 10. Ford Pinto (early 1970s)  Specifications: 2000 pounds, $2000 sale price  Use existing factory tooling  Safety issue with gas tank placement  Analysis  Deaths cost $200,000, burns cost $67,000  Cost to make change $137M, benefit $49M  Ford engineer: “But you miss the point entirely. You see, safety isn't the issue, trunk space is. You have no idea how stiff the competition is over trunk space.”  Ford president: “Safety doesn’t sell”  Verdict: $100M
  • 11. Anecdotes  Safety devices themselves have been responsible for losses or increasing chances of mishaps  Redundancy sometimes degrades safety  Unrelated (but related) systems cause errors
  • 12. Later Approach  System Safety  Design acceptable safety level before actual production or operation  Optimize safety by applying scientific and engineering principals to identify and control hazards through analysis, design, and management procedures  Hazard analysis identifies and assesses  Criticality level of hazards  Risks involved in system design
  • 13. Later approach (cont’d)  Assumptions  Complexity of software and hardware interaction causes non-linear increase in human-error-induced faults  Impossible to demonstrate safety ahead of usage  Complexity and coupling are covariant
  • 14. Hardware vs Systems  Hardware  Widgets have long history of use and fault analysis … highly responsive to redundant techniques  Infinite number of stable states  Software  No history with software … reuse is rare  Large number of discrete states without repetitive structure  Difficult to test under realistic conditions
  • 15. More Systems Issues  Difficult to specify completely – what it does, and what it does not do  Cannot identify misunderstandings about requirements  Engineers assume perfect execution environments, don’t consider transient faults  Lack of system-level methods and viewpoints
  • 16. Even Bigger Systems Issues  Specification and implementation of components is not the same as between components  Between-component interactions grow exponentially and are often underrepresented in analyses  Components include  Software and components  Hardware  Human operators
  • 17. Still Bigger Systems Issues  More Components  Development Methodologies  Source code maintenance  Verification/Validation Methodologies  Stakeholder Values  Management  Individual Programmers  Customer  Human Users  Suppliers
  • 18. Definitions  Reliability  Probability that system will perform intended function  Safety  Probability that hazard will not lead to a mishap  Reliability = failure free  Safety = mishap free  Reliability and Safety often conflict
  • 19. Safety  Studied separately from security, reliability, or availability  Separation of concerns  Safety requirements are identified and separated from operational requirements  Conflicts resolved in a well-reasoned manner
  • 20. Definitions  System  Sum total of all component parts  Software is only a part, and its correctness exists only in relation to other system components
  • 21. Software Safety  Ensures software will execute within a system context without resulting in unacceptable risk  Safety-critical software functions  Directly or indirectly allow a hazardous system state to exist  Safety-critical software  Contains safety-critical functions
  • 22. System Characteristics  Inputs and outputs over time  Control subsystem  Description of function to be performed  Specification of operating constraints (quality, capacity, process, and safety)  Safety constraints are hazards rewritten as constraints  Safety constraints written, maintained, and audited separately
  • 24. Analysis and Modeling  Preliminary Hazard Analysis (PHA)  Subsystem Hazard Analysis (SSHA)  System Hazard Analysis (SHA)  Operating and Support Hazard Analysis (OSHA)  Safeware – Leveson
  • 25. Hazard Analysis  Start with list of identifiable hazards  Work backward to discover combination of faults that produce the hazard  Categorization  Frequent  Occasional  Reasonably remote  Remote  … physically impossible
  • 26. Hazard Examples (Nuclear Weapons)  Inadvertent nuclear detonation  Inadvertent prearming, arming, launching, firing, or releasing  Deliberate prearming, arming, launching, firing, or releasing under inappropriate conditions
  • 27. Software Requirement Analysis  Hard to do  Cubby-hole mentality  Rarely includes what the system should not do  Techniques  Fault Tree Analysis (FTA)  Real Time Logic (RTL)  Petri nets
  • 29. Real Time Logic  Model the system in terms of events and actions (both data dependency and temporal ordering)  Generate predicates  Determine whether a safety assertion is a theorem derivable from the model  Inherently unsafe means that the assertion cannot be derived from the model
  • 30. Time Petri Nets  Mathematical modeling of discrete event systems in terms of conditions and events and the relationship between them  Facilitates backward analysis  Points to failures and faults which are potentially most hazardous  Nontrivial to build and maintain
  • 31. Research Question  What is the place of these analysis techniques in an agile development environment??
  • 32. Safety Verification and Validation  Showing that a fault cannot occur  Showing that if a fault occurs, it is not dangerous  Only as good as the specifications  Specifications are usually incomplete, and hardware specifications are rare
  • 33. Safety Verification and Validation  Methodologies  Proofs of adequacy  Software Fault Tree (proofs of fault tree analyses)  Determine safety requirements  Detect software logic errors  Identify multiple failure sequences involving different parts of the system  Inform critical runtime checks  Inform testing
  • 34. Safety Verification and Validation  Methodologies  Nuclear Safety Cross Check Analysis (NSCCA)  Demonstrate that software will not contribute to a nuclear mishap  Multiple technical analyses demonstrate adherence to specifications  Demonstrate security and control measures  A lot of qualitative judgment regarding criticality  Software Common Mode Analysis  Sneak Software Analysis
  • 35. Safety Analysis – Quantitative  Requires statistical histories which may not exist  Applies mostly to physical systems  Single-valued Best Estimate  Information sufficient for determinate models  Probabilistic  Science is understood, but limited parameters available  Bounding  Putting a ceiling on the answer
  • 36. System Safety Engineering  Identify hazards  Assessing hazards (likelihood and criticality)  Design to eliminate or control hazards  Assess risks that cannot be eliminated or controlled
  • 37. Failure Mode Definitions  Fail-safe  Default is safe mode, no attempt to execute operational mission  Fail-operational  Default is to correct fault and continue with operational mission  Fail-soft  Default is to continue with degraded operations
  • 38. Designing for Safety  Not possible to ensure safety by analysis or verification alone  Analysis and verification may be cost- prohibitive  Different standard hierarchy  Intrinsically safe  Prevents or minimizes occurrence of hazards  Controls the hazard  Warns of presence of hazard
  • 39. Safety Design Mechanisms  Lockout device  Prevents event from occurring when hazard is present  Lockin device  Maintains an event or condition  Interlock device  Assuring operation sequences in correct order
  • 40. Safety Design Principals  Provide leverage for certification  Avoid complexity where possible  Reduce risk by reducing hazard likelihood, or severity, or both  Modularize to separate safety-critical functions from non-critical functions  Execute safety-critical functions under separate authority  Fail on a single-point failure
  • 41. Safety Design Principals (cont’d)  Start out in safe state, and take affirmative actions to reach higher risk states  Check critical flags as close as possible to actions they protect  Avoid compliments: absence of “armed” is not “safe”  Use “true” values to indicate safety … “false” values can result from common hardware failures
  • 42. Safety Design Principals (cont’d)  Detection of unsafe states  Watchdog timer  Independent monitors  Asserts and exception handlers  Use backward recovery (return system to safe state) instead of forward recovery (plow ahead)
  • 43. Human Factors  Define partnership between human and computer  Avoid complacency  Avoid confusion  Avoid passive monitoring
  • 44. Conclusion  Select suite of techniques and tools spanning entire software development process  Apply them consciensciously, consistently, and thoroughly  Consider implementation tradeoffs  Low catastrophe, high cost alternatives  Moderate catastrophe, moderate cost alternatives  High catastrophe, low cost alternatives
  • 45. Take Home Messages  Safety is a system issue – in the large sense  Software engineering techniques can contribute to system safety – in both a narrow and broad context  Acceptable risk is king, and determining and executing it is hard

Editor's Notes

  1. THIS IS A SURVEY!!! It is a presentation of these papers These are old papers, but provide a sound basis for proceeding
  2. Safety-critical systems were based on redundancy built into physical systems. Safety was a based on redundant strength in components. Perversely: when computers can increase safety they are also used to increase operating performance, which often leads to greater risks – demand for greater speed, economy, altitude, maneuverability, etc.
  3. This doesn’t mean that errors didn’t occur in software. And software wasn’t always used in the direct implementation of a project. It was often used to support the design or delivery, and errors could occur in that software, too. In 1979, an error was discovered in a program used to *design* nuclear reactors … this resulted in the NRC shutting down 5 nuclear power plants.
  4. The MilSpec definition is unreasonable. To eliminate all hazards, nothing would fly, sail, or move Complication: attempts to eliminate risk usually result in displacement (and hiding) of risks Additionally, safety is a function of the situation in which it’s measured … risk cannot be eliminated
  5. Accident definition is adequate for technologies 50 years ago, when technologies where primarily physical or chemical. It’s inadequate now because of DNA and computer technologies. Mishaps include accidents and harmful exposures Mishaps are almost always caused by multiple factors. Engineers are good at debugging individual processes or components. Multiple factors involve the (random) recombination of events until the system is out of control. Mishaps usually have multiple opportunities to interrupt a sequence. Good example: Three Mile Island – four independent hardware failures concurrently and serially.
  6. Note that not all mishaps are of equal severity Combining risk and severity assessments into actionable information is a research area
  7. Airplanes then This philosophy still exists today …
  8. The analysis has be done It has to be correct, too Ford president was Lee Iacoca
  9. Meltdown of Fermi breeder reactor near Detroit … zirconium limiter broke off and blocked flow of coolant A self destruct command accidentally issued (instead of a read) in 1971 destroyed 72 of 141 French weather balloons Software engineers rarely consider the effects of hardware failures. Iyer and Velardi [1985] did study of production operating system and found that 11% of “software errors” and 40% of “software failures” were “computer hardware related.”
  10. Airplanes now Reduce risk to an “acceptable” level.
  11. … getting into process and management Might consider redundancy: “independence in failure behavior between independently produced software versions has not been found in empirical studies” [Knight and Leveson 1986] No evidence that ultra high reliability can be achieved this way Added complexity may cause run-time failures Does not solve erroneous requirements
  12. The safest system is a system that doesn’t work at all Availability is related to reliability, not safety Security is focused on malicious or unauthorized actions, safety is focused on inadvertent actions Safety is studied separately … SEPARATION OF CONCERNS
  13. Mishaps stem from lack of identification and assignment of responsibility for safety
  14. Components can be hardware, users, stakeholders, other modules
  15. Requirements Analysis – consistent, identify conflicts early, decide acceptable risk and liability High Level Design Analysis – software hazards and safety constraints, safety invariants, identify safety critical code Identifying and isolating safety critical code reduces downstream verification load Code Analysis – module safety invariants, protection devices,
  16. Sometimes identification is a two stage process: early identification, then refinement after system is designe
  17. FTA = “undesired system state is specified, and the system is then analyzed in the context of its environment and operation to find credible sequences …” Highly dependent on the talents of the analyst and how thoroughly he/she understands the system. Start with hazard, assume event has occurred, then work backward to determine set of possible causes. Necessary preconditions are described as AND and OR.
  18. Software fault tree proofs are very rigorous. Unclear of value in nondeterministic execution. May be worth it under extreme hazards such as with nuclear weapons
  19. Unrealistic assumptions (independence of failures, incomplete data, assumes built to plan and properly operated) Not very accurate Applicability to software is a research area
  20. Prevents or minimizes hazards: Lockout device = prevents event from occurring when hazard is present Lockin device = maintains an event or condition Interlock device = assuring operation sequences in correct order
  21. Leverage = minimizing complexity, simplifying verification/validation Make safety critical functions so they can’t be impeded by other functions Irony: Safety wants a single point failure … reliability wants resilience from multi-point failures
  22. Perrow[1984] Low: chemical plants, aircraft, dams, mining … self correcting, improvable Moderate: marine transport, recombinant DNA … less risky with considerable effort, but having great benefit High: nuclear weapons, nuclear power High … should be abandoned