Improving software robustness with dependability cases
Maxion, R.A.; Olszewski, R.T.
Fault-Tolerant Computing, 1998. Digest of Papers. Twenty-Eighth Annual International Symposium on
Volume , Issue , 23-25 Jun 1998 Page(s):346 - 355
Digital Object Identifier 10.1109/FTCS.1998.689485
Summary: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
View citation and abstract |