一句话:提出基于开发者行为、心理物理与控制因素的缺陷预测模型,并通过实验证明其可媲美代码模型。
识别源代码中可能引入缺陷的部分有助于合理分配测试资源。现有预测模型多依赖产品与过程度量,即根据开发者“做了什么”来预测组件缺陷,而开发者“如何完成任务”这一过程中心理与行为因素的作用仍缺乏证据。本文开展实证研究,首先提出一种基于开发者行为、心理物理和控制因素的开发者模型,这些因素可在开发任务执行过程中测量;随后组织包含20名软件开发者的对照实验,检验该模型能否预测缺陷引入。结果表明,开发者模型的准确率与仅使用源码特征的最先进代码模型相近,且将两者结合可取得最佳效果,准确率达到84%。
Knowing which parts of the source code will be defective can allow practitioners to better allocate testing resources. For this reason, many approaches have been proposed to achieve this goal. Most state-of-the-art predictive models rely on product and process metrics, i.e., they predict the defectiveness of a component by considering what developers did. However, there is still limited evidence of the benefits that can be achieved in this context by monitoring how developers complete a development task. In this paper, we present an empirical study in which we aim at understanding whether measuring human aspects on developers while they write code can help predict the introduction of defects. First, we introduce a new developer-based model which relies on behavioral, psychophysical, and control factors that can be measured during the execution of development tasks. Then, we run a controlled experiment involving 20 software developers to understand if our developer-based model is able to predict the introduction of bugs. Our results show that a developer-based model is able to achieve a similar accuracy compared to a state-of-the-art code-based model, i.e., a model that uses only features measured from the source code. We also observed that by combining the models it is possible to obtain the best results (84% accuracy).
@inproceedings{LaudatoSNLO23,
title = {Predicting Bugs by Monitoring Developers During Task Execution},
author = {Gennaro Laudato and Simone Scalabrino and Nicole Novielli and Filippo Lanubile and Rocco Oliveto},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00100}
}