Using a Cognitive Psychology Perspective on Errors to Improve Requirements Quality: An Empirical Investigation

  title={Using a Cognitive Psychology Perspective on Errors to Improve Requirements Quality: An Empirical Investigation},
  author={Vaibhav Anu and Gursimran Singh Walia and Wenhua Hu and Jeffrey C. Carver and Gary L. Bradshaw},
  journal={2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE)},
Software inspections are an effective method for early detection of faults present in software development artifacts (e.g., requirements and design documents). However, many faults are left undetected due to the lack of focus on the underlying sources of faults (i.e., what caused the injection of the fault?). To address this problem, research work done by Psychologists on analyzing the failures of human cognition (i.e., human errors) is being used in this research to help inspectors detect… 

Figures and Tables from this paper

Understanding Human Errors In Software Requirements: An Online Survey
In this research, the findings from human error research are applied to improve the process of requirements engineering by focusing on those issues that are human errors.
Issues and Opportunities for Human Error-Based Requirements Inspections: An Exploratory Study
The goal of the controlled study presented in this paper was to identify the specific tasks of EAI that inspectors find most difficult to perform and the strategies that successful inspectors use when performing the tasks.
HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms
An approach to predicting software defects through knowledge about the cognitive mechanisms of human errors through knowledge of typical error modes is proposed, with excellent capability of forecasting the exact locations and forms of possible defects at the early phases of software development.
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.
Human Error Analysis in Software Engineering
This chapter first reviews the state of art of an emerging area: software fault defense based on human error mechanisms, and an approach for human error analysis (HEA), which can be used at various phases of software development, for both defect detection and prevention purposes.
Cognitive-support code review tools: improved efficiency of change-based code review by guiding and assisting reviewers
It is argued that the most promising approach for better review support is reducing the reviewer’s cognitive load when reviewing large code changes, and this potential is associated with the opportunity to increase efficiency in software development.
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.
Pupillography as Indicator of Programmers' Mental Effort and Cognitive Overload
  • R. Couceiro, G. Duarte, H. Madeira
  • Computer Science
    2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
  • 2019
The idea is to use pupillography to get meta information about the programmers' cognitive and emotional states during code development to identify conditions that may precipitate programmers making bugs or bugs escaping human attention, and tag the corresponding code locations in the software under development to provide online warnings to the programmer or identify code snippets that will need more intensive testing.
Targeted Code Inspection based on Human Errors
  • Fuqun Huang, H. Madeira
  • Computer Science, Business
    2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)
  • 2021
A new code inspection method is proposed: targeted code inspection based on human error mechanisms of software engineers based on the common erroneous mechanisms of human cognition, which targets error-prone codes with high efficiency and minimum effort.


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
An empirical study of the effect of learning styles on the faults found during the software requirements inspection
  • Anurag Goswami, G. Walia
  • Business
    2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE)
  • 2013
The initial results show that the teams composed of inspectors with different LS preferences are more effective and efficient than the teams of inspectors who had similar LS's.
Requirement error abstraction and classification: an empirical study
The results show that the EAP significantly improves the productivity of subjects, that the RET is useful for improving software quality, that it provides useful insights into the requirements document, and that various context variables also impact the results.
Requirement Error Abstraction and Classification: A Control Group Replicated Study
The results from this study indicate that the error abstraction and classification approach improves the effectiveness and efficiency of inspectors and the requirement error taxonomy is viewed favorably and provides useful insights into the source of faults.
Evaluating the Use of Requirement Error Abstraction and Classification Method for Preventing Errors during Artifact Creation: A Feasibility Study
The hypothesis was that participants who find more errors during the inspection of a requirements document would make fewer errors when creating their own requirements document, and the overall result supports this hypothesis.
Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment
It is hypothesized that a Scenario-based method, in which each reviewer uses different, systematic techniques to search for different, specific classes of faults, will have a significantly higher success rate than either Ad Hoc or Checklist methods.
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.
Errors on Space Software Requirements: A Field Study and Application Scenarios
The paper proposes a set of operators that define how to inject realistic errors in requirement documents and shows a high rate of requirement errors, which is surprising if the focus of the work is critical embedded software.
Cognitive factors in perspective-based reading (PBR): A protocol analysis study
The authors conclude that protocol analysis is a useful tool for analyzing cognitively intense software engineering tasks such as software inspections.