博客
关于我
(原创)Bugzilla众包行为模式挖掘
阅读量:798 次
发布时间:2023-04-17

本文共 1040 字,大约阅读时间需要 3 分钟。

The Firefox Temporal Defect Dataset

近年来,加拿大学者在Bugzilla上的Firefox bug反馈讨论组中对1998~2014年的反馈数据进行了深入分析,揭示了开发者之间的交流模式。这些发现与我当前的研究课题有着高度的关联,因此我决定撰写这篇博文,记录我的探索过程。

数据集采用CSV格式,这种格式以其直观性和可读性著称,开发者可以快速理解并利用数据。数据集包含以下几个关键字段:

  • bug_id:缺陷的唯一标识符。
  • 提出时间:该行为的记录时间。
  • 行为类型:描述具体执行的操作。
  • 行为到bug提出时间的间隔:表示行为完成所需的时间(以天为单位)。

每种行为类型由一个字母表示,如N、C、W、Z等。通过对数据的分析,可以发现不同缺陷的解决过程存在显著差异。例如,某些缺陷仅需四个行为完成,而另一些缺陷可能在一天内通过两个行为解决。这表明不同缺陷的复杂性和解决难度存在差异。

作者通过基于时间序列的频繁模式挖掘算法,挖掘出了一些频繁出现的行为模式。例如,N-C模式(先执行N行为,再执行C行为)在16年间共发生了1952次。更复杂的模式如N-C-W-C-Z形式也出现了143次。这些模式不仅具有较高的频度,而且具有严格的时间顺序。

在此基础上,我计划扩展现有的时间序列频繁模式挖掘方法,探索更多模式类型,如C-C、C-C-C等。同时,我还需要引入一种“乱序”模式,以更全面地分析开发者之间的交流方式。具体实现细节尚待完成,但希望能够通过这些扩展,发现更多有趣的模式。

尽管目前尚不清楚这些模式是否具有里程碑式的意义,但从学术研究的角度,这项工作至少可以为频繁模式挖掘算法提供新的实践验证。为了实现这一目标,我需要确保所挖掘出的模式频度较高,这样才能认为这些模式具有一定的实用价值。

接下来,我将着重于算法的实现。通过对现有代码的优化与扩展,我希望能够实现更高效的模式挖掘。特别是在支持度(freq_num)和时间阈值的引入方面,我计划在2.x版本中进行测试与验证。

在代码实现过程中,我发现通过引入剪枝策略可以显著提升算法效率。例如,min_support == 0的分支虽然看似无关紧要,但在实际应用中却能带来明显的性能提升。尽管如此,我也意识到现有的时间阈值概念尚未完善,这一点在实际测试中得到了证实。

最后,我希望通过Pycharm进行快速开发与测试。有了这份代码,我相信能够为时间序列频繁模式挖掘提供新的思路与解决方案。

持续更新中...

转载地址:http://hvgfk.baihongyu.com/

你可能感兴趣的文章
MySQL 备份 Xtrabackup
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>