缺陷追踪是软件项目管理的一个重要环节,是保证现代大规模开源软件开发顺利进行并持续提高软件质量的必要手段.目前,大部分开源软件都使用开放的缺陷跟踪系统进行软件缺陷的管理.它允许用户向开发者提交系统故障(即defect类型缺陷)以及...缺陷追踪是软件项目管理的一个重要环节,是保证现代大规模开源软件开发顺利进行并持续提高软件质量的必要手段.目前,大部分开源软件都使用开放的缺陷跟踪系统进行软件缺陷的管理.它允许用户向开发者提交系统故障(即defect类型缺陷)以及系统改进建议(即enhancement类型缺陷),但是这些用户的反馈所起的作用尚未得到充分研究.针对这一问题,对Firefox的缺陷跟踪系统进行实证研究,收集了2018年和2019年提交的19474份Firefox Desktop以及3057份Firefox for Android缺陷报告.在此基础上,对比分析了普通用户和核心开发者提交的缺陷在数量、严重性、组件分布、修复率、修复速度以及修复者上的差别,并调查了缺陷报告的撰写质量与缺陷处理结果和修复时间的关系.主要发现包括:(1)当前缺陷追踪系统中普通用户人数众多,但参与程度较浅,86%的用户只提交过一个缺陷,其中,高严重等级的缺陷不超过3%;(2)普通用户提交的缺陷主要分布在和用户交互相关的UI组件上(例如地址栏、音频/视频等),然而还有43%的缺陷由于缺乏充分描述信息而难以准确地定位到具体的关联组件;(3)在缺陷处理结果上,由于查重系统以及缺陷填报系统在设计上过于简单,致使普通用户提交的大量缺陷被处理为“无用”缺陷,缺陷修复率低于10%;(4)在缺陷修复流程上,由于普通用户难以准确、充分地描述缺陷,导致系统对其重视程度不足,普通用户提交缺陷的处理流程也比核心开发者提交的复杂,平均需要多花至少8天的时间进行修复.上述研究结果揭示了当前缺陷追踪系统在用户参与激励机制、缺陷自动查重以及缺陷报告填写智能辅助等方面的不足,能够为缺陷跟踪系统开发者和管理者改进系统、提高普通用户对开源软件的贡献提供参考.展开更多
文摘缺陷追踪是软件项目管理的一个重要环节,是保证现代大规模开源软件开发顺利进行并持续提高软件质量的必要手段.目前,大部分开源软件都使用开放的缺陷跟踪系统进行软件缺陷的管理.它允许用户向开发者提交系统故障(即defect类型缺陷)以及系统改进建议(即enhancement类型缺陷),但是这些用户的反馈所起的作用尚未得到充分研究.针对这一问题,对Firefox的缺陷跟踪系统进行实证研究,收集了2018年和2019年提交的19474份Firefox Desktop以及3057份Firefox for Android缺陷报告.在此基础上,对比分析了普通用户和核心开发者提交的缺陷在数量、严重性、组件分布、修复率、修复速度以及修复者上的差别,并调查了缺陷报告的撰写质量与缺陷处理结果和修复时间的关系.主要发现包括:(1)当前缺陷追踪系统中普通用户人数众多,但参与程度较浅,86%的用户只提交过一个缺陷,其中,高严重等级的缺陷不超过3%;(2)普通用户提交的缺陷主要分布在和用户交互相关的UI组件上(例如地址栏、音频/视频等),然而还有43%的缺陷由于缺乏充分描述信息而难以准确地定位到具体的关联组件;(3)在缺陷处理结果上,由于查重系统以及缺陷填报系统在设计上过于简单,致使普通用户提交的大量缺陷被处理为“无用”缺陷,缺陷修复率低于10%;(4)在缺陷修复流程上,由于普通用户难以准确、充分地描述缺陷,导致系统对其重视程度不足,普通用户提交缺陷的处理流程也比核心开发者提交的复杂,平均需要多花至少8天的时间进行修复.上述研究结果揭示了当前缺陷追踪系统在用户参与激励机制、缺陷自动查重以及缺陷报告填写智能辅助等方面的不足,能够为缺陷跟踪系统开发者和管理者改进系统、提高普通用户对开源软件的贡献提供参考.