Skip to main navigation Skip to search Skip to main content

The links between human error diversity and software diversity: Implications for fault diversity seeking

  • Fuqun Huang*
  • , Bin Liu
  • , You Song
  • , Shreya Keyal
  • *Corresponding author for this work
  • Beihang University
  • University College London

Research output: Contribution to journalArticlepeer-review

Abstract

Software diversity is known to improve fault tolerance in N-version software systems by independent development. As the leading cause of software faults, human error is considered an important factor in diversity seeking. However, there is little scientific research focusing on how to seek software fault diversity based on human error mechanisms. A literature review was conducted to extract factors that may differentiate people with respect to human error-proneness. In addition, we constructed a conceptual model of the links between human error diversity and software diversity. An experiment was designed to validate the hypotheses, in the form of a programming contest, accompanied by a survey of cognitive styles and personality traits. One hundred ninety-two programs were submitted for the identical problem, and 70 surveys were collected. Code inspection revealed 23 faults, of which 10 were coincident faults. The results show that personality traits seems not effective predictors for fault diversity as a whole model, whereas cognitive styles and program measurements moderately account for the variation of fault density. The results also show causal relations between performance levels and coincident faults: coincident faults are unlikely to occur at skill-based performance level; the coincident faults introduced in rule-based performances show a high probability of occurrence, and the coincident faults introduced in knowledge-based performances are shaped by the content and formats of the task itself. Based on these results, we have proposed a model to seek software diversity and prevent coincident faults.

Original languageEnglish
Pages (from-to)350-373
Number of pages24
JournalScience of Computer Programming
Volume89
Issue numberPART C
DOIs
StatePublished - 1 Sep 2014

Keywords

  • Cognitive style
  • Human error
  • N-version programming
  • Personality trait
  • Software diversity

Fingerprint

Dive into the research topics of 'The links between human error diversity and software diversity: Implications for fault diversity seeking'. Together they form a unique fingerprint.

Cite this