Using Human Error Models to Improve the Quality of Software Requirements

Creating high quality software is a primary concern for software development organizations. Researchers have devoted considerable effort in developing quality improvement methods that help software engineers detect faults early in the development lifecycle (when the faults are cheapest to detect and...

Full description

Bibliographic Details
Main Author: Anu, Vaibhav Kumar
Format: Others
Published: North Dakota State University 2018
Online Access:https://hdl.handle.net/10365/28760
id ndltd-ndsu.edu-oai-library.ndsu.edu-10365-28760
record_format oai_dc
spelling ndltd-ndsu.edu-oai-library.ndsu.edu-10365-287602021-09-28T17:11:24Z Using Human Error Models to Improve the Quality of Software Requirements Anu, Vaibhav Kumar Creating high quality software is a primary concern for software development organizations. Researchers have devoted considerable effort in developing quality improvement methods that help software engineers detect faults early in the development lifecycle (when the faults are cheapest to detect and repair). While useful, the available approaches still cannot make sure that Software developers are able to identify all or even a significantly large portion of faults. This is because they do not help software developers identify errors (i.e., underlying cause of faults) that may have led to the insertion of the faults (i.e., manifestation of error). This lack of focus on errors causes some faults to be overlooked which impacts quality of software produced. Requirements engineering is the most people-intensive phase of software development. Thus, requirements engineering is more prone to human error when compared to other phases of software development. To that end, this dissertation focuses on understanding the human error causes of requirements faults. The central idea that drives this dissertation is that, knowledge of errors that commonly occur during the requirements engineering process can help software developers in detecting faults that are otherwise overlooked when using traditional approaches and also help them to avoid making errors when developing requirements. Human error research focuses on understanding and classifying the fallibilities of human cognition. This dissertation combines requirements error information (gathered from Software Engineering literature) with the general accounts of human error and human error models (gathered from the Psychology literature). There are three steps to this work: development of a requirements phase human error taxonomy, empirical validation of the taxonomy’s usefulness for understanding requirements faults and errors, and development and subsequent validation of a formal software inspection technique based on the taxonomy. As a result of this dissertation, a structured Human Error Taxonomy (HET) that classifies requirements phase errors was created with direct ties to the existing human error theories. Several empirical validations of the taxonomy have helped in: successfully demonstrating the taxonomy’s usefulness for understanding requirements faults and errors, and developing a formal HET-based Error Abstraction and Inspection (EAI) approach and supplementary human error investigation tools. 2018-08-02T17:37:11Z 2018-08-02T17:37:11Z 2018 text/dissertation movingimage/video https://hdl.handle.net/10365/28760 NDSU Policy 190.6.2 https://www.ndsu.edu/fileadmin/policy/190.pdf application/pdf video/mp4 North Dakota State University
collection NDLTD
format Others
sources NDLTD
description Creating high quality software is a primary concern for software development organizations. Researchers have devoted considerable effort in developing quality improvement methods that help software engineers detect faults early in the development lifecycle (when the faults are cheapest to detect and repair). While useful, the available approaches still cannot make sure that Software developers are able to identify all or even a significantly large portion of faults. This is because they do not help software developers identify errors (i.e., underlying cause of faults) that may have led to the insertion of the faults (i.e., manifestation of error). This lack of focus on errors causes some faults to be overlooked which impacts quality of software produced. Requirements engineering is the most people-intensive phase of software development. Thus, requirements engineering is more prone to human error when compared to other phases of software development. To that end, this dissertation focuses on understanding the human error causes of requirements faults. The central idea that drives this dissertation is that, knowledge of errors that commonly occur during the requirements engineering process can help software developers in detecting faults that are otherwise overlooked when using traditional approaches and also help them to avoid making errors when developing requirements. Human error research focuses on understanding and classifying the fallibilities of human cognition. This dissertation combines requirements error information (gathered from Software Engineering literature) with the general accounts of human error and human error models (gathered from the Psychology literature). There are three steps to this work: development of a requirements phase human error taxonomy, empirical validation of the taxonomy’s usefulness for understanding requirements faults and errors, and development and subsequent validation of a formal software inspection technique based on the taxonomy. As a result of this dissertation, a structured Human Error Taxonomy (HET) that classifies requirements phase errors was created with direct ties to the existing human error theories. Several empirical validations of the taxonomy have helped in: successfully demonstrating the taxonomy’s usefulness for understanding requirements faults and errors, and developing a formal HET-based Error Abstraction and Inspection (EAI) approach and supplementary human error investigation tools.
author Anu, Vaibhav Kumar
spellingShingle Anu, Vaibhav Kumar
Using Human Error Models to Improve the Quality of Software Requirements
author_facet Anu, Vaibhav Kumar
author_sort Anu, Vaibhav Kumar
title Using Human Error Models to Improve the Quality of Software Requirements
title_short Using Human Error Models to Improve the Quality of Software Requirements
title_full Using Human Error Models to Improve the Quality of Software Requirements
title_fullStr Using Human Error Models to Improve the Quality of Software Requirements
title_full_unstemmed Using Human Error Models to Improve the Quality of Software Requirements
title_sort using human error models to improve the quality of software requirements
publisher North Dakota State University
publishDate 2018
url https://hdl.handle.net/10365/28760
work_keys_str_mv AT anuvaibhavkumar usinghumanerrormodelstoimprovethequalityofsoftwarerequirements
_version_ 1719485718820028416