Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

372-SP IEEE TRANSACTIONS ON RELIABILITY, VOL. 47, NO.

3-SP 1998 SEPTEMBER

Applying Software Reliability Engineering in the 1990s


William Everett, Senoor Member IEEE
Software Process and Reliability Engineering, Albuquerque
Samuel Keene, Fellow IEEE
Performance Technology, Boulder
Allen Nikora
Jet Propulsion Laboratory, Pasadena

Key Words - Software reliability, Reliability modeling & addition to anyone interested in exploring this field. The book
prediction, Software reliability tool kits, Software reliability en- contains a CD that has the reliability tools mentioned in this
gineering (SRE). paper.

Summary & Conclusions - This paper reviews the 1. INTRODUCTION


progress in software-reliability since 1975, and discusses the
best tools & practices that can be applied today. Software
Acronyms
is increasingly vital over time, vis-a-vis hardware, in terms of SRE software-reliability engineering
system content. The software content is increasing and, often ISSRE International Symposium on SRE
today, is a key factor in safety-critical applications in medicine,
transportation, and nuclear energy. Appreciable software con- 1.1 Background
tent is in almost every system, appliance, and machine which In 1984, Professor Martin Shooman wrote a benchmark
we use; and software is the backbone of OUT business enterprise article, “History of software reliability” [23].
operations.
This paper updates the developments in software-
Consequently, producing reliable software is a mandate. Its reliability. Koss notes that, “software reliability has been
development is often the ‘long pole in the tent’ - driving the so overlooked. . . . As late as 1986-1987 (some) major com-
cycle-time required to produce & field a product. Most often,
mand and control systems had not made one assessment of
software is the main source of system reliability problems. The
best development practices are recommended herein, for man- software reliability” [14]. He pointed out that the software
aging the reliability of software. The development of software- in modern warplanes exceeds a l o 6 lines of code, and that,
reliability models and user-friendly tool kits is described. These “the ability t o deliver reliable computer hardware can be
tools allow software-reliability to be measured, tracked, and im- considered t o be a given. It is the ability to deliver the
proved to meet the customer-specified reliability. The ability to software of the system which will determine the extent to
measure software-reliability promotes development focus, and which the total system meets its operational availability.”
consequently, its improvement. All too often, software-reliability continues to be neglected.
The 1990s have seen much growth in the software content of Even today, too few organizations even measure software-
products. The problems have grown as the software mushrooms reliability, and some of those who do, measure it only
both in size & complexity. Further, software is increasingly from a historical perspective. To be proactive, software-
important in safety critical applications. reliability should be managed throughout the development
To counter these concerns, there has been a great collec- process, beginning from the requirements-definition phase.
tive effort to improve the reliability & quality of software, This paper addresses some worthwhile initiatives to man-
through better development-focus exemplified by the Soft- age & measure software-reliability better.
ware Engineering Institute’s Capability-Maturing-Model lev- Software-reliability is t h e dominant driver of today’s
els. Software-reliability-engineering has shown best practices system reliability. Software driven outages have been re-
for developing & measuring software-reliability. The 1990s have ported to exceed hardware outages by a factor of 10 [13].
brought collective focus on managing reliability. Such collabo- Murphy points out that the main driver of field prob-
ration has been in packaging software-reliability models in user- lems on over 2000 European deployed Digital Equipment
friendly packages such as SMER.FS & CASR.E. This reliability Corporation systems are system-management failures [2O].
collaboration has also led to the International Software Relia- These problems are due to requirements & interface defi-
bility Engineering Conferences, for which the IEEE Reliability ciencies. We recognize these problem-causes as a subset of
Society is a 1998 joint sponsor. Software-reliability experts software faults.
have joined to develop the Handbook on Software R.eliability. Some noted reliability practitioners still question
This is a very complete reference and is a fundamental library whether software can indeed fail. They argue that nothing

001 8-9529/98/$10.00 0 1 9 9 8 IEEE


EVERE’IT ET A L APPLYINIS SOFTWARE RELIABILITY ENGINEERING IN THE 1990s SP-373

actually breaks since its physical state remains unchanged P-missile’s failure to detect & engage the Scud missile that
- thus, no broken code exists. What fails is the software’s killed & injured troops in Tehran [22]. The original oper-
ability to perform its iniended or desired function, forcing ational profile for the P-missile required each P-missile’s
the customer (the final arbitrator) to declare failure. being relocated twice a day. This was necessary to keep a
Software is proliferating in every-day products, and sophisticated enemy from tracking the P-missile location
is embedded in machine-logic in the form of firmware. from the P-missile’s own radar emissions. The P-missile’s
Firmware is software that resides in a non-volatile medium software was re-initialized every time it moved. This reset
that is read-only and is write-protected when functioning the accumulating timing-error to zero twice a day. Be-
in its operational environment. It cannot be modified cause Iran was not considered a sophisticated enemy, the
during program execution. Many common products have P-missiles were left in place for long periods of time. The
appreciable firmware content. Automobiles, telephone timing errors accumulated t o the point of defeating the
routers, and some appliances incorporate up to lo6 bytes P-missile’s ability to intercept Scud missiles, resulting in
of stored firmware. Firmware promotes personalization of 126 casualties.
the equipment-function; so it can be customized to fit vari- Example 3. A subtle design-problem was subsequently
ous applications. This firmware capability provides control found with the P-missile software. Two different, unequal
& diagnostic information. This design flexibility and extra versions of the number, 0.1, were implemented in 24-bit
functionality can lead to reliability & safety problems. and 48-bit representations [21]. This led to a residual com-
parative error when there should have been none.
1.2 Notable Reliability & Safety Problems
Example 4. The most widely discussed reliability prob-
Unfortunately, software is not built with the same de- lem, in history, is the year-2000 (Y2k) problem. Caper
gree of provable components found in hardware. It is also Jones estimated that the total industry cost to repair this
not tested as exhaustively as hardware, and thus tends one type defect is $276. l o 9 US [IO]. The problem is that
to have more residual design-problems. Commercial soft- date codes in so much of our legacy code are programmed
ware products typically are shipped with at least 1 de- in 2 digits instead of 4 digits. Consequently, these defec-
fect per lo3 lines of (executable) source code. This means tive program dates will roll over at the turn of the cen-
that lo6 lines of average source-code contains 1000 latent tury and the system will store the date as 1900. Voas, to
defects at shipment. These defects are left for the cus- show the magnitude of the problem, considers the grocery
tomer to potentially-experience before they are removed. store checkout lane [24]. Ever been in a line when the
To some hardware designers, this defect level seems exces- grocery-scanner is not working? or the credit-card reader
sively high. is not working? The clerk & customer are quickly frus-
Software has caused some high-profile reliability & safe- trated . . . pandemonium reigns. Now imagine that this
ty problems. Peter Neumann produced an excellent syn- same experience is happening in offices, businesses, and
opsis of many of these problems [all. The Neumann web stores everywhere. The impact could be disastrous - and
page’ also publicizes current software tk system problems. possibly lethal. Some analysts worry that Y2k could send
Example 1. The Therac 25 therapy-accelerator irradi- the economy into a recession because the cost of fixing the
ates tumors in two modes: problem rivals the annual budget for software production
1. electron beam bombardment, [18]. The best development practices & tools are needed
2. X-ray. to prevent/cure such problems.
Therapy mode #1 is low-energy bombardment. Therapy The 1990s have seen an initiative t o promote & grade the
mode #2 intersperses a tungsten target into the electron quality of a developer’s software-development practices.
beam before raising the beam energy by a factor of 100; This is measured in terms of the Software Engineering
this puts the Therac :!5 into the X-ray therapy mode. Institute’s (SEI) Capability Maturity Model (CMM) lev-
When malfunction-54 appeared on the operator’s screen, els. SEI rates software provider’s process capability from
the system operating modes became scrambled - expos- a beginning level of 1 to the highest level of 5. These
ing the patients to a lethal level of electron-beam radia- ratings correspond to Initial Process Capability (level 1)
tion. Malfunction-54 has killed two people and harmed up to Optimizing Process Capability (level 5). Keene has
several more 191. Therac 6, the predecessor irradiation- reported that the higher the CMM level, the fewer faults
model, used mechanical interlocks rather than software are anticipated and, consequently, the higher the predicted
interlocks. It never experienced this safety-critical failure reliability will be for the delivered code [13].
mode.
Example 2. The Patriot missile (P-missile) system used 2 . SOFTWARE RELIABILITY ENGTNEERSNG
by the USA against the Iraqi Scud missiles in the Per- 2.1 Development of Best Practices
sian Gulf war. During this war, a deadly design flaw was
discovered: the P-missile had an imprecise timing calcu- Nearly 31 years have transpired since Hudson’s first
lation. This calculation appears to be responsible for the important-study of software-reliability [4]. Most of these
early studies focused on applying reliability-growth models
lhttp //www.csl.sri com/’iieumann/neumann html to failure-data collected during the testing or field opera-
374-SP IEEE TRANSACTIONS ON RELIABILITY, VOL. 47, NO. 3-SP 1998 SEPTEMBER

tion of software products. By the late 1980’s, 50 100


Table 1: SRE Activities for Each Life-Cycle Phase
~

models surfaced for software-reliability. Ref [6] is a good


summary of the history of these earlier developments. The 1. Feasibility & Requirements
number of these models reflected an active & healthy pe- . Determine functional profile
riod of research. . Define and classify failures
Although sufficient models existed t o analyze the relia- . Identify customer reliability needs
bility of software, no guidelines nor practices were avail- . Conduct trade-off studies
able to help practitioners apply them to their products. . Set reliability objectives
Moreover, the sheer number of models only added to their
confusion. To address this problem, the American Insti- 2. Design & Implementation
tute of Aeronautics and Astronautics (AIAA) established . Allocate reliability among components
a Blue Ribboil panel which recommended 4 reliability- . Engineer to meet reliability objectives
growth models, and provided procedures for collecting re- . Focus resources based 011 functional profile
liability data t o use with these models [l]: . Manage fault introduction and propagation
’ Measure reliability of acquired software
. Schneidewind model
. JelinskiIMoranda model 3. System-Test & Field-Trial
’ Musa/Oltumoto logarithmic Poisson execution-time . Determine operational profile
model . Conduct reliability growth testing
* Littlewood-Verrall model. . Track testing progress
The AIAA guidebook recommends that projects apply . Project additional testing needed
several models to estimate reliability, and then compare . Certify reliability objectives are met
the model results. Several factors are suggested for com- 4. Post-Delivery & Maintenance
paring model results, including: . Project post-release staff-needs
’ How valid are model predictions?
. Monitor field-reliability us objectives
. How easy is it to acquire measurement data to use the . Track customer-satisfaction with reliability
model? . Time new-feature introduction
. How close are the model-assumptions met by the situa- . Guide product & process improvement
tion being modeled?
. Can the model estimate useful quantities needed by
project personnel?
. How robust is the model to changes in the test & oper- handbook [SIhighlighting particular industrial & practical
ational environment? applications of SRE was also published as part of ISSRE
. Are the model and its use simple to understand? 1997.
. Is the model insensitive to noise? 2.2 SRE Institutionalized
Around 1988, efforts were initiated to encourage more
In 1992, AT&T Bell Laboratories adopted a ‘best cur-
active use of software-reliability methods by practitioners.
rent practice’ for SRE; [3] is a condensed version. This
At that time, AT&T Bell Laboratories introduced a se-
practice defined 25 activities that should be included in a
quence of internal courses around the notion of SR.E [5].
good SRE program; see table 1. Table 1 shows that the
The definition of SRE went beyond modeling & measuring
practice covers the entire life cycle of product development
the reliability of software, to include applying these mod-
- from the earliest stages of product-concept through
els & measures to managing the reliability of software. In
post-delivery support of the product.
1990, the IEEE Subcommittee on SRE was formed. This
meeting led to the annual ISSRE. The 8-th ISSRE, 1997, 2.3 SRE Activities in Feaszbalaty t3 Requzrements Phase
was in Albuquerque, New Mexico USA. These symposia These activities focus on establishing reliability require-
not only provided forums for communication among re- ments for the product. It begins with the user of the prod-
searchers, but also among practitioners. Over GO% of the uct and includes defining what types of failures the poten-
attendees of ISSRE 1997 were from industry or govern- tial user might experience in using the product and how
ment. Although the early ISSRE had a strong focus on costly these failures would be to the user in the work that
modeling methods, more varied topics have been covered they do. The likelihood of failures in a software product
in later ISSRE. ISSRE 1997 included sessions on: depends heavily on how the user uses the product. Dur-
. Fault-prone module identification, ing the early stages of product development, this usage
. Error detection and handling, is captured in a functzonal profile. The functional pro-
. Test strategies, file describes high-level functions performed by the user
. Software process effectiveness, and how often these functions are performed. Tradeoffs
. Process and quality, - need t o be made in establishing overall product require-
plus several industry-practice sessions [7].
A case-studies ments. Although adding more features into a software
EVEREIT ET A L APPLYING SOFTWARE RELIABILITY ENGINEERING IN THE 1990s SP-375

product makes it more desirable to a user, it also adds to 2.6 SRE Activities in Post-Dehvery & Mazntenance Phase
the development costs -- especially to those costs related Reliability management continues during this phase.
to managing product reliability. One activity focuses on estimating the amount of staff
From a reliability standpoint, the outcome of this phase needed t o provide hot-line support t o help users with field-
is a set of reliability objectives. Properly defining system & reported failures, and staff needed to fix the software prod-
software requirements is most important since requirement uct. Field reliability of the software product should be
deficiencies are typically the main cause of problems with tracked to ensure that the user is satisfied with the prod-
field maintenance [la]. These requirements not only must uct reliability. When fixes are properly introduced into the
specify objectives by failure class, but also the conditions fielded software product, reliability will continue to grow.
under which the objectives are to be met. Understanding We should time the release of ‘new software with major
them is an evolutionary process that works best when they feature enhancements’ at points where the reliability level
are the collaborative effort of the developer & customer. perceived by the user continues to be acceptable. Use the
2.4 SRE Activities in Deszgn & Implementatzon Phase information gathered during this phase to improve: the
development processes that impact reliability, and the re-
These activities focus on developing a product that liability of subsequent releases of the software product or
meets reliability objectifes. The first activity is t o allocate new products.
overall reliability among the components of the product.
Several steps can be taken t o engineer the product so it 3. RELIABILITY MODELING
meets its reliability objectives. Some of these are a carry-
over from hardware & system reliability methods, eg, fault- 3.1 Modeling Background
tree analysis (FTA) and failure-mode-and-effects analysis Another important step in making SRE techniques
(FMEA). Since software failures are caused by residual more accessible to practitioners is the development of
faults in their design EL development process, reliability tools. Although many software-reliability models have
methods must target processes that introduce faults and been published since the first ones in 1971, it is only since
allow them to propagate into later development phases. the mid-1980s that tools implementing these models have
Today’s software products can include new or reused become widely available. Prior t o their advent, devel-
components developed by other organizations. The relia- opment organizations wishing t o use software-reliability
bility of this acquzred software must also be managed. modeling techniques to monitor & control their deveiop-
ment efforts had little choice but t o develop their own
2.5 SR.E Activities in System-Test & Field-Trial Phase tools. Because of the computational complexity of the
These activities are targeted at validating the developed models, the development of a software-reliability modelicg
software so it meets its reliability objectives. Product test- tool is a major effort in its own right - and one to which
ing must mimic how the customer will use the software if many organizations were not willing to devote resources
it is to be an accurate 14ew of the product reliability. that could be applied t o producing commercial systems.
The functaonal profile developed during the Feaszbalzty & The advent of widely available tools could then be con-
Requirements phase provides a start in specifying how the sidered as important as increasing interest in the use of
user will use the product. With the product designed & software-reliability measurement.
developed, redefine the functional profile in terms of oper- One of the first software-reliability measurement tools
ations offered by the sy:jtem t o perform specific functions. was developed by AT&T in 1977. Although originally in-
For example, in an Altomated Teller Machine (ATM) tended for in-house use, it has been commercially avail-
product, a function is for a user to deposit money while able since 1990. The tool implements 2 models: Musa
the operations are the ATM-screens the user needs for the Basic, and Musa/Okumoto logarithmic Poisson. The tool
deposit. The result is an operatzonal profile which is used in outputs can easily be related back to the development pro-
developing test cases arid in specifying the frequency and cess. Rather than simply providing estimates of the model
order in which they will be run. Failure data a,re collected parameters, the tool provides estimates of initial current
during testing and are utjed to calibrate a reliability-growth failure intensities as well as s-confidence intervals around
model. The calibrated model is then used to show the cur- these estimates. In addition, it predicts the amount of
rent level of reliability clf the software product and can be time required to achieve user-specified failure intensity as
used (with adequate collected data) to estimate the re- well as the number of additional failures that will be seen
maining test-time needed to prove-adequately a reliability before the specified failure intensity is achieved. This tool
objective. Reliability growth can be experienced during takes both time-domain and interval-domain failure data
testing because once a failure is encountered, the under- as input. Outputs are shown in both tabular & graphical
lying fault that triggered the failure should be properly fashion. Besides these outputs, other plots are available
removed and thus would never cause another lilte-failure. which allow users t o see:
Care must be taken not to introduce new faults when soft- . how well the model-results fit the data,
ware is modified, lest so Ftware updates do more harm than . trends in the initial & current failure rates,
good. . predictions of the development-effort completion-date.
376-SP IEEE TRANSACTIONS ON RELIABILITY, VOL. 47, NO. 3-SP 1998 SEPTEMBER

3.2 SMERFS Tool of failure data, and the results analyzed to identify the
most appropriate model. Abdel-Ghaly and his associates
One of the next major achievements was the develop-
developed a set of statistical methods for identifying:
ment of SMERFS (Statistical Modeling and Estimation
of Reliability Functions for Software) at the US Naval . How much more likely it is that one model will produce
Surface Warfare Center. First released in 1983, this was more accurate predictions than another model. To com-
the first tool to implement a wide variety of software- pare two models, A and B , first compute the prequential
reliability models. It included interval-domain models ( eg, liltelihood functions for each model, PLA and PLB. The
Schneidewind, Yamada S-Shaped, and Brooks & Motley) ratio PLA/PLB specifies how much more likely it is that
models as well as time-domain models (eg, Musa Basic, model A will produce accurate estimates than model B,
Musa/Okumoto, and Littlewood-Verrall). The latter can given that there is no preference for either model prior to
be of particular interest t o development organizations, applying them.
since failure-history data tend t o be more widely available . The tendency for the model to produce s-biased results.
as ‘number of failures observed per test-interval of a given For instance, a model can consistently predict interfailure
length’ rather than as ‘interfailure times’. SMERFS was times shorter than those actually observed. The technique
designed for ease-of-use. It has a menu-driven interface, for determining whether a model is s-biased is a u-plot.
which partitions the functionality into the well-defined ar- . The tendency for the model s-bias to shift with time.
eas: It might be that in the early stages of a testing effort,
a model is optimistically s-biased (predicting interfailure
. data entry, editing, and transformation;
times that are longer than those actually observed). Dur-
. model application;
. determination of model applicability. ing later stages of testing, the model might assume a pes-
simistic s-bias (predicting shorter interfailure times than
Users can specify whether model parameters should be those actually observed). The technique for determining
made using maximum-likelihood or least- squares estima- whether a model exhibits temporal shifts in its s-bias is a
tion. Model results are displayed in an easy-to-read tab- y-plot.
ular form and always include estimates of the model pa-
rameters. Each model has its own specific set of results. SRMP computes the prequential likelihood, u-plot, and
They include: y-plot for each of the 9 models it implements, allowing
‘ mean time to next failure,
users to determine the most appropriate model for their
. estimated total number of failures, development effort. Unlike SMERFS, SRMP does not in-
. estimate of the reliability for a specified time, clude traditional goodness-of-fit criteria such as the chi-
. estimate of the number of failures remaining in the sys- square or Kolmogorov-Smirnov tests, and implements only
tem, time-domain models,
. mean number of failures in a session of a specified dura- A distinguishing feature of the SoRel tool that was de-
tion. veloped by LAAS, a laboratory of the National Center for
Scientific Research, is a set of tests that can be applied to
The sole model-evaluation criterion for earlier versions
a set of failure data, prior t o model application, to identify
was goodness-of-fit (chi-square test for interval-domain
trends in the failure data. As a software system undergoes
data, and 2-tail Kolmogorov-Smirnov test for time-domain
test, there might very well be times when the system is not
data). The current version also includes prequential lilteli-
experiencing reliability growth. For instance, the testing
hood, model bias, bias trend, and noise [a].SMERFS was
staff might be producing tests with the specific intention of
designed to allow users t o extend its capabilities. Unlike
revealing faults. Or, as new functionality is added to the
other software-reliability modeling tools, SMERFS is dis-
system, the testing team focuses on the new functional-
tributed with the source code, which is a subset of ANSI
ity, rather than sampling the operational profile. In either
FORTRAN 1977, as well as design documentation. This
case, the failure data might appear to exhibit either ‘no im-
allows users to customize the user interface to meet their
provement in reliability’ or ‘an actual reliability decrease’.
own needs, as well as add models of their own.
The tests implemented by SoRel to identify these trends
3.3 Other Tools are the:
In 1988, Reliability and Statistical Consultaiits Ltd. de- . arithmetic test (eg, a running average of interfailure
veloped the Software Reliability Modeling Program times),
(SRMP). The distinguishing feature of this program is its . Laplace test [11],
ability to include statistical methods other than goodness- . Spearman test,
of-fit for identifying the most appropriate model for a set of . Kendall test.
failure history data. These techniques have become an es- This allows an analyst t o determine whether a data-set
sential part of an analyst’s tool kit. In 1986, Abdel-Ghaly, exhibits:
et a1 [a] showed that it does not seem possible to select a . reliability-growth,
przorz the most appropriate model for a development ef- ’ reliability-decrease,

fort. Rather, a set of models should be run against a set . or no-identifiable-trend.


EVERETT E T AL. APPLY LNG SOFTWARE RELIABILITY ENGINEERING IN T H E 1990s SP-377

An appropriate set of models can then be selected on the A. Abdel-Ghaly, P. Chan, B.Littlewood, “Evaluation of
basis of these trend tests. None of the other tools described competing software reliability predictions”, IEEE Trans.
in this section 3 offer this capability. Like SMERFS and Software Engineering, vol SE-12, 1986 Sep, pp 950 - 967.
SRMP, SoRel uses a variety of reliability models for ei- M. Donnelly, W.B. Everett, J. Musa, G. Wilson, “Best
ther time-domain or interval-domain data. It computes current practice of SRE”, Hdbk of Software Reliability En-
goodness-of-fit, prequential likelihood, and the residuals gineering, 1996; McGraw-Hill.
for each model that is run. SoRel runs on the Macin- G. Hudson, “Program errors as a birth and death process”,
tosh and is the only tool described so far t o produce high- 1967, System Development Corp. Report SP-3011.
resolution plots of model results, although it requires Excel A. Iannino, J. Musa, “Software reliability engineering
to do its plotting. at AT&T”, Probabilistic Safety Assessment and Manage-
ment, 1991; Elsevier Science Publishing Co.
3.4 CASRE Tool
A. Iannino, “Software reliability theory”, Encyclopedia of
In 1992, Computer Aided Software Reliability Estima- Software Engineering (J.J. Marichiniak, Ed), 1994; Wiley-
tion (CASRE) was developed in response t o a perception Interscience.
that many of the available software-reliability tools were Proc. Eighth Int ’1 Symp. Software Reliability Engineering,
not easy for non- specialists t o use. The developers of 1997 Nov; IEEE Computer Society Press.
CASRE wanted t o ppovide a system, suitable for use by Software Reliability Engineering Case Studies, 1997 Nov;
both researchers & practitioners with the following char- lEEE Computer Society Press.
acteristics:
E. Joyce, “Software bugs: A matter of life and liability”,
. allow users to select from a wide variety of time-domain Datamation, 1987 May 15, pp 88 - 92.
and interval-domain models,
C. Jones, “Year 2000: What’s the real cost?, Datamation,
. display model-resuhs as high-resolution plots and in tab- 1997 March, pp 88 - 93.
ular form,
. guide users through the selection, execution, and evalu- K. Kanoun, M.B. Martini, J.M. de Souza, “A method for
ation of models through an appropriate set of structured software reliability analysis and prediction: Application to
the TR.OPIC0-R switching system”, IEEE Trans. Soft-
menus,
ware Engineering, 1991 Apr, pp 334 - 344.
. minimize the time required for users to learn how t o
use the tool, and minimize the amount of time required to S. Keene, T. Keller, J. Musa, “Developing reliable software
in the shortest duty cycle”, 1995, IEEE Video Tutorial
re-learn the tool after having not used it for an extended
Tape, ISBN 0-7803-2850-7;IEEE.
interval.
S. Keene, “Modeling software R&M characteristics”, Re-
A feature of CASRE drew on research indicating that liability Review; part 1: vol 17, 1997 Jun, pp 5-28; part 11:
one way of increasing the predictive accuracy of software- vol 17, 1997 Sep, pp 13 - 22.
reliability models is to form weighted sums of the results E. Koss, ‘Software reliability metrics for military sys-
of several models [15, 161. In particular, ‘linear combina- tems”, Proc. Ann. Reliability & Maintainability Symp,
tions of model-results in which the weight of each compo- 1988, pp 190 - 194.
nent of the combination is determined by comparing the
M.R.. Lyu, A.P. Nikora, “A heuristic approach for soft-
change in the prequential likelihood values of each model ware reliability prediction: The equally-weighted linear
over the past few observations’ appeared t o provide the combination model”, Proc. IEEE Int’l Symp. Software
greatest increase in predictive accuracy [16]. The distin- Reliability Engineering, 1991 May 17-18.
guishing feature of CASRE is that it allows useis t o form M. Lyu, A. Nikora, ”Applying reliability models more ef-
linear combinations of models according to 1of 3 weighting fectively”, IEEE Software, vol 9, 1992 Jul, pp 43 - 52.
schemes. CASRE runs in Windows 3.1, Windows 95, or
Hdbk of Software Reliability Engineering (M. Lyu Ed),
Windows NT. It uses the SMERFS libraries for the model 1996; McGraw- Hill.
computation & evaluation, taking advantage of existing
software known to be suitable for the intended application M. Mandel, P. Coy, C. Judge, “Zap! How the Year 2000
bug will hurt the economy”, Business Week, 1998 Mar 02,
and with an extensive use-history. The design of the user-
pp 93 - 97.
interface was guided by interviews with potential users to
help meet the criteria in this section 3.4. J. Musa, A. lannino, K.Okumoto, Software Reliability:
Measurement, Prediction, Application, 1987; McGraw-
The CASRE tool, as well as several other software mod- Hill.
eling tools, are on CDRom and are included with the
Handbook of Software Relaabality Engzneerzng [I71.
B. Murphy, T. Gent, “Measuring system and software reli-
ability using an automated data collection process’’, Qual-
ity @ Reliability Engineering Int’1, 1995 Nov- Dec, p 11.
R.EFER.ENCES P. Neumann, Computer Related Risks, p 34, 1995;Addison
Wiley.
[l] Software Reliability Estimation and Prediction Handbook, M.R.iezenman, “Revising the script after Patriot”, IEEE
1992, A1AA. Spectrum, 1991 Sep, pp 49 - 52.
378-SP IEEE TRANSACTIONS ON RELIABILITY, VOL 47, NO. 3-SP 1998 SEPTEMBER

[23] M. Shooman, “Software reliability: A historical perspec-


tive”, IEEE Trans. Reliability, vol R-33, 1984 Apr, pp 48
- 55.
[24] J. Voas, G. McGraw, Software Fault Injection, 1998; John
Wiley & Sons.

AUTHORS
Dr. William W. Everett; SPRE Inc; 4212 R.ancho Centro NW;
Albuquerque, New Mexico 87120 USA.
Internet (e-mail): w.w.everett@computer.org
William W. Everett received a PhD (1971) in Applied
Mathematics from the California institute of Technology, and
an Engineer Degree (1965) from the Colorado School of Mines.
Recently retired from AT&T Bell Laboratories, Bill is a con-
sultant and owner of SPRE Inc, a company providing consult- Dr. Allen P. Nikora; Jet Propulsion Laboratory, MS 125-209;
ing services in software reliability engineering (SRE). He is the 4800 Oak Grove Dr; Pasadena, California 91109-8099 USA.
current chair’n of the IEEE Committee on SR.E and was the Allen P. Nikora is a senior member of the Information Sys-
General Chair’n of ISSRE’1997 (International Symposium on tems and Computer Science staff in the Autonomy 6t Control
SRE). He serves secretary of the IEEE Computer Society Section at JPL. He holds a PhD (1998) in Computer Science
Publications Board and Vice Chair’n of the Magazine Opera- from the University of Southern California. He was principal
tions Committee. Bill is a Senior Member of IEEE, and mem- investigator on a recently-completed task, sponsored by the
ber of SIAM & ICCA. NASA lV&V facility, concerned with IV&V issues in achiev-
ing high reliability & safety in critical control software. He
Dr. Samuel J. Keene; Raytheon Systems Company; POBox is the lead developer of the software-reliability modeling tool
3310; Fullerton, California 92834 USA. CASRE, the development of which was funded by the US Air
Internet (e-mail): s.keene@ieee.org Force Operational Test and Evaluation Center, and is working
Samuel J . Keene received his BS Physics (1962), MS on functionality enhancements. He has presented papers on
Physics (1966), and PhD Operations R.esearch (1986) from the software-reliability measurement at the ‘Int’l Symp. Software
University of Colorado. He is a consulting engineer and is R.eliability Engineering’, the ‘Int’l Symp. Fault-Tolerant Com-
supporting the FAA’s WAAS, satellite navigation system. Dr. puting’, and the Int’l Society of Science and Applied Technolo-
Keene was recognized by the IEEE R.eliability Society in 1996 gies Conf. on Reliability & Quality in Design]. He contributed
as the Reliability Engineer of the year. He is a past president of to the McGraw-Hill Handbook o f Software Reliability Engineer-
the iEEE Reliability Society and has authored over 100 papers ing. He is a member of the IEEE Computer and Reliability
and book chapters. He has produced 9 video-tape seminars in Societies.
reliability and related development topics. He has worked at
NASA, taught at 3 universities, and worked with Bendix, IBM,
Loral, Martin Marietta, STK,RAC, Hughes, and Raytheon.
His primary development focus for the past decade has been in
system reliability, software reliability, and concurrent engineer-
ing. Be is a Fellow of the IEEE. Publisher ltem Identifier S 0018-9529(98)09347-6

You might also like