## Certification Trails for Data Structures (1991)

Venue: | Digest of the 1991 Fault Tolerant Computing Symposium |

Citations: | 21 - 8 self |

### BibTeX

@INPROCEEDINGS{Sullivan91certificationtrails,

author = {Gregory F. Sullivan and Gerald M. Masson and Dwight S. Wilson},

title = {Certification Trails for Data Structures},

booktitle = {Digest of the 1991 Fault Tolerant Computing Symposium},

year = {1991},

pages = {240--247},

publisher = {IEEE Computer Society Press}

}

### OpenURL

### Abstract

Certification trails are a recently introduced and promising approach to faultdetection and fault-tolerance [19]. In this paper, we significantly generalize the applicability of the certification trail technique. Previously, certification trails had to be customized to each algorithm application, but here we develop trails appropriate to wide classes of algorithms. These certification trails are based on common data-structure operations such as those carried out using balanced binary trees and heaps. Any algorithm using these sets of operations can therefore employ the certification trail method to achieve software fault tolerance. To exemplify the scope of the generalization of the certification trail technique provided in this paper, constructions of trails for abstract data types such as priority queues and union-find structures will be given. These trails are applicable to any data-structure implementation of the abstract data type. It will also be shown that these ideas lead natur...

### Citations

1768 |
Computational Geometry: An Introduction
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ...time. In this paper we use a plane sweep algorithm that can be easily implemented in terms of operations on priority queues. Plane sweep algorithms are widely used for computational geometry problems =-=[16]-=-, and typically use a priority queue for event scheduling, and may be amenable to use of certification trail techniques. Using a plane sweep algorithm, we compute the skyline as follows. Initialize a ... |

952 |
A method for the construction of minimum redundancy codes
- Huffman
- 1952
(Show Context)
Citation Context ...tree with frequencies assigned to the leaves, such that the sum of the weighted path lengths is minimized. This is a classic algorithmic problem and one of the original solutions was found by Huffman =-=[13]-=-. It has been used extensively in data compression algorithms through the design and use of so called Huffman codes. The tree structure and code design are based on frequencies of individual character... |

537 |
System structure for software fault tolerance
- Randell
- 1975
(Show Context)
Citation Context ...ration has too many arguments or an argument refers to an inappropriate object. The answer-validation problem is similar to the idea of an acceptance test which is used in the recovery-block approach =-=[17, 2]-=- to software fault tolerance. The main difference is that an answer-validation problem is dependent upon a sequence of answers, not just an individual answer. Hence, if an incorrect answer appears in ... |

305 | Designing Programs that Check Their Work - Blum, Kannan - 1995 |

255 |
Efficiency of a good but not linear set union algorithm
- TARJAN
- 1975
(Show Context)
Citation Context ...us say the total number of operations is m, which is assumed to be greater than or equal to n. Recall, n is the number of set elements and set names. Tarjan gave the tight upper bound of O(mff(m; n)) =-=[21, 22]-=- for this problem. The ff refers to the inverse of Ackermann's function which is a very slowly growing function. His solution Operation Answer Status of sets create(1,1) 1:f1g create(2,2) 1:f1g,2:f2g ... |

237 | The N-version approach to fault-tolerant software - Avizienis - 1985 |

234 |
Fault Tolerance Principles and Practice
- Anderson, Lee
- 1981
(Show Context)
Citation Context ...ration has too many arguments or an argument refers to an inappropriate object. The answer-validation problem is similar to the idea of an acceptance test which is used in the recovery-block approach =-=[17, 2]-=- to software fault tolerance. The main difference is that an answer-validation problem is dependent upon a sequence of answers, not just an individual answer. Hence, if an incorrect answer appears in ... |

231 | R.: A dichromatic framework for balanced trees - Guibas, Sedgewick - 1978 |

197 |
Design and analysis of fault-tolerant digital system,” Addison-Wesley Publication Company
- Johnson
- 1989
(Show Context)
Citation Context ...earlier output. If the outputs differ then an error is indicated, otherwise the output is accepted as correct. This software fault tolerance method requires additional time, so-called time redundancy =-=[14, 18]-=-; however, it requires no additional software. It is particularly valuable for detecting errors caused by transient fault phenomena. If such faults cause an error during only one of the executions the... |

179 |
An algorithm for the organization of information
- Adelson-Velskii, Landis
- 1962
(Show Context)
Citation Context ...e heights uniformly over the range [0; 100000]. The x-coordinates of the left edges were chosen uniformly over the range [0; 90000] and the width of each rectangle was chosen uniformly over the range =-=[1; 10000]-=-. Timing results are based on twenty executions for each input size. Size Basic Algorithm First Execution Second Execution Speedup Percent (Also Generates Trail) (Uses Trail) Savings 1000 0.25 0.27 0.... |

152 |
Introduction to Algorithms: A Creative Approach
- Manber
- 1989
(Show Context)
Citation Context ... 1.73 17.11 1000,10000 0.86 0.91 0.45 1.91 20.93 1500,15000 1.39 1.48 0.69 2.01 21.94 2000,20000 1.94 1.97 0.90 2.16 26.03 Table 6: Shortest Path buildings by eliminating hidden lines is discussed in =-=[15]-=-. The method used is divide and conquer and it constructs a skyline in O(n log(n)) time. In this paper we use a plane sweep algorithm that can be easily implemented in terms of operations on priority ... |

149 | Algorithm 232: Heapsort - WILLIAMS - 1964 |

148 |
A linear-time algorithm for a special case of disjoint set union
- Gabow, Tarjan
- 1985
(Show Context)
Citation Context ...c [23]. Fredman and Saks gave a lower bound of \Omega\Gamma mff(m; n)) [10] in a general cell-probe model. Gabow and Tarjan show how to solve some important special cases of this problem in O(m) time =-=[11]-=-. We now consider the answer-validation problem for the disjoint-set-union data type. We will show that this problem can be solved in O(m) time where m is the number of operations. Note, this time com... |

139 | N-version programming: a fault-tolerance approach to reliability of software operation - Chen, Avizienis - 1978 |

128 |
The cell probe complexity of dynamic data structures
- Fredman, Saks
- 1989
(Show Context)
Citation Context ...,2,3,5g find(6) 4 Table 1: Sequence of operations for a Disjoint Set Union and earlier solutions used a path-compression heuristic [23]. Fredman and Saks gave a lower bound of \Omega\Gamma mff(m; n)) =-=[10]-=- in a general cell-probe model. Gabow and Tarjan show how to solve some important special cases of this problem in O(m) time [11]. We now consider the answer-validation problem for the disjoint-set-un... |

110 |
Leeuwen, Worst-case analysis of set union algorithms
- Tarjan, Van
(Show Context)
Citation Context ...,3,5g create(7,7) 4:f4,6g,5:f1,2,3,5g,7:f7g union(4,7) 4:f4,6,7g,5:f1,2,3,5g find(6) 4 Table 1: Sequence of operations for a Disjoint Set Union and earlier solutions used a path-compression heuristic =-=[23]-=-. Fredman and Saks gave a lower bound of \Omega\Gamma mff(m; n)) [10] in a general cell-probe model. Gabow and Tarjan show how to solve some important special cases of this problem in O(m) time [11]. ... |

76 |
A class of algorithms which require nonlinear time to maintain disjoint sets
- Tarjan
- 1979
(Show Context)
Citation Context ...us say the total number of operations is m, which is assumed to be greater than or equal to n. Recall, n is the number of set elements and set names. Tarjan gave the tight upper bound of O(mff(m; n)) =-=[21, 22]-=- for this problem. The ff refers to the inverse of Ackermann's function which is a very slowly growing function. His solution Operation Answer Status of sets create(1,1) 1:f1g create(2,2) 1:f1g,2:f2g ... |

73 |
Introduction to Algorithms. McGraw-Hill and
- Cormen, Leiserson, et al.
- 1990
(Show Context)
Citation Context ...t is created. Sets are listed by first giving the name of the set followed by a colon and then the contents of the set. The disjoint-set-union problem is a classic problem which has many applications =-=[9]-=- such as the off-line min problem, connected components, least-common ancestors, and equivalence of finite automata. Of particular interest is the time-complexity of performing a sequence of operation... |

35 | Organization of large ordered indexes - Bayer, McCreight - 1972 |

25 |
Using certification trails to achieve software fault tolerance
- Sullivan, Masson
- 1990
(Show Context)
Citation Context ...ight S. Wilson Dept. of Computer Science, Johns Hopkins Univ., Baltimore, MD 21218 Abstract Certification trails are a recently introduced and promising approach to faultdetection and fault-tolerance =-=[19]-=-. In this paper, we significantly generalize the applicability of the certification trail technique. Previously, certification trails had to be customized to each algorithm application, but here we de... |

9 |
The Theory and Practice of Reliable Design
- Siewiorek, Swarz
- 1982
(Show Context)
Citation Context ...earlier output. If the outputs differ then an error is indicated, otherwise the output is accepted as correct. This software fault tolerance method requires additional time, so-called time redundancy =-=[14, 18]-=-; however, it requires no additional software. It is particularly valuable for detecting errors caused by transient fault phenomena. If such faults cause an error during only one of the executions the... |

3 | Software Fault Tolerance Through Executable Assertions - Andrews - 1979 |

1 | Using excutable assertions for testing and fault tolerance - Andrews - 1979 |

1 |
Error Models for robust data structures," Dig. 20th Annu
- Taylor
- 1990
(Show Context)
Citation Context ...ossible application of the answer-validation problem occurs when it is used in conjunction with a repairable data structure which allows for repair but does not automatically attempt to detect faults =-=[24]-=-. Suppose an abstract data type is implemented with a repairable data structure. One can use an answer-validation procedure to detect errors in the answers generated by the abstract data type. When an... |