博客
关于我
(原创)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-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>
mysql5.6.21重置数据库的root密码
查看>>
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
MySQL5.6的Linux安装shell脚本之二进制安装(一)
查看>>