Abstract. The concept of a fault has been introduced in the context of a comprehensive study of system dependability, and is defined as a feature of the system that causes it to fail with respect to its specification. In this paper, we argue that this definition does not enable us to localize a fault, nor to count faults, nor to define fault density. We argue that rather than defining a fault, we ought to focus on defining faulty programs (or program parts); also, we introduce inductive rules that enable us to localize faults to an arbitrary level of precision; finally, we argue that to claim that a program part is faulty one must often make an assumption about other program parts (and we find that the claim is only as valid as the assumption). Keywords. Fault, error, failure, specification, correctness, faulty program, refinement. Acknowledgement: This publication was made possible by a grant from the Qatar National Research Fund NPRP04-1109-1-174. Its contents are solely the responsibility of the authors and do not necessarily represent the official views of the QNRF.


Article metrics loading...

Loading full text...

Full text loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error