New Challenges In Certification For Aircraft Software



Similar documents
Software Verification and System Assurance

What Is Assurance? John Rushby Based on joint work with Bev Littlewood (City University UK)

SAFE SOFTWARE FOR SPACE APPLICATIONS: BUILDING ON THE DO-178 EXPERIENCE. Cheryl A. Dorsey Digital Flight / Solutions cadorsey@df-solutions.

Certification of a Scade 6 compiler

Compositional Security Evaluation: The MILS approach

Parameters for Efficient Software Certification

Fundamental Principles of Software Safety Assurance

The Road from Software Testing to Theorem Proving

F-22 Raptor. Agenda. 1. Motivation

The MILS Component Integration Approach To Secure Information Sharing

asuresign Aero (NATEP Grant MA005)

Reaping the benefits of Reusable Software Components

The case for continuous penetration testing

Safety Management Challenges for Aviation Cyber Physical Systems

Certification Authorities Software Team (CAST) Position Paper CAST-13

Opening the airspace to UAS - ASTRAEA s next phase

The Impact of RTCA DO-178C on Software Development

Rigorous Methods for Software Engineering (F21RS1) High Integrity Software Development

Software Verification/Validation Methods and Tools... or Practical Formal Methods

Introduction of ISO/DIS (ISO 26262) Parts of ISO ASIL Levels Part 6 : Product Development Software Level

Integrating System Safety and Software Assurance

DO-178B/C Differences Tool

AC REUSABLE SOFTWARE COMPONENTS

Using CMM with DO-178B/ED-12B for Airborne System Development

Meeting DO-178B Software Verification Guidelines with Coverity Integrity Center

Best Practices for Verification, Validation, and Test in Model- Based Design

Certification Authorities Software Team (CAST) Position Paper CAST-9

Ethical Issues in the Software Quality Assurance Function

Safety Integrity Levels

Reduce Medical Device Compliance Costs with Best Practices.

When Betting Odds and Credences Come Apart: More Worries for Dutch Book Arguments

Architecture Artifacts Vs Application Development Artifacts

University of Paderborn Software Engineering Group II-25. Dr. Holger Giese. University of Paderborn Software Engineering Group. External facilities

Lessons Learned Applying Model-Based System Engineering Methods to a Strategic Planning Activity

Testing of safety-critical software some principles

Introduction to Static Analysis for Assurance

SILs and Software. Introduction. The SIL concept. Problems with SIL. Unpicking the SIL concept

Software Engineering. Computer Science Tripos 1B Michaelmas Richard Clayton

Safety-Critical Systems: Processes, Standards and Certification

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

The 7 th International Scientific Conference DEFENSE RESOURCES MANAGEMENT IN THE 21st CENTURY Braşov, November 15 th 2012

DO-178B compliance: turn an overhead expense into a competitive advantage

The new software standard for the avionic industry: goals, changes and challenges

1 Interest rates, and risk-free investments

Functional Safety Management: As Easy As (SIL) 1, 2, 3

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Sensitivity Analysis of Safety Measures for Railway Tunnel Fire Accident

Exhibit E - Support & Service Definitions. v1.11 /

Design of automatic testing tool for railway signalling systems software safety assessment

Basic Fundamentals Of Safety Instrumented Systems

Capital Investment Analysis and Project Assessment

April Comment Letter. Discussion Paper: Measurement Bases for Financial Accounting Measurement on Initial Recognition

THE NORDTEST METHOD OF QUALITY ASSURANCE OF ENVIRONMENTAL NOISE CALCULATION METHODS IN SOFTWARE PRACTICAL EXPERIENCES

RTCA DO-178B/EUROCAE ED-12B

Lecture 3: One-Way Encryption, RSA Example

Ein einheitliches Risikoakzeptanzkriterium für Technische Systeme

The Role of CM in Agile Development of Safety-Critical Software

Introduction to Software Engineering

SAFETY-CRITICAL VERSUS SECURITY-CRITICAL SOFTWARE

4 Applying DO-178B for safe airborne software

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

1 Uncertainty and Preferences

APPENDIX N. Data Validation Using Data Descriptors

Economics of Insurance

Software Process for QA

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Revision History Revision Date Changes Initial version published to

Numbers 101: Cost and Value Over Time

Factoring & Primality

Chicago Center Fire Contingency Planning and Security Review

" Y. Notation and Equations for Regression Lecture 11/4. Notation:

ISO Introduction

(Refer Slide Time: 01:52)

Quality in Aviation Software. Chris Hartgroves C.Eng. CQP Design Assurance SELEX Galileo

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Flight Data Monitor Systems (FDMS) Federal Aviation Administration

Waste Transfer Pricing Methodology for the disposal of higher activity waste from new nuclear power stations

Rigorous Software Development An introduction

Unit 19: Probability Models

Propulsion Gas Path Health Management Task Overview. Donald L. Simon NASA Glenn Research Center

Simulation and Lean Six Sigma

Subject Software Aspects of Certification

Title & Image NATIONAL CIVIL AVIATION ADMINSTRATION. Advisory Circular

SCADE SUITE SOFTWARE VERIFICATION PLAN FOR DO-178B LEVEL A & B

Vetting Smart Instruments for the Nuclear Industry

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

We rst consider the game from the player's point of view: Suppose you have picked a number and placed your bet. The probability of winning is

Test Case Design Techniques

Software in safety critical systems

Benefits of Test Automation for Agile Testing

The Influence of Software Vulnerabilities on Business Risks 1

Transcription:

New Challenges In Certification For Aircraft Software John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby, SR I Aircraft Software Certification 1

Overview The basics of aircraft certification The basics of aircraft software certification A theory of software assurance How well does aircraft certification work? And why does it work? How to improve it, and new challenges John Rushby, SR I Aircraft Software Certification 2

Aircraft-Level Safety Requirements Aircraft failure conditions are classified in terms of the severity of their consequences Catastrophic failure conditions are those that could prevent continued safe flight and landing And so on through severe major, major, minor, to no effect Severity and probability/frequency must be inversely related AC 25.1309: No catastrophic failure conditions in the operational life of all aircraft of one type Arithmetic and regulation require the probability of catastrophic failure to be less than 10 9 per hour, sustained for many hours John Rushby, SR I Aircraft Software Certification 3

Aircraft-Level Safety Analysis and Assurance This is spelled out in ARP 4761, ARP 4754A Basically, hazard analysis, hazard elimination and mitigation, applied iteratively and recursively through subsystems When we get to software components, must consider malfunction and unintended function as well as loss of function Assign design assurance levels (DALs) to software components: Level A corresponds to potential for catastrophic failures, through B, C, D, to E Can use architectural mitigation (e.g., monitors) to reduce DALs (e.g., instead of a Level A operational system, may be able to use a Level C system plus a Level A monitor) John Rushby, SR I Aircraft Software Certification 4

Software Assurance Safety analysis recurses down through subsystems and components until you reach widgets For widgets, just build them right (i.e., correct wrt. specs) Software is a widget in this sense Hence, DO-178B is about correctness, not safety Safety analysis ends at the (sub)system requirements Show the high-level software requirements comply with and are traceable to system requirements, thereafter it s all about correct implementation (apart from derived requirements) John Rushby, SR I Aircraft Software Certification 5

System vs. Software Assurance Safety analysis ends at the (sub)system requirements Thereafter it s all about correctness: DO-178B safety goal aircraft level requirements safety validation correctness verification aircraft function requirements (sub)system requirements high level software requirements code John Rushby, SR I Aircraft Software Certification 6

DO-178B These are the current guidelines for airborne software DO-178B identifies 66 assurance objectives E.g., documentation of requirements, traceability of requirements to code, test coverage, etc.) More objectives (plus independence) at higher DALs 28 objectives at DO178B Level D (10 3 ) 57 objectives at DO178B Level C (10 5 ) 65 objectives at DO178B Level B (10 7 ) 66 objectives at DO178B Level A (10 9 ) The Conundrum: What s the connection between the number of objectives i.e., amount of correctness-focused V&V And probability of failure (or, dually, reliability)? John Rushby, SR I Aircraft Software Certification 7

Software Reliability Software contributes to system failures through faults in its requirements, design, implementation bugs A bug that leads to failure is certain to do so whenever it is encountered in similar circumstances There s nothing probabilistic about it! Aaah, but the circumstances of the system are a stochastic process So there is a probability of encountering the circumstances that activate the bug Hence, probabilistic statements about software reliability or failure are perfectly reasonable Typically speak of probability of failure on demand (pfd), or failure rate (per hour, say) John Rushby, SR I Aircraft Software Certification 8

Aleatoric and Epistemic Uncertainty Aleatoric or irreducible uncertainty is uncertainty in the world e.g., if I have a coin with P(heads) = p h, I cannot predict exactly how many heads will occur in 100 trials because of randomness in the world Frequentist interpretation of probability needed here Epistemic or reducible uncertainty is uncertainty about the world e.g., if I give you the coin, you will not know p h ; you can estimate it, and can try to improve your estimate by doing experiments, learning something about its manufacture, the historical record of similar coins etc. Frequentist and subjective interpretations OK here John Rushby, SR I Aircraft Software Certification 9

Aleatoric and Epistemic Uncertainty in Models In much scientific modeling, the aleatoric uncertainty is captured conditionally in a model with parameters And the epistemic uncertainty centers upon the values of these parameters As in the coin tossing example: p h is the parameter John Rushby, SR I Aircraft Software Certification 10

Measuring/Predicting Software Reliability For pfds down to about 10 4, it is feasible to measure software reliability by statistically valid random testing But 10 9 would need 114,000 years on test So how do we establish that a piece of software is adequately reliable for a system that requires, say, 10 9? Standards for system security or safety (e.g., Common Criteria, DO178B) require you to do a lot of V&V Which brings us back to The Conundrum John Rushby, SR I Aircraft Software Certification 11

Aleatoric and Epistemic Uncertainty for Software The amount of correctness-based V&V does not relate to reliability in any obvious way Maybe it relates better to some other probabilistic property of the software s behavior Recap of the process: We are interested in a property of s/w dynamic behavior There is aleatoric uncertainty in this property due to variability in the circumstances of the software s operation We examine static attributes of the software to form an epistemic estimate of the property More examination refines the estimate For what kinds of properties could this work? John Rushby, SR I Aircraft Software Certification 12

Perfect Software Property cannot be about some executions of the software Like what proportion fail Because the epistemic examination is static (i.e., global) This is the disconnect with reliability Must be a property about all executions, like correctness But correctness is relative to specifications, which themselves may be flawed We want correctness relative to safety claims Found in the system (not software) requirements Call that perfection Software that will never experience a safety failure in operation, no matter how much operational exposure it has John Rushby, SR I Aircraft Software Certification 13

Possibly Perfect Software You might not believe a given piece of software is perfect But you might concede it has a possibility of being perfect And the more V&V it has had, the greater that possibility So we can speak of a (subjective) probability of perfection For a frequentist interpretation: think of all the software that might have been developed by comparable engineering processes to solve the same design problem And that has had the same degree of V&V The probability of perfection is then the probability that any software randomly selected from this class is perfect This idea is due to Bev Littlewood and Lorenzo Strigini John Rushby, SR I Aircraft Software Certification 14

Probabilities of Perfection and Failure Probability of perfection relates to correctness-based V&V But it also relates to reliability: By the formula for total probability P(s/w fails [on a randomly selected demand]) (1) = P(s/w fails s/w perfect) P(s/w perfect) +P(s/w fails s/w imperfect) P(s/w imperfect). The first term in this sum is zero, because the software does not fail if it is perfect (other properties won t do) Hence, define p np probability the software is imperfect p fnp probability that it fails, if it is imperfect Then P(software fails) p fnp p np This analysis is aleatoric, with parameters p fnp and p np John Rushby, SR I Aircraft Software Certification 15

Epistemic Estimation To apply this result, we need to assess values for p fnp and p np These are most likely subjective probabilities i.e., degrees of belief Beliefs about p fnp and p np may not be independent So will be represented by some joint distribution F(p fnp,p np ) Probability of software failure will be given by the Riemann-Stieltjes integral p fnp p np df(p fnp, p np ). (2) 0 p fnp 1 0 pnp 1 If beliefs can be separated F factorizes as F(p fnp ) F(p np ) And (2) becomes P fnp P np Where these are the means of the posterior distributions representing the assessor s beliefs about the two parameters John Rushby, SR I Aircraft Software Certification 16

Practical Application Nuclear Traditionally, UK nuclear protection systems are assured by statistically valid random testing Very expensive to get to pfd of 10 4 this way Our analysis says pfd P fnp P np They are essentially setting P np to 1 and doing the work to assess P fnp < 10 4 Any V&V process that could give them P np < 1 Would reduce the amount of testing they need to do e.g., P np < 10 1, which seems very plausible Would deliver the same pfd with P fnp < 10 3 This could reduce the total cost of assurance John Rushby, SR I Aircraft Software Certification 17

Practical Application Aircraft, Version 1 No aircraft accidents due to software, and enough operational exposure to validate software failure rate < 10 9 Aircraft software is assured by V&V processes such as DO-178B Level A As well as DO-178B, they also do a massive amount of all-up testing but do not take assurance credit for this Littlewood and Povyakalo show (under independence assumption) that large number of failure-free runs shifts assessment from imperfect but reliable toward perfect Our analysis says software failure rate P fnp P np So they are setting P fnp = 1 and P np < 10 9 So flight software might indeed have probabilities of imperfection < 10 9 And DO-178B delivers this John Rushby, SR I Aircraft Software Certification 18

Practical Application Aircraft, Version 2 Although no accidents due to software, there have been several incidents So actual failure rate may be only around 10 7 Although they don t take credit for their all-up testing, this may be where a lot of the assurance is really coming from Our analysis says software failure rate P fnp P np So perhaps testing is implicitly delivering, say, P fnp < 10 3 And DO-178B is delivering only P np < 10 4 I do not know which of Version 1 or 2 is true But there are provocative questions here John Rushby, SR I Aircraft Software Certification 19

Aside: Dual and Monitored Systems Many safety-critical systems have two (or more) diverse channels arranged in 1-out-of-2 or primary/monitor architectures Cannot simply multiply the pfds of the two channels to get pfd for the system Failures are unlikely to be independent E.g., failure of one channel suggests this is a difficult case, so failure of the other is more likely Infeasible to measure amount of dependence But the probability of imperfection of one channel is conditionally independent of the pfd of the other So you can multiply these together to get system pfd See forthcoming IEEE TSE paper with Bev Littlewood John Rushby, SR I Aircraft Software Certification 20

How Well Does DO-178B Work? There is one accident likely to be attributed to software A330 in-flight upset near Learmonth, WA, 2008 Gust rejection in sensor fusion for angle of attack passed faulty values through And numerous incidents, some egregious Fuel emergency on A340 near Amsterdam, 2005 Predator crash near Nogales, 2007 Threatened grounding of a widebody fleet Problems are always traced to flawed requirements Compounded by unexpected interactions following the initial failure John Rushby, SR I Aircraft Software Certification 21

Improving DO-178B It looks like the scrutiny of high level software requirements should be improved Beyond that, it is difficult to propose ways to improve DO-178B Because we do not know how well it works cf. Versions 1 and 2 of my analysis Nor why it works In the sense of what each objective does In ways that would let us change or replace some of them We need a framework to help us understand this John Rushby, SR I Aircraft Software Certification 22

Safety Cases All certification rests on a common intellectual basis We have safety claims or goals we want to substantiate We produce evidence about the product and its development process And we have an argument that the evidence is sufficient to support the claims In a safety case, we have to produce all three parts In a standards-based approach, such as DO-178B, the claims and argument are implicit They were presumably hashed out in the committee meetings that produced the standard And the standard/guidelines tell us what evidence to produce John Rushby, SR I Aircraft Software Certification 23

Alternative Methods Of Compliance Can substitute an alternative method for an objective, provided it meets the intent of the objective The intent surely relates to the argument supported by the objective But these arguments are not documented Example: MC/DC testing Tests generated from requirements must achieve a structural coverage criterion on the code called Modified Condition/Decision Coverage Can we substitute some kind of formal analysis for this? It depends on the intent of MC/DC John Rushby, SR I Aircraft Software Certification 24

Intent of MC/DC Ensures reasonably thorough unit testing of the code Valuable because we do not trust the compiler Because the tests are generated from requirements, code not covered by the tests indicates the presence of unintended functionality Because the tests are generated from the requirements, and must achieve rather demanding coverage of the internal program branching structure, it forces very detailed requirements John Rushby, SR I Aircraft Software Certification 25

DO-178C A ten-year effort to update DO-178B Aircraft design evolves slowly, so do the system-oriented aspects of software (requirements etc.) But methods for software development and analysis change much more rapidly: DO-178C updates focused here DO-178C adds guidelines for model-based development and autocoding, object-oriented-languages, formal methods, etc. Required reverse-engineering the intent, and hence the argument, for many objectives But still does not document them Surely, it would be sensible and worthwhile to do so John Rushby, SR I Aircraft Software Certification 26

New Challenges Size of software doubles every two years Bug density is constant So failures may grow exponentially Furthermore, much of that additional code is integrating previously federated systems Integration on board (IMA) Integration with other aircraft and with air traffic management (NextGen) Integration with flightcrew (shifting authority and autonomy) Federation provided natural barriers to fault propagation Have to restore this by partitioning Integration may precipitate emergent misbehavior John Rushby, SR I Aircraft Software Certification 27

New Challenges (2) The structure and practices of the industry are changing Massive outsourcing, reduced oversight DERs as consultants May be losing the safety culture Can automation replace this? DO-178B costs a lot This should be addressed by automation Rather than by lobbying John Rushby, SR I Aircraft Software Certification 28

Summary and Suggestions The standards-based approach (DO-178B/C) seems to work fairly well for aircraft Possibly better than a safety case (cf. Nimrod) Updating and improving DO-178B/C (e.g., for increased automation) would be eased if the arguments supported by each objective were made explicit The main weakness seems to be in the transition from system to software processes Perhaps safety analysis should be driven down to the high-level software requirements Certainly they should be subjected to more analysis John Rushby, SR I Aircraft Software Certification 29

Apply Safety Analysis To Software Requirements safety goal aircraft level requirements safety validation correctness verification aircraft function requirements (sub)system requirements high level software requirements code John Rushby, SR I Aircraft Software Certification 30

Research Agenda Safety is not compositional That s why the FAA certifies only aircraft and engines But it should be So We need to better understand emergent misbehavior And how to control it And we need to better understand software assurance Probability of perfection explains how assurance works But what values can we assess: 10 9, 10 5? John Rushby, SR I Aircraft Software Certification 31

Research Agenda (2) What do the individual objectives of DO-178B accomplish? What can we do better? What is the relation between verification and safety argumentation? Closing thought: Let s develop certification as a research topic John Rushby, SR I Aircraft Software Certification 32