Application of Human Error Theories in Detecting and Preventing
Total Page:16
File Type:pdf, Size:1020Kb
APPLICATION OF HUMAN ERROR THEORIES IN DETECTING AND PREVENTING SOFTWARE REQUIREMENT ERRORS by WENHUA HU JEFFREY C. CARVER, COMMITTEE CHAIR JEFF GRAY GARY BRADSHAW TRAVIS ATKISON RANDY SMITH A DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of The University of Alabama TUSCALOOSA, ALABAMA 2017 Copyright Wenhua Hu 2017 ALL RIGHTS RESERVED ABSTRACT Developing correct software requirements is important for overall software quality. Most existing quality improvement approaches focus on detection and removal of faults (i.e., problems recorded in a document) as opposed to identifying the underlying errors that produced those faults. Accordingly, developers are likely to make the same errors in the future and not recognize other existing faults with the same origins. The Requirement Error Taxonomy (RET) developed by Walia and Carver helps focus the developer’s attention on common errors that can occur during requirements engineering. However, because development of software requirements is a human-centric process, requirements engineers will likely make human errors during the process which may lead to undetected faults. Thus, in order to bridge the gap, the goals of my dissertation are: (1) construct a complete Human Error Taxonomy (HET) for the software requirements stage; (2) investigate the usefulness of HET as a defect detection technique; (3) investigate the effectiveness of HET as a defect prevention technique; and (4) provide specific defect prevention measurements for each error in HET. To address these goals, the dissertation contains three articles. The first article is a systematic literature review that uses insights from cognitive psychology research on human errors to develop formal HET to help software engineers improve software requirements specification (SRS) documents. After building the HET, it is necessary to empirically evaluate its effectiveness. Thus, the second article describes two studies to evaluate the usefulness of the HET in the process of defect detection. Finally, the third article analyzes the usefulness of HET for defect prevention and provides strategies for preventing specific errors in the SRS. ii ACKNOWLEDGMENTS I am pleased to have this opportunity to thank the many colleagues, friends, and faculty members who have helped me with this research project. I am most indebted to Jeffrey Carver, the chairman of this dissertation, for sharing his research expertise and wisdom regarding motivational theory. I would also like to thank all of my committee members, Jeff Gray, Travis Atkison, and Randy Smith for their invaluable input, inspiring questions, and support of both the dissertation and my academic progress. I would like to thank all of my group members who helped me at every step of my graduate research, with special thanks to Ahmed Al-Zubidy (graduate student), Amanda Lee (graduate student), Amiangshu Bosu (graduate student) for their help in providing feedback for my research. I also would like to thank to all my research project members including Gursimran Walia, Gary Bradshaw, and Vaibhav Anu for experiment design, data analysis, and paper writing. Thanks to all the staff from the Computer Science department and CAPS, Kathy DeGraw, Kathleen Morris, Wendy Bryant, Valerie Trull. I am grateful for the financial support from National Science Foundation Awards 1423279 and 1421006. Finally, I would like to thank my family and friends with all encouragements and support. iii CONTENTS ABSTRACT .................................................................................................................................... ii ACKNOWLEDGMENTS ............................................................................................................. iii LIST OF TABLES ......................................................................................................................... vi LIST OF FIGURES ..................................................................................................................... viii CHAPTER 1 INTRODUCTION .................................................................................................... 1 1.1. Background and related work .................................................................................................. 2 1.2. The Goal of This Research ....................................................................................................... 6 1.3. Plan of action ........................................................................................................................... 7 1.4. Contributions............................................................................................................................ 9 CHAPTER 2 DEVELOPMENT OF HUMAN ERROR TAXONOMY FOR SOFTWARE REQUIREMENTS: A SYSTEMATIC LITERATURE REVIEW .............................................. 12 2.1. Introduction ............................................................................................................................ 12 2.2. Background ............................................................................................................................ 15 2.3. Research method .................................................................................................................... 21 2.4. Reporting the review .............................................................................................................. 28 2.5. Discussion .............................................................................................................................. 33 2.6. Conclusion and future work ................................................................................................... 45 2.7. Acknowledgements ................................................................................................................ 46 References ..................................................................................................................................... 45 CHAPTER 3 EVALUATING THE USEFULNESS OF HUMAN ERROR TAXONOMY THROUGH TWO QUASI-CONTROL STUDIES ...................................................................... 48 iv 3.1. Introduction ............................................................................................................................ 48 3.2. Research method .................................................................................................................... 50 3.3. Experiment design of feasibility study .................................................................................. 54 3.4. Analysis and result ................................................................................................................. 59 3.5. Summary and discussion of the results .................................................................................. 69 3.6. Validation of Results with Industrial Data............................................................................. 74 3.7. Comparison of classroom study and industrial results .......................................................... 82 3.8. Threats to Validity ................................................................................................................. 83 3.9. Conclusion and future work ................................................................................................... 84 References ..................................................................................................................................... 85 CHAPTER 4 EVALUATING USE OF HUMAN ERROR INFORMATION FOR ERROR PREVENTION ............................................................................................................................. 87 4.1. Introduction ............................................................................................................................ 87 4.2. Background ............................................................................................................................ 89 4.3. Experiment design of control group study ............................................................................. 93 4.4. Results and analysis ............................................................................................................... 98 4.5. Validation of Results with Industrial Data........................................................................... 103 4.6. Threats to validity ................................................................................................................ 113 4.7. Conclusion and future work ................................................................................................. 114 References ................................................................................................................................... 115 CHAPTER 5 DISSERTATION CONCLUSION ....................................................................... 118 APPENDIX A ............................................................................................................................. 121 APPENDIX B ............................................................................................................................. 122 APPENDIX C ............................................................................................................................. 124 APPENDIX D IRB CERTIICATE ............................................................................................