缺陷优先级变更:一项针对 Apache 项目的实证研究
软件工程
2024-03-11 v1
摘要
在问题跟踪系统中,每个缺陷都被分配一个优先级级别(例如 JIRA 中从高到低的 Blocker、Critical、Major、Minor 或 Trivial),这表明了缺陷的紧急程度。从这个意义上说,理解缺陷优先级的变化有助于合理安排参与者的工作计划,并促进更好的缺陷分析和解决。根据从 Apache 部署的 JIRA 中提取的数据,每个项目中有一定比例的缺陷在报告后经历了优先级变更,这给缺陷修复过程带来了不确定性。然而,目前缺乏对缺陷优先级变更现象的深入调查,这可能会对缺陷修复过程产生负面影响。因此,我们通过分析 32 个非平凡的 Apache 开源软件项目,对具有优先级变更的缺陷进行了定量实证研究。结果表明:(1) 所选项目中 8.3% 的缺陷经历了优先级变更;(2) 对于大多数(32 个中的 28 个)项目,优先级变更的时间间隔中位数仅为几天,且一半(50.7%)的缺陷优先级变更发生在缺陷被处理之前;(3) 对于所有所选项目,87.9% 经历优先级变更的缺陷仅发生了一次优先级变更,大多数优先级变更倾向于将优先级_shift_到相邻优先级,且较高的优先级更有可能发生优先级变更;(4) 需要更高复杂度的缺陷修复变更或拥有更多评论的缺陷更有可能经历优先级变更;(5) 由少数特定参与者报告或分配的缺陷优先级更有可能被修改,且每个项目中最多只有一名参与者倾向于修改优先级。
引用
@article{arxiv.2403.05059,
title = {Bug Priority Change: An Empirical Study on Apache Projects},
author = {Zengyang Li and Guangzong Cai and Qinyi Yu and Peng Liang and Ran Mo and Hui Liu},
journal= {arXiv preprint arXiv:2403.05059},
year = {2024}
}
备注
Preprint accepted for publication in Journal of Systems and Software, 2024