Date of Award
2018
Publisher
North Dakota State University
Document Type
Dissertation
Degree Awarded
Doctor of Philosophy (PhD)
Department
Computer Science
College
Engineering
Faculty Advisor
Walia, Gursimran
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.
Recommended Citation
Anu, Vaibhav Kumar, "Using Human Error Models to Improve the Quality of Software Requirements" (2018). Computer Science. 322.
https://digitalcommons.ndsu.edu/computer-sci/322
Rights
NDSU Policy 190.6.2
Rights Link
https://www.ndsu.edu/fileadmin/policy/190.pdf
Author ORCID Identifier
0000-0001-8104-4942
Handle Identifier
https://hdl.handle.net/10365/28760