On faults and faulty programs

Ali Mili, Marcelo F. Frias, Ali Jaoua

Research output: Chapter in Book/Report/Conference proceedingConference contribution

19 Scopus citations


A fault is an attribute of a program that precludes it from satisfying its specification; while this definition may sound clear-cut, it leaves many details unspecified. An incorrect program may be corrected in many different ways, involving different numbers of modifications. Hence neither the location nor the number of of faults may be defined in a unique manner; this, in turn, sheds a cloud of uncertainty on such concepts as fault density, and fault forecasting. In this paper, we present a more precise definition of a program fault, that has the following properties: it recognizes that the same incorrect behavior may be remedied in more than one way; it recognizes that removing a fault does not necessarily make the program correct, but may make it less incorrect (in a sense to be defined); it characterizes fault removals that make the program less incorrect, as opposed to fault removals that may remedy one aspect of program behavior at the expense of others; it recognizes that isolating a fault in a program is based on implicit assumptions about the remaining program parts; it identifies instances when a fault may be localized in a program with absolute certainty.

Original languageEnglish (US)
Title of host publicationRelational and Algebraic Methods in Computer Science - 14th International Conference, RAMiCS 2014, Proceedings
PublisherSpringer Verlag
Number of pages17
ISBN (Print)9783319062501
StatePublished - 2014
Event14th International Conference on Relational and Algebraic Methods in Computer Science, RAMiCS 2014 - Marienstatt, Germany
Duration: Apr 28 2014May 1 2014

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8428 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other14th International Conference on Relational and Algebraic Methods in Computer Science, RAMiCS 2014

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science


  • contingent fault
  • correctness
  • definite fault
  • fault removal
  • faults
  • faulty programs
  • monotonic fault removal
  • refinement
  • relative correctness


Dive into the research topics of 'On faults and faulty programs'. Together they form a unique fingerprint.

Cite this