Title :
Optimal design of large software-systems using N-version programming
Author :
Ashrafi, Noushin ; Berman, Oded ; Cutler, Michal
Author_Institution :
Massachusetts Univ., Boston, MA, USA
fDate :
6/1/1994 12:00:00 AM
Abstract :
Fault tolerant software uses redundancy to improve reliability; but such redundancy requires additional resources and tends to be costly, therefore the redundancy level needs to be optimized. Our optimization models determine the optimal level of redundancy within a software system under the assumption that functionally equivalent software components fail independently. A framework illustrates the tradeoff between the cost of using N-version programming and the improved reliability for a software system. The 2 models deal with: a single task, and multitask software. These software systems consist of several modules where each module performs a subtask and, by sequential execution of modules, a major task is performed. Major assumptions are: 1) several versions of each module, each with an estimated cost and reliability, are available, 2) these module versions fail independently. Optimization models are used to select the optimal set of versions for each module such that the system reliability is maximized and total cost remains within budget
Keywords :
fault tolerant computing; mathematical programming; software reliability; N-version programming; fault tolerant software; functionally equivalent software components; large software-systems; multitask software; optimal design; redundancy; system reliability; Cost function; Fault tolerance; Mathematical programming; Power generation; Power system reliability; Redundancy; Reliability theory; Software measurement; Software reliability; Software systems;
Journal_Title :
Reliability, IEEE Transactions on