Software defect prevention based on human error theories

https://doi.org/10.1016/j.cja.2017.03.005Get rights and content
Under a Creative Commons license
open access

Abstract

Software defect prevention is an important way to reduce the defect introduction rate. As the primary cause of software defects, human error can be the key to understanding and preventing software defects. This paper proposes a defect prevention approach based on human error mechanisms: DPeHE. The approach includes both knowledge and regulation training in human error prevention. Knowledge training provides programmers with explicit knowledge on why programmers commit errors, what kinds of errors tend to be committed under different circumstances, and how these errors can be prevented. Regulation training further helps programmers to promote the awareness and ability to prevent human errors through practice. The practice is facilitated by a problem solving checklist and a root cause identification checklist. This paper provides a systematic framework that integrates knowledge across disciplines, e.g., cognitive science, software psychology and software engineering to defend against human errors in software development. Furthermore, we applied this approach in an international company at CMM Level 5 and a software development institution at CMM Level 1 in the Chinese Aviation Industry. The application cases show that the approach is feasible and effective in promoting developers’ ability to prevent software defects, independent of process maturity levels.

Keywords

Human factor
Human error
Programming
Root cause analysis
Software defect prevention
Software design
Software quality
Software psychology

Cited by (0)

Peer review under responsibility of Editorial Committee of CJA.

  1. Download : Download high-res image (52KB)
  2. Download : Download full-size image