How Software Developers Mitigate their Errors when Developing Code

Hall, Tracy (2022) How Software Developers Mitigate their Errors when Developing Code. IEEE Transactions on Software Engineering, 48 (6): 6. pp. 1853-1867. ISSN 0098-5589

[thumbnail of TSE_Final Version Nigaria and Hall]
Text (TSE_Final Version Nigaria and Hall)
TSE_Final_Version_Nigaria_and_Hall.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.

Download (401kB)

Abstract

Code remains largely hand-made by humans and, as such, writing code is prone to error. Many previous studies have focused on the technical reasons for these errors and provided developers with increasingly sophisticated tools. Few studies have looked in detail at why code errors have been made from a human perspective. We use Human Error Theory to frame our exploratory study and use semi-structured interviews to uncover a preliminary understanding of the errors developers make while coding. We look particularly at the skill-based errors reported by 27 professional software developers. We found that the complexity of the development environment is one of the most frequently reported reasons for errors. Maintaining concentration and focus on a particular task also underpins many developer errors. We 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. We discuss how using Reason's Swiss Cheese model may help reduce errors during software development. This model ensures that layers of tool, process and management mitigation are in place to prevent developer errors from causing system failures.

Item Type:
Journal Article
Journal or Publication Title:
IEEE Transactions on Software Engineering
Additional Information:
©2020 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
Uncontrolled Keywords:
/dk/atira/pure/subjectarea/asjc/1700/1712
Subjects:
?? human errorhuman factorssoftware developmentsoftware ??
ID Code:
149277
Deposited By:
Deposited On:
23 Nov 2020 13:40
Refereed?:
Yes
Published?:
Published
Last Modified:
11 Jan 2024 00:23