Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects
Fault-insertion and fault-fixing behavioural patterns in Apache Software Foundation Projects
复制标题
DOI:
10.1016/j.infsof.2023.107187
复制
发表时间:
2023-02
期刊:
影响因子:
--
通讯作者:
Marco Ortu;Giuseppe Destefanis;T. Hall;David Bowes
中科院分区:
文献类型:
--
作者:
Marco Ortu;Giuseppe Destefanis;T. Hall;David Bowes
BackgroundDevelopers 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.AimTo 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.MethodsWe 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.ResultsWe 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.ConclusionsWe recommend that projects identify the code topic expertise of developers and use expertise information to inform the assignment of project work.