Open Access
Producing dependable object-oriented software using testing and design patterns
Fonda Jonette Daniels,Mladen A. Vouk,K.C. Tai +2 more
- 01 Jan 1998
1
TL;DR: A new design pattern called the Reliable Hybrid Pattern is presented, that provides a generalized framework that supports development of applications based on "classical" fault-tolerant software strategies such as N-Version Programming and Recovery Block, as well as advanced hybrid fault-Tolerant techniques such as Acceptance Voting and Consensus Recovery Block.
read more
Abstract: The work described in this dissertation is concerned with two issues from the domain of dependable object-oriented software: (1) Development of fault-tolerant design patterns, and (2) Development of object-oriented testing techniques.
Designs that provide fault tolerance can be used to increase the reliability of object-oriented systems. Design patterns represent the common abstraction that experienced object-oriented designers can use to solve design problems in a way that can be understood and reused by other designers. A new design pattern called the Reliable Hybrid Pattern is presented, that provides a generalized framework that supports development of applications based on "classical" fault-tolerant software strategies such as N-Version Programming and Recovery Block, as well as advanced hybrid fault-tolerant techniques such as Acceptance Voting and Consensus Recovery Block.
Unfortunately, as practical object-oriented systems become more complex, the design and implementation constructs cannot usually be proven correct. When testing object-oriented software, a tester has to consider four levels of abstraction: (1) Routine or method level, (2) Class (intra-class) level, (3) Cluster (inter-class) level, and (4) System level. In this research the focus is inter-class and intra-class testing, which are forms of integration testing. A new inter-class test order strategy is presented along with several inter-class properties. The approach develops an inter-class test order structure based on topological ordering of inheritance, aggregation and association relations. The classes are designed, integrated and tested according to the derived structure.
A new approach to intra-class testing is also developed that involves deriving method sequences from sequencing constraints derived from method pre- and post-conditions. Method sequences are generated based on method sequencing coverage criteria developed as part of this work. The basic approach can be augmented through post-condition checking, or a test oracle or a combination of both. Code mutation and simulations were used to evaluate the effectiveness of this approach. Results show that generation of method sequences from sequencing constraints is an effective approach for assessing program correctness. Basic sequencing detected between 21-49% of the seeded faults, while post-condition checking found 68-87%. Addition of a test oracle further improves the effectiveness of the approach.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Measuring the effectiveness of method test sequences derived from sequencing constraints
F.J. Daniels,K.C. Tai +1 more
- 01 Aug 1999
TL;DR: This work presents an empirical evaluation of different method sequence generation approaches, and analyzes their effectiveness in detecting software faults.
22