software dependability - laaswebhost.laas.fr/tsf/dependability/pdf/9-karamakanoun.pdf · 2010. 4....

27
1 Software Dependability: How Far are We? Karama Kanoun Dependability of Computing Systems: Memories and Future 15-16 April 2010 - Toulouse - France

Upload: others

Post on 31-Jan-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    Software Dependability:How Far are We?

    Karama Kanoun

    Dependability of Computing Systems: Memories and Future15-16 April 2010 - Toulouse - France

  • 2

    ☞ User / customer• Confidence in the product

    • Acceptable failure rate

    Why Software Dependability Assessment?

    ☞ Developer / Supplier• During production

    ☞ Reduce # faults (zero defect)

    ☞ Optimize development

    ☞ Increase operational dependability

    • During operation☞ Maintenance planning

    • Long term☞Improve software dependability

    of next generations

  • 3

    Approaches to Software Dependability Assessment

    ☞ Assessment based on software characteristics• Language, complexity metrics, application domain, …

    ☞ Assessment based on measurements• Assessment of the product

    • Assessment of the production process

    ☞ Assessment based on controlled experiments• Ad hoc vs standardised → benchmarking

  • 4

    Outline of the Presentation

    ☞ Assessment based on software characteristics• Language, complexity metrics, application domain, …

    ☞ Assessment based on measurements• Assessment of the product

    • Assessment of the production process

    ☞ Assessment based on controlled experiments• Ad hoc vs standardized → benchmarking

  • 5

    Dependability Measures?

    Static measuresStatic measuresDynamic measures:Dynamic measures:characterizingcharacterizingoccurrence of failuresoccurrence of failuresand correctionsand corrections

    Failure intensityFailure rateMTTFRestart timeRecovery timeAvailability…

    Complexity metricsNumber of faultsFault density… Usage profile

    & Environment

  • 6

    • Data validation

    • Descriptive statistics

    • Trend analysis

    • Modelling/prediction

    Data CollectionData Processing

    Times to failures /# failures

    Failure impactFailure originCorrections

    • Non-stationary processes• Stochastic models

    • Model validation

    Measures

    Assessment Based on Measurements

    Objectivesof the analysis

    Capitalize experience

    Data related to similar projects

    Feedback to software development process

    Software Process Improvement (SPI)

  • 7

    Benefits from SPI Programmes☞ AT&T(quality program):

    Customer reported problems divided by 10Maintenance program divided by 10

    System test interval divided by 2New product introduction interval divided by 3

    ☞ IBM (defect prevention approach):Fault density divided by 2 with an increase of 0.5 % of the product resources

    ☞ Motorola (Arlington Heights), mix of methods:Fault density reduction = 50% within 3.5 years

    ☞ Raytheon (Electronic Systems), CMM:Rework cost divided by 2 after two years of experienceProductivity increase = 190%Product quality: multiplied by 4

  • 8

    Assessment Based on Measurements

    • Data validation

    • Descriptive statistics

    • Trend analysis

    • Modelling/prediction

    Data Collection Data Processing

    • Non-stationary processes• Stochastic models

    • Model validation

    Times to failures /# failures

    Failure impactFailure originCorrections

    • Trend evolution

    • Failure modes

    MTTF Failure rate Failure Intensity Availability

    • Measures

  • 9

    Why Trend Analysis?

    Corrections

    . . .

    Vi,1

    Failure intensity

    time

    Vi,2

    Vi,k

    Corrections

    Changes (usage profile, environment,specifications,...)

    Vi+1,1

    Vi+1,2

    Vi+1,3Vi+1,4

  • 10

    0

    5

    10

    15

    20

    25

    1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 months

    Failure intensity

    OperationValidation

    10

    20

    30

    40

    11 15 19 23 29 31

    # systems

    Example: Electronic Switching System

  • 11

    0

    20

    40

    60

    80

    100

    120

    140

    160

    180

    200

    220

    1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 months

    Observed

    OperationValidation

    Cumulative number of failures

    Electronic Switching System (Cont.)

  • 12

    Cumulative number of failures

    0

    20

    40

    60

    80

    100

    120

    140

    160

    180

    200

    220

    1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 months

    Observed

    → Hyperexponential model application⇒ maintenance planning

    Predictive assessmentRetrodictive assessment

    Observed # failures [20-32] = 33 Predicted # failures [21-32] = 37

    Electronic Switching System (Cont.)

  • 13

    Failure intensity and failure rate in operation(for an average system)

    Residual failure rate6

    5

    5

    6

    -

    -

    -

    -

    -5

    Telephony 1.2 10 /hDefense 1.4 10 /hInterface 2.9 10 /h

    Management 8.5 10 /hSum 5.3 10 /h

    7510311542

    335

    Component

    0

    0.5

    1

    1.5

    2

    2.5

    17 19 21 23 25 27 29 31

    Estimated by Hyperexponential model

    Observed

    Residual failure rate: 5.7 10-5 /h

    Electronic Switching System (Cont.)

  • 14

    Other Example: Operating System

    100000

    150000

    200000

    250000

    300000

    1 21 41 61 81 101 121 141 161 181# failures

    MeanTime to Failure

    u(i)

    -2-1,5

    -1-0,5

    00,5

    11,5

    2

    1 21 41 61 81 101 121 141 161 181 # failures

    Trend evolution= stable dependability

    Observed Time to Failure during operation

  • 15

    Validity of Results

    Early Validation

    ☞ Trend analysis → development          follow-up

    Assessment

    End of Validation

    ☞ Trend analysis +☞ Assessment • operational profile • enough data

    ☞ Limits: 10-3/h -10-4/h

    Operation

    ☞ Trend analysis +☞ Assessment High relevance

    Examples:E10-B (Alcatel ESS):1400 systems, 3 yearsλ = 5 10-6/hλc = 10-7/h

    Nuclear I&C systems:8000 systems, 4 years λ: 3 10-7/h → 10-7/hλc = 4 10-8/h

  • 16

    Research Gaps

    ☞ Applicability to safety critical systems

    • During development

    ☞ Applicability to new classes of systems

    • Service oriented systems

    • Adaptive and dynamic software systems ⇒ on-line assessment

    ☞ Industry implication

    • Confidentiality ⇒ real-life data

    • Cost (perceptible overhead, invisible immediate benefits)

    ☞ Accumulation of experience ⇒ software process improvement

    ⇒ assessment of the software process

    ☞ Case of Off-The-Shelf software?

  • 17

    Dependability BenchmarkingOff-The-Shelf software

    ☞ No information available from software development

    ☞ Evaluation based on controlled experimentation

    Ad hoc Standard

    Evaluation of dependability measures / featuresin a non-ambiguous way → comparison

    ⇓ Properties

    Reproducibility, repeatability, portability, representativeness, acceptable cost

    Dependability benchmarkingInterna

    l purpo

    se

    Results

    : availa

    ble

    & reus

    able

  • 18

    Benchmarks of Operating Systems

    Which OS for mycomputersystem?

    Operating System

    MacLinux

    Windows

    Computer System

    ☞ Limited knowledge: functional description

    ☞ Limited accessibility and observability

    ⇒ Black-box approach ⇒ robustness benchmark

  • 19

    OS Outcomes

    Operating system

    Hardware

    Devicedrivers

    Application

    APIFaults

    Faults = corrupted system calls

    Robustness Benchmarks

  • 20

    OS Response Time to Faults in the Application

    µs µs

    In the presence of corrupted system calls

    Without corruption

    Windows Linux

  • 21

    Mean Restart Time

    Windows Linuxseconds seconds

    In the presence of corrupted system calls

    Without corruption

  • 22

    # exp

    Detailed Restart Time

    # exp

    check disksecondsseconds

    Windows XP Linux 2.2.26

  • 23

    Impact of application state after failure

    Restart time(seconds)

    More on Windows family

    # exp XP

    NT4

    2000

  • 24

    Benchmark Characteristics

    ☞ A benchmark should not replace software test and validation

    ☞ Non-intrusiveness ⇒ robustness benchmarks

    (faults injected outside the benchmark target)

    ☞ Make use of available inputs and outputs → impact on measures

    ☞ Balance between cost and degree of confidence

    ☞ # dependability benchmark measures >

    # performance benchmark measures

    ⇒ Lack of maturity

  • 25

    Maturity

    “Competition” benchmarks

    ☞ Performance benchmarks

    • Mature domain

    • Cooperative work

    • Integrated to system development

    • Accepted by all actors for

    competitive system comparison

    “Ad hoc” benchmarks

    ☞ Dependability benchmarks

    • Infancy

    • Isolated work

    • Not explicitly addressed

    • Acceptability?

    • •??

    Maturity

  • 26

    Ultima

    te objec

    tive:

    more r

    eliable

    softwar

    e, faste

    r, and

    cheape

    r!

  • 27

    Software Dependability:How Far are We?

    Karama Kanoun

    Dependability of Computing Systems: Memories and Future15-16 April 2010 - Toulouse - France