Slides - Åbo Akademi

Slides - Åbo Akademi Slides - Åbo Akademi

28.12.2013 Views

Software Reliability (ctd.) • Software, unlike hardware, can be fault-free (theoretically :)) • some formal methods can guarantee the correctness of software (proof-based verification, model checking, etc.) • Correctness of software does not ensure its reliability! • software can satisfy the specification document, yet the specification document itself might already be faulty • No independence assumption, i.e., copies of software will fail together • most hardware fault tolerance mechanisms ineffective for software • design diversity instead of component redundancy (e.g., N-version programming )

Design diversity Each variant of software is generated by a separate (independent) team of developers • higher probability to generate a correct variant • independent design faults in different variants Costly, yet leads to an effective reliability improvement Not as efficient as N-modular redundancy in hardware reliability engineering [J. C. Knight and N. G. Leveson, 1986]

Design diversity<br />

Each variant of software is generated by a separate (independent)<br />

team of developers<br />

• higher probability to generate a correct variant<br />

• independent design faults in different variants<br />

Costly, yet leads to an effective reliability improvement<br />

Not as efficient as N-modular redundancy in hardware reliability<br />

engineering [J. C. Knight and N. G. Leveson, 1986]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!