博客
关于我
(原创)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/

你可能感兴趣的文章
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>