Incorporating Human Error Education into Software Engineering Courses via Error-based Inspections

  title={Incorporating Human Error Education into Software Engineering Courses via Error-based Inspections},
  author={Vaibhav Anu and Gursimran Singh Walia and Gary L. Bradshaw},
  journal={Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education},
In spite of the human-centric aspect of software engineering (SE) discipline, human error knowledge has been ignored by SE educators as it is often thought of as something that belongs in the realm of Psychology. SE curriculum is also severely devoid of educational content on human errors, while other human-centric disciplines (aviation, medicine, process control) have developed human error training and other interventions. To evaluate the feasibility of using such interventions to teach… 

Figures and Tables from this paper

Developing and Evaluating Learning Materials to Introduce Human Error Concepts in Software Engineering Courses: Results from Industry and Academia
Whether requirements inspections supported by human errors can be used to deliver knowledge about software engineering human errors as well as knowledge about requirements inspections (a key industry skill) to students is evaluated.
Training Industry Practitioners to Investigate the Human Error Causes of Requirements Faults
An industrial study to evaluate whether human error training procedures and instrumentation created by authors can be used to train industry software practitioners on human errors that occur during requirements engineering process shows that parts of the training procedures need to be improved.
Most common errors in software modeling using UML
This article evaluated 2 editions of Requirements Engineering and Systems Analysis of a Software Engineering course with a total of 41 students and found recurrent errors in software modeling made by students from Software Engineering courses to be recurrent.
Exploring the Practical Teaching Mode of Software Engineering Courses
Practice shows that the hierarchical case-based teaching mode effectively stimulates students' interest in the "Software Engineering" practical class and significantly improves the teaching quality of the "software engineering" practical course.
How Software Developers Mitigate Their Errors When Developing Code
It is found that developers struggle with effective mitigation strategies for their errors, reporting strategies largely based on improving their own willpower to concentrate better on coding tasks, which may help reduce errors during software development.
A Human Error Based Approach to Understanding Programmer-Induced Software Vulnerabilities
A classification for the most frequently observed human errors committed by the programmers (the commitment of a human error can lead to injection of one or more security defects/bugs) can be useful for software development organizations as they can train developers on the human errors so that developers can avoid committing the human mistakes themselves, thereby reducing the chances of vulnerability injection in their code.
Validating Requirements Reviews by Introducing Fault-Type Level Granularity: A Machine Learning Approach
This work aims at automation of fault-consolidation step by using supervised machine learning algorithms that can effectively isolate faults from non-faults during the fault consolidation step of requirements inspections.
Using Human Error Models to Improve the Quality of Software Requirements
Errors From faults
Understanding Human Errors to Improve Requirements Quality


Effectiveness of Human Error Taxonomy during Requirements Inspection: An Empirical Investigation
Results show that subjects using HET were not only more effective at detecting faults, but they found faults faster, and post-hoc analysis of HET revealed meaningful insights into the most commonly occurring human errors at different points during requirements development.
Using error abstraction and classification to improve requirement quality: conclusions from a family of four empirical studies
Achieving high software quality is a primary concern for software development organizations. Researchers have developed many quality improvement methods that help developers detect faults early in
A systematic literature review to identify and classify software requirement errors
Patient safety: helping medical students understand error in healthcare
A 5-h evidence-based module on understanding error in healthcare was designed with a preliminary evaluation using self-report questionnaires and the students rated the teaching process highly and found the module valuable.
Experimenting with error abstraction in requirements documents
  • F. Lanubile, F. Shull, V. Basili
  • Computer Science
    Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262)
  • 1998
An empirical study is presented whose main purpose is to investigate whether defect detection in requirements documents can be improved by focusing on the errors in a document rather than the individual faults that they cause.
Human Error and General Aviation Accidents: A Comprehensive, Fine-Grained Analysis Using HFACS
Abstract : The Human Factors Analysis and Classification System (HFACS) is a theoretically based tool for investigating and analyzing human error associated with accidents and incidents. Previous
Coping with Human Errors through System Design: Implications for Ecological Interface Design
The Human Factors Analysis Classification System (HFACS) Applied to Health Care
The modification of the Human Factors Analysis Classification System based on James Reason's theory of error causation for use in health care is described, which resolves the 4 deficiencies noted above.
The development and theoretical underpinnings of a comprehensive human factors analysis and classification system are described in the hope that it will help safety professionals reduce the aviation accident rate through systematic, data driven investment strategies and objective evaluation of intervention programs.
Managing the risks of organizational accidents
Contents: Hazards, losses and defences Defeating the defences Dangerous defences The human contribution Maintenance can seriously damage your system Navigating the safety space A practical guide to