Title :
Does your result checker really check?
Author :
Guo, Lan ; Mukhopadhyay, Supratik ; Cukic, Bojan
Author_Institution :
Lane Dept. of CSEE, West Virginia Univ., Morgantown, WV, USA
fDate :
28 June-1 July 2004
Abstract :
A result checker is a program that checks the output of the computation of the observed program for correctness. Introduced originally by Blum, the result-checking paradigm has provided a powerful platform assuring the reliability of software. However, constructing result checkers for most problems requires not only significant domain knowledge but also ingenuity and can be error prone. In this paper we present our experience in validating result checkers using formal methods. We have conducted several case studies in validating result checkers from the commercial LEDA system for combinatorial and geometric computing. In one of our case studies, we detected a logical error in a result checker for a program computing max flow of a graph.
Keywords :
error detection; program verification; LEDA system; combinatorial computing; formal methods; geometric computing; logical error detection; program checker; program correctness; result-checking paradigm; software reliability; Application software; Fault tolerance; Hardware; Mission critical systems; Performance evaluation; Programming profession; Runtime; Software reliability; Software systems; Software testing;
Conference_Titel :
Dependable Systems and Networks, 2004 International Conference on
Print_ISBN :
0-7695-2052-9
DOI :
10.1109/DSN.2004.1311909