software process synthesis in assurance based development of dependable systems

27
Software Process Synthesis in Assurance Based Development of Dependable Systems Patrick J. Graydon John C. Knight University of Virginia

Upload: stacey

Post on 23-Mar-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Software Process Synthesis in Assurance Based Development of Dependable Systems. Patrick J. Graydon John C. Knight University of Virginia. Certification By Safety Argument. Standard Development Process. System Requirements and Goals. Evidence. Goals. “I believe that the evidence - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis inAssurance Based

Developmentof Dependable Systems

Patrick J. GraydonJohn C. Knight

University of Virginia

Page 2: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 2

Certification By Safety Argument

System Requirements

and Goals

Does the evidence imply the goals?

Standard Development Process

RigorousArgument

“I believe thatthe evidence

I have obtainedjustifies the claim

that the goalsare met”

EvidenceGoals

2010 April 29

Page 3: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 3

Can We Exploit Argument?

G01

Airbus A320 FCS is safe to operate.

ST01

Argument by addressing all credible hazards

ST02Argument for compliance with applicable safety regulations

C01

System hazard analysis

C02

DO-178B standard

C03

A320 FCS operating procedures

G02Hazard of aircraft exiting flight envelope sufficiently mitigated.

C04

A320 flight envelope

G03Control logic enforces flight envelope constraints on pilot.

G04Control logic will not command hazardous maneuver.

G05Direct control law provides pilot override mechanism.

S01

Control logic design

S02

Model checking analysis

Legend

G: Goal (property to be shown)

C: Context (inclusion indicated by )

ST: Strategy (type of argument being made to support goal)

S: Solution (factual basis for the argument)

: remains to be supported

?

Argument tells us what is important

Artifacts provide services and

evidence

Is there a mechanism?

Argument Artifact

2010 April 29

Mechanism goal: generate the necessary artifacts (including software) and evidence

Page 4: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 4

Turning the Knobs to Maximum

• Extreme Programming“turned up the knobs”

• ABD turns up the knobs on rational development

2010 April 29

Good BetterSafety arguments

Broader argument

“Early and often”

Continuous argument update

Rational choices

A completely rational process

Page 5: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 52010 April 29

Comprehensive Argument

• Problem:– Argument must address all goals of all stakeholders

• There will be tradeoffs– Must appear explicitly in the argument

• Must be addressed• Seen to be addressed• Impact of each must be clear

• Without this, consequences could be severe• As a driver, safety argument does not do this

Page 6: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 6

Software That Is Fit For Use

• Not just safety, butfitness for purpose:– Adequate safety, and– Adequate security, and– Desired functionality, and– Everything else

Main fitness claim:The system is adequately fit for use in the context(s) in which it will be operated.

2010 April 29

Safety

Functionality

Security

Page 7: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems

The Merit Of Envelope Protection

7 of 68

“Darn, the wings did fall off.”

2010 April 29

Page 8: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 8

Successful Development

• The fitness argument captures data about the product

• The success argument captures data about the process

2010 April 29

Fitness argumentSoftware

Success argumentDevelopment process

• Development schedule, and• Budget and other

resource constraints, and• Pragmatic development

constraints

Page 9: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 9 of 68

Assurance Based DevelopmentS

ucce

ss A

rgum

ent

Fitn

ess

Arg

umen

t

Development

SynthesizedDevelopment

Process

Obligation

Support Support

Obligation

Shrinks

Grow

s

2010 April 29

Page 10: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 10

Process Synthesis: Select Goals to Address

2010 April 29

Fitnessargument

Successargument

Experience (both personal and that of

colleagues)

Pattern library and other literature

Option n

Option 1

Option 2

Assuranceobligations

Assuranceobligations

Options

Options

• Area of expertise• Perceived risk of infeasibility• Minimize interdependency

• First step: select a goal or goals to address

Page 11: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 11

Process Synthesis: Gather Options

2010 April 29

Fitnessargument

Successargument

Experience (both personal and that of

colleagues)

Pattern library and other literature

Option n

Option 1

Option 2

Assurance obligations

Options

Options

• Gathering options takes time• Must balance effort spent versus

perceived risk of making a poor choice

• Second step: gather options that meet the selected obligations

Assurance obligations

Page 12: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 12

Example Options

• Obligations:– Success: Timing goals can be met demonstrably– Fitness: Real-time requirements met

• Options considered:– Analyze WCET using a tool to be chosen later– Utilize a watchdog timer to re-issue last frame’s

control outputs if deadline would be missed

2010 April 29

Page 13: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 13

Process Synthesis: Evaluating Options

Consider:• Functionality• Restrictions on later

choices

• Cost• Feasibility• Applicable standards• Non-functional requirements

2010 April 29

Option n

Option 1

Option 2

Arg. frag. n

Arg. frag. 1

Arg. frag. 2

Fitness argument

Success argument

Evaluation

Page 14: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 14

Evaluation of Example Option

• Use WCET analysis– Would supply strong evidence that the hard real-

time deadlines would be met• Re-issue last frame’s control outputs if late

– Unacceptable — how would we demonstrate:• re-issuing the last frame’s outputs would be rare• doing so rarely would keep the system safe

2010 April 29

Page 15: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 15

Process Synthesis: Recording A Choice

2010 April 29

Updated success

argument

Evaluation

Arg. fragment(s)

Process elements

Updated fitness

argument

Planned process description

If a choice is expected to produce evidence, the evidence added to the argument is marked as forthcoming (e.g. using a diamond in Goal Structuring Notation)

Fragments associated with chosen option

Page 16: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 16

Process Execution

2010 April 29

Process synthesis mechanism

Process description

Processexecution

Experience

Artefacts

Confirmation or exception

Evidence

Page 17: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 17

A Case Study of ABD

• Controlled, replicated experiment impractical– Instead: conduct carefully a case study

• Look for evidence of four kinds of problems:– Infeasibility: developers might be incapable;

additional effort might be infeasible– Obligations are not appropriate choice drivers– Can’t judge options by argument impact alone– No decision criteria is missing or superfluous

• Study protocol includes questionnaire– 23 questions answered per synthesis step

2010 April 29

Page 18: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 18

The UVA LifeFlow LVAD

• Left Ventricular AssistDevice

• Continuous-flowaxial design

• Magnetic bearings• Less blood damage

than currentmodels!

2010 April 29

Page 19: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 19

Magnetic Bearing Control

• Compute control updates in hard-real-time (5 kHz)– State-space control model, 16 states

• No more than 10-9 failures per hour of operation2010 April 29

Page 20: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 20

Resulting Synthesized Process

• Formal specification in PVS• Design a cyclic executive to manage the real-time tasks• Design bearing control task routines• Implement MBCS in SPARK Ada (2,510 lines)• Implement bootstrap (106 assembly instructions)• Use AdaCore's GNAT Pro High-Integrity Edition compiler• Formally verify the implementation

– Used Echo approach, PVS, and SPARK Tools• Analyze Worst-Case Execution Time (WCET) and stack usage• Requirements-based functional testing to Modified

Condition / Decision Coverage (MC/DC) (not completed)

2010 April 29

Page 21: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 21

Fitness argument

2010 April 29

Page 22: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 22

Fitness argument

• 348 GSN elements• Widest step: 5 child elements• Longest path: 26 elements• General form:

– Integration testing and– Appeal to satisfied requirements

• Timing demonstrated by WCET analysis• Functionality demonstrated by testing and formal proof

2010 April 29

Page 23: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 23

Success Argument

2010 April 29

Page 24: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 24

Success Argument

• 49 GSN elements• Widest step: 10 child elements• Longest path: 9 elements• General form:

– Appeal to planning and– Argument over enumerated development risks

• Evolution:– Starts small, grows early, becomes moot

2010 April 29

Page 25: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 25

Case Study Results

2010 April 29

Feasibility No difficulties observed

Obligations are not appropriate choice drivers

28 choices:• 19 followed direct reasoning• 6 others addressed an obligation• 2 addressed unnoted development risk• 1 remaining case was an implicit choice

Can’t judge options by argument impact alone

We observed no value that could not be represented in the fitness or success argument

No decision criteria is missing or superfluous

We observed that impact on schedule was not covered in the choice criteria; it has been added

Page 26: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 26

Next Steps

• Case study reimplementation of Tokeneer– NSA security challenge problem– Common Criteria– Evaluating ABD repair mechanism– Evaluating ABD pattern library– Collecting developer effort metrics

• Developing argument-based certification mechanism

• Working with philosophy department on argument quality

2010 April 29

Page 27: Software Process Synthesis in Assurance Based Development of Dependable Systems

Software Process Synthesis in Assurance Based Development of Dependable Systems 27

Questions?

Software Process Synthesis inAssurance Based Development

of Dependable Systems

Patrick J. GraydonJohn C. Knight

University of Virginia

2010 April 29