optimal reliability allocationcs530dl/f18/8d2rel_allocation.pdf · reliability allocation in...

23
Optimal Reliability Allocation Yashwant K. Malaiya [email protected] Department of Computer Science Colorado State University

Upload: others

Post on 07-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Optimal Reliability

Allocation

Yashwant K. Malaiya

[email protected]

Department of Computer Science

Colorado State University

Page 2: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Reliability Allocation Problem

Allocation the reliability values to subsystems

to minimize the total cost

while achieving the reliability target.

Widely applicable

Software systems

Electrical systems

Mechanical systems

Implementation choices

Discrete

Continuous

Page 3: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Reliability Allocation in Software

A software system consists of many functional

modules

Some reused, probably with lower defect densities

Some are new, with higher defect densities

Some are invoked more often

To increase reliability

Additional testing

Replicated using n-version programming?

What is the best strategy?

Page 4: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Optimal Reliability Allocation

System composed of subsystems:

Subsystem cost a function of reliability

System reliability depends on subsystems

Failure rate as a reliability measure

Commons systems: series and parallel

Software system reliability

Fractional execution time

Lagrange multiplier: closed form optimal solution

Parameter dependence: size, defect density

Apportionment & general approach

Page 5: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Problem Formulation

System S has subsystems Ssi, i = 1, ..n.

Each subsystem SSi has a specific functionality

Several choices with same functionality, but differently reliability

levels.

Minimize system cost

Subject to

n

i

n

i

iiis RfCC1 1

)(

)( iii RfC

Page 6: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Cost minimization problem

thus

R system series aFor

Subject to

1

1

S

n

i

iST

n

i

i

sST

RR

R

RR

n

i

n

i

iiis RfCC1 1

)( Minimize

Page 7: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Subsystem implementation choices

Subsystem can be made more reliable by extending a

continuous attribute

diameter of a column in building

time spent for software testing.

Different venders implementations of SSi at different

costs.

Multiple copies of SSi to achieve higher reliability.

double wheels of a truck

Number of copies is constrained between one and a

practical number because of implementation issues.

Page 8: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

The Cost function

Cost function fi should satisfy these

three conditions:

fi is a positive function

fi is non-decreasing, thus higher

reliability will come at a higher cost.

fi increases at a higher rate for

higher values of Ri

Mettas A, Reliability allocation and optimization for complex systems. Pro

Ann Reliability and Maintainability Symp, January 2000, 216-221

0

200

400

600

800

1000

1200

0 0.2 0.4 0.6 0.8 1

Reliability vs Cost

Steep cost increase

Page 9: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

In terms of failure rate

Taking log of both sides, and since Ri(t) = e-λit

Stating cost as a function of failure rate

n

i

iST RR1

)ln()ln(

n

i

ii

n

i

iS fCC11

)(

n

i

iST

1

Page 10: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

In terms of failure rate: SRGM

exponential software reliability growth model

λ0i depends on initial defect density

βi depends inversely on program size

Restating it as Cost function

)exp()( 0 dd iii

i

i

i

id

0ln

1)(

Assumes constant

development cost,

thus neglected

Page 11: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Series and Parallel Systems

(review)

Terms Series and Parallel refer to Reliability Block modeling.

The components of a system are in series if they are all essential, i.e. are all required for proper

functioning.

There is no redundancy in a series system.

Two or more components are in parallel if System is functional if at least one of them is good.

The parallel blocks must be functionally identical, thus they represent redundancy.

Page 12: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Series and Parallel Systems:

linearlization

Constraint Linearization simplifies the calculations.

Series system

Parallel system: log of unreliabilites

Elegbede: If cost function satisfies 3 properties given above, the cost is optimal if all parallel components have the same cost.

n

i

iST RR1

)ln()ln(

)1(11

n

i

iST RR

n

i

iST RR1

)1(ln()1ln(

Page 13: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Reliability Allocation for Software Systems

a block i is under execution for a fraction xi of the

time where xi = 1

Reliability allocation problem

Which blocks should be made more reliable?

i

in

i i

C

0

1

ln1

Minimize

Block i

Block

i+1

Block

i+2

Minimize cost while ensuring actual failure rate is

less than or equal to the target failure rate.

Page 14: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Solution using Lagrange multiplier

solutions for the optimal failure rates

optimal values of test times d1 and di, i≠1

111

1

22

112

1

1

11

nn

nn

i i

ST

x

x

x

xx

ST

n

i i

x

d

1

1110

1

1 ln1

111

0ln1

x

xd iii

i

i

Page 15: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Observations: Software reliability

allocation

If xi is proportional to the subsystem code size,

then optimal values of the post-test failure rates

λ1, … λn are equal.

Complication: A reused subsystem have a

higher reliability because of past testing causing

λi≥λi0 and hence negative di.

Solution: apply allocation problem only to modules

with positive di.

Page 16: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

An Illustration (next)

Five blocks software blocks i = 1 to 5.

Parameters β and λi0 values are assumed based on

what we know about the relationship between

parameters and software size, defect density.

Xi is presumed to be proportional to software size. di is

the additional testing time.

Analysis using Excel Solver obtains the optimal solution:

note that final λi is same for all blocks.

Closed form solution will yield the same result.

Equal testing or testing only the block with most defects will not

be optimal.

Page 17: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Ex: Optimal: Software with 5 blocks

Optimal when all modules have the same failure rate!

Block B1 B2 B3 B4 B5

Size KSLOC 1 2 3 10 20Example

constructionIni Defect

density10 10 10 15 20

βi 4.5910-3 2.3010-3 1.5310-

3 4.5910-4 2.3010-4

Problem to

solveλi0 0.046 0.046 0.046 0.069 0.092

xi 0.028 0.056 0.083 0.278 0.556

Optimal λi 0.04 0.04 0.04 0.04 0.04Optimal

SolutionOptimal di 30.1 60.1 90.2 1184 3620

λST ≤ 0.04

Assumption: parameters depend on block size and defect density.

Page 18: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Ex: Equal testing (non-optimal)

If Total test time is equally distributed for all 5 blocks, system will have significantly higher failure rate of 0.055 per unit time

Block B1 B2 B3 B4 B5

Size KSLOC 1 2 3 10 20

Ini Defect

density

10 10 10 15 20

βi 4.5910-3 2.3010-3 1.5310-3 4.5910-4 2.3010-4

λi0 0.046 0.046 0.046 0.069 0.092

xi 0.028 0.056 0.083 0.278 0.556

λi 0.146 0.003 0.01 0.08 0.15

Equal di 1109.4 1109.4 1109.4 1109.4 1109.4

λST ≤ 0.04

Page 19: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Ex: Testing only B5 (non-optimal)

If Total test time is allowed only for block B5, system will have higher failure rate of 0.043 per unit time

Block B1 B2 B3 B4 B5

Size KSLOC 1 2 3 10 20

Ini Defect

density

10 10 10 15 20

βi 4.5910-3 2.3010-3 1.5310-3 4.5910-4 2.3010-4

λi0 0.046 0.046 0.046 0.069 0.092

xi 0.028 0.056 0.083 0.278 0.556

λi 0.146 0.003 0.01 0.08 0.15

Equal di 0 0 0 0 5547

λST ≤ 0.04

Page 20: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Illustration using excel

See Excel sheet relallocationexamples.xls

Try changing entries.

20

Page 21: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Common Apportionment rules

Equal reliability apportionment:

At end they all individually have failure rate equal to

target failure rate for the system

Complexity based apportionment

test time apportioned in proportion to the software

size

Impact based apportionment:

A component executed more frequently, or more

critical, should be assigned more resources

Page 22: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Reliability Allocation for

Complex Systems An iterative approach

Design the system using functional subsystems.

Perform an initial apportionment of cost or reliability

attributes based on suitable apportionment rules or

preliminary computation.

Predict system reliability.

Is reallocation feasible and will enhance the objective

function. If so, perform reallocation.

Repeat until optimality is achieved.

Does this meets objectives? If not, return to step 1

and revising the design at a higher level..

Page 23: Optimal Reliability Allocationcs530dl/f18/8d2rel_allocation.pdf · Reliability Allocation in Software A software system consists of many functional modules Some reused, probably with

Conclusions

Reliability allocation: consider how cost varies

with reliability.

Software testing:

cost log(1/failure rate)

1 size

Reliability allocation in systems with replicated

subsystems can encounter correlated failures and thus

would need a more careful modeling.

23