Home > Research > Publications & Outputs > Fault-insertion and fault-fixing behavioural pa...

Links

Text available via DOI:

View graph of relations

Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects. / Ortu, M.; Destefanis, G.; Hall, T. et al.
In: Information and Software Technology, Vol. 158, 107187, 30.06.2023.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

APA

Vancouver

Ortu M, Destefanis G, Hall T, Bowes D. Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects. Information and Software Technology. 2023 Jun 30;158:107187. Epub 2023 Feb 28. doi: 10.1016/j.infsof.2023.107187

Author

Ortu, M. ; Destefanis, G. ; Hall, T. et al. / Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects. In: Information and Software Technology. 2023 ; Vol. 158.

Bibtex

@article{434eac4add4b4661b49c2048e452a4fe,
title = "Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects",
abstract = "Background: Developers inevitably make human errors while coding. These errors can lead to faults in code, some of which may result in system failures. It is important to reduce the faults inserted by developers as well as fix any that slip through. Aim: To investigate the fault insertion and fault fixing activities of developers. We identify developers who insert and fix faults, ask whether code topic {\textquoteleft}experts{\textquoteright} insert fewer faults, and experts fix more faults and whether patterns of insertion and fixing change over time. Methods: We perform a time-based analysis of developer activity on twelve Apache projects using Latent Dirichlet Allocation (LDA), Network Analysis and Topic Modelling. We also build three models (using Petri-net, Markov Chain and Hawkes Processes) which describe and simulate developers{\textquoteright} bug-introduction and fixing behaviour. Results: We show that: the majority of the projects we analysed have developers who dominate in the insertion and fixing of faults; Faults are less likely to be inserted by developers with code topic expertise; Different projects have different patterns of fault inserting and fixing over time. Conclusions: We recommend that projects identify the code topic expertise of developers and use expertise information to inform the assignment of project work. ",
keywords = "Faults analysis, LDA, Mining software repositories",
author = "M. Ortu and G. Destefanis and T. Hall and D. Bowes",
year = "2023",
month = jun,
day = "30",
doi = "10.1016/j.infsof.2023.107187",
language = "English",
volume = "158",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

RIS

TY - JOUR

T1 - Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects

AU - Ortu, M.

AU - Destefanis, G.

AU - Hall, T.

AU - Bowes, D.

PY - 2023/6/30

Y1 - 2023/6/30

N2 - Background: Developers inevitably make human errors while coding. These errors can lead to faults in code, some of which may result in system failures. It is important to reduce the faults inserted by developers as well as fix any that slip through. Aim: To investigate the fault insertion and fault fixing activities of developers. We identify developers who insert and fix faults, ask whether code topic ‘experts’ insert fewer faults, and experts fix more faults and whether patterns of insertion and fixing change over time. Methods: We perform a time-based analysis of developer activity on twelve Apache projects using Latent Dirichlet Allocation (LDA), Network Analysis and Topic Modelling. We also build three models (using Petri-net, Markov Chain and Hawkes Processes) which describe and simulate developers’ bug-introduction and fixing behaviour. Results: We show that: the majority of the projects we analysed have developers who dominate in the insertion and fixing of faults; Faults are less likely to be inserted by developers with code topic expertise; Different projects have different patterns of fault inserting and fixing over time. Conclusions: We recommend that projects identify the code topic expertise of developers and use expertise information to inform the assignment of project work.

AB - Background: Developers inevitably make human errors while coding. These errors can lead to faults in code, some of which may result in system failures. It is important to reduce the faults inserted by developers as well as fix any that slip through. Aim: To investigate the fault insertion and fault fixing activities of developers. We identify developers who insert and fix faults, ask whether code topic ‘experts’ insert fewer faults, and experts fix more faults and whether patterns of insertion and fixing change over time. Methods: We perform a time-based analysis of developer activity on twelve Apache projects using Latent Dirichlet Allocation (LDA), Network Analysis and Topic Modelling. We also build three models (using Petri-net, Markov Chain and Hawkes Processes) which describe and simulate developers’ bug-introduction and fixing behaviour. Results: We show that: the majority of the projects we analysed have developers who dominate in the insertion and fixing of faults; Faults are less likely to be inserted by developers with code topic expertise; Different projects have different patterns of fault inserting and fixing over time. Conclusions: We recommend that projects identify the code topic expertise of developers and use expertise information to inform the assignment of project work.

KW - Faults analysis

KW - LDA

KW - Mining software repositories

U2 - 10.1016/j.infsof.2023.107187

DO - 10.1016/j.infsof.2023.107187

M3 - Journal article

VL - 158

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

M1 - 107187

ER -