Home > Research > Publications & Outputs > How Software Developers Mitigate their Errors w...

Electronic data

  • TSE_Final Version Nigaria and Hall

    Rights statement: ©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.

    Accepted author manuscript, 392 KB, PDF document

    Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License

Links

Text available via DOI:

View graph of relations

How Software Developers Mitigate their Errors when Developing Code

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

How Software Developers Mitigate their Errors when Developing Code. / Hall, Tracy.
In: IEEE Transactions on Software Engineering, Vol. 48, No. 6, 6, 30.06.2022, p. 1853-1867.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Hall, T 2022, 'How Software Developers Mitigate their Errors when Developing Code', IEEE Transactions on Software Engineering, vol. 48, no. 6, 6, pp. 1853-1867. https://doi.org/10.1109/TSE.2020.3040554

APA

Hall, T. (2022). How Software Developers Mitigate their Errors when Developing Code. IEEE Transactions on Software Engineering, 48(6), 1853-1867. Article 6. https://doi.org/10.1109/TSE.2020.3040554

Vancouver

Hall T. How Software Developers Mitigate their Errors when Developing Code. IEEE Transactions on Software Engineering. 2022 Jun 30;48(6):1853-1867. 6. Epub 2020 Nov 25. doi: 10.1109/TSE.2020.3040554

Author

Hall, Tracy. / How Software Developers Mitigate their Errors when Developing Code. In: IEEE Transactions on Software Engineering. 2022 ; Vol. 48, No. 6. pp. 1853-1867.

Bibtex

@article{95577b89f6cc4c2cb6e98f962e261647,
title = "How Software Developers Mitigate their Errors when Developing Code",
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.",
keywords = "Human error, human factors, software development",
author = "Tracy Hall",
note = "{\textcopyright}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. ",
year = "2022",
month = jun,
day = "30",
doi = "10.1109/TSE.2020.3040554",
language = "English",
volume = "48",
pages = "1853--1867",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "6",

}

RIS

TY - JOUR

T1 - How Software Developers Mitigate their Errors when Developing Code

AU - Hall, Tracy

N1 - ©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.

PY - 2022/6/30

Y1 - 2022/6/30

N2 - 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.

AB - 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.

KW - Human error

KW - human factors

KW - software development

U2 - 10.1109/TSE.2020.3040554

DO - 10.1109/TSE.2020.3040554

M3 - Journal article

VL - 48

SP - 1853

EP - 1867

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

IS - 6

M1 - 6

ER -