Software Profiling for Designing Dependable Software

Transcription

Software Profiling for Designing Dependable Software
Software Profiling for Designing Dependable Software
Software Profiling for
Designing Dependable Software
Martin Hiller
Volvo Technology Corporation, Sweden
Technische Universität Darmstadt, Germany
Arshad Jhumka, Neeraj Suri
Technische Universität Darmstadt, Germany
Software Profiling for Designing Dependable Software
Overall Objectives
For black-box software, reliability can be
provided/increased by adding mechanisms
that detect and correct data errors.
A
C
E
B
D
F
€1,000,000-question:
Given a software system and limited resources – where should
mechanisms be placed?
Z Systematic placement of EDM’s and ERM’s
(EDM = Error Detection Mechanism, ERM = Error Recovery Mechanism)
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Placing Software Mechanisms
Fault/Error
Model
Type,
Occurrence
Dependability
Structures/
Mechanisms
Software
Software
Profiles
Profiles
Implementation Vulnerabilities,
Hot-Spots
Details
Vulnerabilities
,
Vulnerabilities,
Hot
-Spots
Equipping Software With EDM’s
/ ERM’s
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Motivation for Software Profiling
A
C
A
C
E
B
E
D
B
F
D
F
!
!
Obtain profiles of the
software system to
select locations.
A
C
E
B
D
F
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Increasingly bad
Software Profiling for Designing Dependable Software
Profiling Modular Software
Software profiling w.r.t.
Propagation WHERE does an error GO when it appears?
A
C
E
B
D
F
Effect
WHAT does an error DO when it appears?
A
C
E
B
D
F
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Error Permeability – Letting Errors Pass
ninj
Input 1
Input 2
Estimated error permeability:
M
Input i
.
.
.
Input m
.
.
.
Output 1
Output 2
Output k
Output n
nerr
M
i ,k
P
n err
=
n inj
A total of m·n values for Module M
Analytical error permeability:
M
i ,k
0 ≤ P = Pr{error in output k | error in input i} ≤ 1
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
SW Profiling: Propagation Analysis
M
Module Error Permeability
To what degree does a module let errors ”pass through”
High value Î error containment should be increased
M
Module Error Exposure
To what degree is a module ”exposed” to propagating errors
High value Î error shielding should be high
M
Signal Error Exposure
To what degree is a signal ”exposed” to propagating errors
High value Î error shielding should be high
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Example: Aircraft Arrestment System
Tape drum
(original)
Cable Tape drum
(mirror)
ms_slot_nbr
i
mscnt
pulscnt
slow_speed
stopped
CLOCK
PACNT
TIC1
TCNT
Rotation Pressure Pressure
sensor
sensor
valve
CALC
DIST_S
Pressure
valve
SetValue
ADC
PRES_S
V_REG
OutValue
PRES_A
IsValue
Computer
Target system overview
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Target software overview
TOC2
Software Profiling for Designing Dependable Software
Estimated Module Permeabilities
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
Highest Permeability
CALC
stopped
Zero Permeability
DIST_S
SetValue
ADC
OutValue
PRES_S
V_REG
PRES_A
TOC2
IsValue
We obtained zero permeability for errors in PRES_S (DSN 2001)
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Estimated Module Error Exposures
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
Highest Exposure
CALC
stopped
Zero Exposure
DIST_S
No Exposure
Assigned
SetValue
ADC
OutValue
PRES_S
V_REG
PRES_A
IsValue
Indicates good candidates for EDM’s and ERM’s
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
TOC2
Software Profiling for Designing Dependable Software
Estimated Signal Error Exposures
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
Highest Exposure
CALC
Lowest Exposure
stopped
Zero Exposure
DIST_S
SetValue
ADC
OutValue
PRES_S
V_REG
IsValue
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
PRES_A
TOC2
Software Profiling for Designing Dependable Software
SW Profiling: Effect Analysis
Taking care of the what if ’s
S
Signal Impact (of S on O )
A
C
E
B
D
F
O
To what degree does an error in S affect output O
High value Î error recovery should be increased
Signal Criticality (of S)
”Cost” of an error in S as seen from system boundary
Multiple outputs: bias impact by output ”importance”
Single output: Constant scaling
High value Î error recovery should be increased
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Module Impact & Criticality
Module Impact (of M)
A
C
E
B
D
F
O
To what degree does an error in the output of M affect
system output
High value Î error recovery should be increased
Module Criticality (of M)
”Cost” of an error in the output of M as seen from
system boundary
High value Î error recovery should be increased
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Exposure v/s Impact
Zero Min
Max
CLOCK
CLOCK
CALC
CALC
DIST_S
DIST_S
PRES_S
V_REG
PRES_A
Exposure
(Propagation Profile)
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
PRES_S
V_REG
Impact
(Effect Profile)
PRES_A
Software Profiling for Designing Dependable Software
Time?
• Example
• Conclusions
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Placing Software Mechanisms
Fault/Error
Models
Dependability
Structure/
Mechanisms
1. System
Type, input
2.Occurrence
Random
memory
locations
Executable
Implementation
Assertions (EA’s)
Details
for continuous and
discrete signals
Software
Profiles
Vulnerabilities,
Hot-Spots
Equipping Software With EDM’s / ERM’s
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
EA Placement
(based on the Propagation Profile)
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
CALC
stopped
DIST_S
SetValue
ADC
OutValue
PRES_S
V_REG
IsValue
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
TOC2
PRES_A
Assumptions and design information:
1. Errors are introduced via system inputs
2. Executable Assertions (not aimed at boolean values)
3. Black-box software
Software Profiling for Designing Dependable Software
EA Placement
(based on the Propagation and Effect profiles)
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
CALC
stopped
DIST_S
SetValue
ADC
OutValue
PRES_S
V_REG
IsValue
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
TOC2
PRES_A
Assumptions and design information:
1. Errors are introduced anywhere in memory
2. Executable Assertions (not aimed at boolean values)
3. Black-box software
Software Profiling for Designing Dependable Software
Two Sets of EA’s
ms_slot_nbr
i
pulscnt
slow_speed
PACNT
TCNT
P (Propagation)
mscnt
CLOCK
TIC1
P&E (Propagation and Effect)
CALC
stopped
DIST_S
SetValue
ADC
OutValue
PRES_S
V_REG
IsValue
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
TOC2
PRES_A
Software Profiling for Designing Dependable Software
Evaluation With Two Error Models
ms_slot_nbr
i
mscnt
CLOCK
pulscnt
slow_speed
PACNT
TIC1
TCNT
Error Model 2:
Type = Single bit errors
Occurrence = periodically (20
ms) in system memory
CALC
stopped
DIST_S
SetValue
ADC
Error Model 1:
Type = Single bit errors
Occurrence = once in a system
input signal
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
OutValue
PRES_S
V_REG
IsValue
PRES_A
TOC2
Software Profiling for Designing Dependable Software
Detection Coverage - Error Model 1
Comparison of Error Detection Coverage
(Error Model 1: Single bit-flips in system input signals)
1.000
0.975
0.975
0.900
0.800
P&E
Coverage
0.700
P
0.600
0.500
0.400
0.300
0.200
0.100
0.000
0.000
PACNT
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
0.000
TIC1
0.000
0.000
TCNT
0.000
0.000
ADC
Software Profiling for Designing Dependable Software
Detection Coverage - Error Model 2
Comparison of Error Detection Coverage
(Error Model 2: Periodic bit-flips in memory)
RAM
Stack
Total
1.000
0.900
0.811
0.800
0.700
Coverage
P&E
P
0.600
0.500
0.418
0.394
0.400
0.300
0.253
0.200
0.128
0.100
0.137
0.111
0.056
0.106
0.038
0.042
0.018
0.031
0.029 0.017
0.092
0.046
0.033
0.000
c tot
c fail
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
c nofail
c tot
c fail
c nofail
c tot
c fail
c nofail
Software Profiling for Designing Dependable Software
Conclusions
• Method for software profiling
– Error propagation profile: pinpoint vulnerable signals/modules and ascertain
propagation paths (Exposure, Permeability)
– Error effect profile: pinpoint signals/modules that endanger the system when
erroneous (Impact, Criticality)
• Error model and detection coverage
– Depending on the assumed error model, different SW profiles may have to be
used
– The error model as well as the available dependability structures/mechanisms play
a major role in the obtained dependability of the system (of course).
Z Design aid to conduct cost-benefit
analysis for selective placement
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Some Future Directions
• Alternate means of estimating error permeability
(dynamically or statically)
• Sensitivity of estimated measures to error model
• Handling looping structures amongst modules
• Investigate applicability of profiling framework on
other applications (and application areas)
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)
Software Profiling for Designing Dependable Software
Further Information
Go to the DEEDS web site
www.deeds.informatik.tu-darmstadt.de
or email to
[email protected]
Martin Hiller, Volvo Technology Corporation
SMC-IT 2003 (July 14, 2003)