by Jonathan D. Bright, Gregory F. Sullivan, Gerald M. Masson
IEEE Transactions on Computers
http://www.dnai.com/~bright/pubs/sorting.ps
Add To MetaCart
Abstract:
In this paper we describe the use of the certification-trail technique as the basis of a new hybrid framework for building formally verified software systems. Our technique involves formally verifying only a part of a software system; however, the technique yields a software system which still satisfies the most important correctness properties. Substantial savings in the overhead of software verification, and also in program running time are shown to be possible in comparison to traditional methods. We apply our technique to the problem of sorting since sorting represents one of the most basic operations in computer science, and a formally verified sorting certifier should have significant applicability. The results presented in this paper represent an enhancement of the certification-trail technique relative to the detection of incorrect computational output caused by software faults.
Citations
|
491
|
A Computational Logic
– Boyer, Moore
|
|
425
|
System Structure for Software Fault Tolerance
– Randell
- 1975
|
|
387
|
A Computational Logic Handbook
– Boyer, Mooer
- 1988
|
|
259
|
Designing programs that check their work
– Blum, Khanna
- 1995
|
|
183
|
The N-version Approach to Fault-Tolerant Software
– Avizienis
- 1985
|
|
141
|
Design and Analysis of Fault Tolerant Digital Systems
– Johnson
- 1989
|
|
85
|
N-version programming: A fault-tolerance approach to reliability of software operation
– Chen, Avizienis
- 1978
|
|
84
|
Concurrent error detection using watchdog processors—A survey
– Mahmood, McCluskey
- 1988
|
|
75
|
Fault Tolerance by Design Diversity: Concepts and Experiments
– Avizienis, Kelly
- 1984
|
|
73
|
Single-threaded polymorphic lambda calculus
– Guzmán, Hudak
- 1990
|
|
68
|
The analysis of Quicksort programs
– Sedgewick
- 1977
|
|
48
|
A variable typed logic of effects
– Honsell, Mason, et al.
- 1995
|
|
36
|
A mathematical theory of self-checking, self-testing and self-correcting Programs
– Rubinfeld
- 1990
|
|
32
|
Quicksort,” The
– Hoare
- 1962
|
|
29
|
Automated Correctness Proofs of Machine Code Programs for a Commercial Microprocessor
– Boyer, Yu
- 1992
|
|
23
|
Using certification trails to achieve software fault tolerance
– Sullivan, Masson
- 1990
|
|
17
|
Order-of-evaluation analysis for destructive updates in strict functional languages with at aggregates
– Sastry, Clinger, et al.
- 1993
|
|
17
|
Certification trails for data structures
– Sullivan, Masson
- 1991
|
|
14
|
Checking mergeable priority queues
– Bright, Sullivan
- 1994
|
|
12
|
Three priority queue applications revisited
– Liao
- 1992
|
|
4
|
Experimental Evaluation of Certification Trails Using Abstract-data-type Validation
– Wilson, Sullivan, et al.
- 1992
|
|
4
|
Certification Trails and Software Design for Testability
– Sullivan, Wilson, et al.
- 1993
|
|
3
|
Response to FM91 Survey of Formal Methods: Nqthm and Pc-Nqthm
– Kaufmann
- 1992
|
|
3
|
Mechanical Certification of Systolic Algorithms
– Purushothaman, Subrahmanyam
- 1989
|
|
1
|
Certification of Computational Results, " accepted to
– Sullivan, Wilson, et al.
|