thesis
Towards the design of efficient error detection mechanisms
- Publication date
- Publisher
Abstract
The pervasive nature of modern computer systems has led to an increase in our
reliance on such systems to provide correct and timely services. Moreover, as
the functionality of computer systems is being increasingly defined in software,
it is imperative that software be dependable. It has previously been shown that
a fault intolerant software system can be made fault tolerant through the design
and deployment of software mechanisms implementing abstract artefacts known
as error detection mechanisms (EDMs) and error recovery mechanisms (ERMs),
hence the design of these components is central to the design of dependable
software systems. The EDM design problem, which relates to the construction
of a boolean predicate over a set of program variables, is inherently difficult,
with current approaches relying on system specifications and the experience of
software engineers. As this process necessarily entails the identification and
incorporation of program variables by an error detection predicate, this thesis
seeks to address the EDM design problem from a novel variable-centric perspective,
with the research presented supporting the thesis that, where it exists
under the assumed system model, an efficient EDM consists of a set of critical
variables. In particular, this research proposes (i) a metric suite that can
be used to generate a relative ranking of the program variables in a software with respect to their criticality, (ii) a systematic approach for the generation
of highly-efficient error detection predicates for EDMs, and (iii) an approach
for dependability enhancement based on the protection of critical variables using
software wrappers that implement error detection and correction predicates
that are known to be efficient. This research substantiates the thesis that an
efficient EDM contains a set of critical variables on the basis that (i) the proposed
metric suite is able, through application of an appropriate threshold, to
identify critical variables, (ii) efficient EDMs can be constructed based only on
the critical variables identified by the metric suite, and (iii) the criticality of the
identified variables can be shown to extend across a software module such that
an efficient EDM designed for that software module should seek to determine
the correctness of the identified variables