Improving software robustness with dependability cases
Maxion, R.A.
Olszewski, R.T.
Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA;
This paper appears in: Fault-Tolerant Computing, 1998. Digest of Papers. Twenty-Eighth Annual International Symposium on
Publication Date: 23-25 Jun 1998
On page(s): 346-355
Meeting Date: 06/23/1998 - 06/25/1998
Location: Munich, Germany
ISSN: 0731-3071
ISBN: 0-8186-8470-4
References Cited: 19
INSPEC Accession Number: 5985712
Digital Object Identifier: 10.1109/FTCS.1998.689485
Current Version Published: 2002-08-06
Abstract
Programs fail mainly for two reasons: logic errors in the code,
and exception failures. Exception failures can account for up to 2/3 of
system crashes, hence are worthy of serious attention. Traditional
approaches to reducing exception failures, such as code reviews,
wallthroughs and formal testing, while very useful, are limited in their
ability to address a core problem: the programmer's inadequate coverage
of exceptional conditions. The problem of coverage might be rooted in
cognitive factors that impede the mental generation (or recollection) of
exception cases that would pertain in a particular situation, resulting
in insufficient software robustness. This paper describes a study to
test the hypothesis that robustness for exception failures can be
improved through the use of dependability cases. Dependability cases,
derived from safety cases, comprise a methodology based on structured
taxonomies and memory aids for helping software designer think about and
improve exception-handling coverage. A controlled experiment conducted
with 59 subjects revealed a statistically significant 43% increase in
exception-handling robustness. An ancillary experiment conducted with 38
subjects provides convergent evidence that the effect is authentic, and
not due to programming expertise alone
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.