Download Open-source Software Panel: More or Less Secure and Reliable

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Project Management effects
on software dependability
Brendan Murphy
Microsoft Research
Cambridge, UK
E-Science Dec 2002.
Agenda




Developing solutions.
Exploring ‘dependability’
Ignored areas of dependability.
Program Management of Windows NT
(brief overview).
E-Science Dec 2002.
Achieving highly dependable
software programs.
Problem
Solution
Business Man
Software Architect
Software Engineers
Software
Users
E-Science Dec 2002.
What went wrong
Problem definition
Understand concepts
Exceptions?
Knowledge of solution?
Software Architect
Clear
Responsibilities
Ownership?
Not tested in
Production environment.
Business Man
Problem
Reduce costs
De-skill
Software
Software Engineers
Different
Environments!
Users
System Manager
de-motivated.
E-Science Dec 2002.
Apply other engineering disciplines
to software (e.g. trains)!
Original problem.
 People had there own
trains.
 Many different track
designs.
 Variations in train
design.
Red for danger L.C.Rolt
Solution - redefined the
problem
 Standardization.
 People training.
 150+ year of trial and
error.
Result a dependable but
inflexible process.
E-Science Dec 2002.
Developing dependable systems.
Solution.
 Develop specialized hardware.
 Write your own OS and applications.
 Employ highly trained users and operators.
Problems
 Very expensive.
 Difficult to get staff.
 Comparison to commercial products.
E-Science Dec 2002.
Dependability requirements
bugs/KLOC?
Problem.
Dependability needs.
Safety Critical
Predictability.
Business Process.
Knowledge transfer.
Database development.
Data integrity.
New product.
Very little.
E-Science Dec 2002.
Overlooked dependability issues
System Recovery of OpenVMS systems.
Distribution of Length of System Uptime
70%
60%
Single events can
Induce periods of
System instability.
Distribution
50%
40%
System Outages
System Crashes
30%
20%
10%
0%
<30 Minutes
30 - 60
Minutes
1 - 3 Hours
3 - 24 Hours
1 - 7 Days
Time Between System Reboots
System Reliability Issues, FTC 1999 Murphy, Davies
7 - 31 Days
1 Month+
E-Science Dec 2002.
Knowledge affects dependability.
OpenVMS dependability improvement over
time.
Operating System Life Cycle
8
70
Operating System behaviour
improves with age?
7
60
6
5
40
4
30
3
2
1
20
Few new patches are produced
6 months after the release of any
version of the Operating System.
10
0
0
1st 6 Months
2nd 6 Months
3rd 6 Months
Time following Release
System Reliability Issues, FTC 1999 Murphy, Davies
4th 6 Months
System Outage Rate
System Crash Rate
50
System Crashes
System Outages
E-Science Dec 2002.
Project Management at Microsoft.
Ideal
 A standard predictable process producing
dependable and secure software.
Reality
 No ideal process exists.
 Development teams have flexibility in their
development process.
 System test and release a separate process.
 Continuous tool development.
 User Interface a separate group.
E-Science Dec 2002.
Windows NT development.
Development Teams
(e.g. kernel)
Legacy applications
New applications
Release Management
System Test Development
System Verification
Responsible for
Design
Implement
Testing
Legacy computer
New hardware
and drivers
Software
E-Science Dec 2002.
NT Development
E-Science Dec 2002.
Summary




Understand product dependability from
the end user perspective.
Assume you will not reach perfection.
Understand the preferences/dislikes of the
development team.
Then choose the development and
program management process.
Related documents