Concurrent Software Fault Detection

J. Richard Kane, Stephen S. Yau

Research output: Contribution to journalArticlepeer-review


A module is an abstract component of a software System. It may be interpreted as a machine instruction, high level language statement, subroutine, procedure, etc. A sequence of modules is executed for each transaction processed by the system; Control faults manifest themselves as incorrect execution sequences. A graph-theoretic model for software systems is presented which permits a system to be characterized by its set of allowable execution sequences. It is shown how a system can be structured so that every execution sequence affected by a control fault is obviously in error, i.e., not in the allowable set defined by the system model. Faults are detected by monitoring the execution sequence of every transaction processed by the system and comparing its execution sequence to the set of allowable sequences. Algorithms are presented both for structuring a system so that all faults can be detected and for fault detection concurrent with system operation. Simulation results are presented which support the theoretical development of this paper.

Original languageEnglish (US)
Pages (from-to)87-99
Number of pages13
JournalIEEE Transactions on Software Engineering
Issue number1
StatePublished - Mar 1975
Externally publishedYes


  • Terms-Algorithm
  • concurrent fault detection
  • control faults
  • fault model
  • implementation, performance
  • simulation
  • software faults

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Concurrent Software Fault Detection'. Together they form a unique fingerprint.

Cite this