Defect Prevention in Requirements Using Human Error Information: An Empirical Study

  • Wenhua Hu
  • Jeffrey C. Carver
  • Vaibhav Anu
  • Gursimran Walia
  • Gary Bradshaw
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10153)

Abstract

Context and Motivation: The correctness of software requirements is of critical importance to the success of a software project. Problems that occur during requirements collection and specification, if not fixed early, are costly to fix later. Therefore, it is important to develop approaches that help requirement engineers not only detect, but also prevent requirements problems. Because requirements engineering is a human-centric activity, we can build upon developments from the field of human cognition. Question/Problem: Human Errors are the failings of human cognition during the process of solving, planning, or executing a task. We have employed research about Human Errors to describe the types of problems that occur during requirements engineering. The goal of this paper is to determine whether knowledge of Human Errors can serve as a fault prevention mechanism during requirements engineering. Principal ideas/results: The results of our study show that a better understanding of human errors does lead developers to insert fewer problems into their own requirements documents. Our results also indicate that different types of Human Error information have different impacts on fault prevention. Contribution: In this paper, we show that the use of Human Error information from Cognitive Psychology is useful for fault prevention during requirements engineering.

Keywords

Human errors Software requirements Fault prevention Empirical study Human factors 

Notes

Acknowledgments

This work was supported by NSF awards 1421006 and 1423279.

References

  1. 1.
    Systems and software engineering – vocabulary. ISO/IEC/IEEE 24765:2010(E), pp. 1–418, December 2010Google Scholar
  2. 2.
    Anu, V., Hu, W., Carver, J.C., Walia, G.S., Bradshaw, G.: Development of a human error taxonomy for software requirements: a systematic literature review. Technical report NDSU-CS-TR-16-001, North Dakota State University (2016). http://vaibhavanu.com/NDSU-CS/TR-16-001.pdf
  3. 3.
    Anu, V.K., Wali, G.S., Hu, W., Carver, J.C., Bradshaw, G.: Effectiveness of human error taxonomy during requirements inspection: an empirical investigation. In: 2016 International Conference on Software Engineering and Knowledge Engineering, pp. 531–536 (2016)Google Scholar
  4. 4.
    Card, D.N.: Learning from our mistakes with defect causal analysis. IEEE Softw. 15(1), 56–63 (1998)CrossRefGoogle Scholar
  5. 5.
    Carver, J., Nagappan, N., Page, A.: The impact of educational background on the effectiveness of requirements inspections: an empirical study. IEEE Trans. Softw. Eng. 34(6), 800–812 (2008)CrossRefGoogle Scholar
  6. 6.
    Chen, J.C., Huang, S.J.: An empirical analysis of the impact of software development problem factors on software maintainability. J. Syst. Softw. 82(6), 981–992 (2009)CrossRefGoogle Scholar
  7. 7.
    Chillarege, R., Bhandari, I.S., Chaar, J.K., Halliday, M.J., Moebus, D.S., Ray, B.K., Wong, M.Y.: Orthogonal defect classification-a concept for in-process measurements. IEEE Trans. Softw. Eng. 18(11), 943–956 (1992)CrossRefGoogle Scholar
  8. 8.
    Dethomas, A.: Technology requirements of integrated, critical digital flight systems. In: Guidance, Navigation and Control Conference, p. 2602 (1987)Google Scholar
  9. 9.
    Diller, T., Helmrich, G., Dunning, S., Cox, S., Buchanan, A., Shappell, S.: The human factors analysis classification system (HFACS) applied to health care. Am. J. Med. Qual. 29(3), 1062860613491623 (2013)Google Scholar
  10. 10.
    Freimut, B., Denger, C., Ketterer, M.: An industrial case study of implementing and validating defect classification for process improvement and quality management. In: 11th IEEE International Software Metrics Symposium, 10 p. IEEE (2005)Google Scholar
  11. 11.
    Grady, R.B.: Software failure analysis for high-return process improvement decisions. Hewlett Packard J. 47, 15–24 (1996)Google Scholar
  12. 12.
    Graham, M.: Software defect prevention using orthogonal defect prevention (2005)Google Scholar
  13. 13.
    Hamill, M., Goseva-Popstojanova, K.: Common trends in software fault and failure data. IEEE Trans. Softw. Eng. 35(4), 484–496 (2009)CrossRefGoogle Scholar
  14. 14.
    Hayes, J.H.: Building a requirement fault taxonomy: experiences from a nasa verification and validation research project. In: 14th International Symposium on Software Reliability Engineering, pp. 49–59. IEEE (2003)Google Scholar
  15. 15.
    Hu, W., Carver, J.C., Anu, V., Walia, G., Bradshaw, G.: Detection of requirement errors and faults via a human error taxonomy: a feasibility study. In: 10th International Symposium on Empirical Software Engineering and Measurement (2016)Google Scholar
  16. 16.
    Kumaresh, S., Baskaran, R.: Experimental design on defect analysis in software process improvement. In: 2012 International Conference on Recent Advances in Computing and Software Systems (RACSS), pp. 293–298. IEEE (2012)Google Scholar
  17. 17.
    Lanubile, F., Shull, F., Basili, V.R.: Experimenting with error abstraction in requirements documents. In: Proceedings of the Fifth International Software Metrics Symposium, Metrics 1998, pp. 114–121. IEEE (1998)Google Scholar
  18. 18.
    Leszak, M., Perry, D.E., Stoll, D.: A case study in root cause defect analysis. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 428–437. ACM (2000)Google Scholar
  19. 19.
    Masuck, C.: Incorporating a fault categorization and analysis process in the software build cycle. J. Comput. Sci. Coll. 20(5), 239–248 (2005)Google Scholar
  20. 20.
    Mays, R.G., Jones, C.L., Holloway, G.J., Studinski, D.P.: Experiences with defect prevention. IBM Syst. J. 29(1), 4–32 (1990)CrossRefGoogle Scholar
  21. 21.
    Pooley, R., Senior, D., Christie, D.: Collecting and analyzing Web-based project metrics. IEEE Softw. 19(1), 52 (2002)CrossRefGoogle Scholar
  22. 22.
    Reason, J.: Human Error. Cambridge University Press, New York (1990)CrossRefGoogle Scholar
  23. 23.
    Terzakis, J.: Reducing requirements defect density by using mentoring to supplement training. Int. Adv. Intell. Sys. 6(1 & 2), 102–111 (2013)Google Scholar
  24. 24.
    Walia, G.S., Carver, J.C.: Using error abstraction and classification to improve requirement quality: conclusions from a family of four empirical studies. Empir. Softw. Eng. 18(4), 625–658 (2013)CrossRefGoogle Scholar
  25. 25.
    Walia, G.S., Carver, J.C.: A systematic literature review to identify and classify software requirement errors. Inf. Softw. Technol. 51(7), 1087–1109 (2009)CrossRefGoogle Scholar
  26. 26.
    Wiegmann, D., Faaborg, T., Boquet, A., Detwiler, C., Holcomb, K., Shappell, S.: Human error and general aviation accidents: a comprehensive, fine-grained analysis using HFACS. Technical report, DTIC Document (2005)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Wenhua Hu
    • 1
  • Jeffrey C. Carver
    • 1
  • Vaibhav Anu
    • 2
  • Gursimran Walia
    • 2
  • Gary Bradshaw
    • 3
  1. 1.University of AlabamaTuscaloosaUSA
  2. 2.North Dakota State UniversityFargoUSA
  3. 3.Mississippi State UniversityStarkvilleUSA

Personalised recommendations