System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种开源社区PR过程中的异常行为检测方法技术_技高网
当前位置: 首页 > 专利查询>南京大学专利>正文

一种开源社区PR过程中的异常行为检测方法技术

技术编号:40747521 阅读:4 留言:0更新日期:2024-03-25 20:04
本发明专利技术提出了一种开源社区PR过程中的异常行为检测方法,包括:获取PR过程的原始事件日志;对原始事件日志进行数据清洗、活动类型划分和关键活动抽取,得到标准事件日志;基于过程挖掘技术识别标准事件日志中的控制流异常;基于语义异常识别规则识别标准事件日志中的语义异常。本发明专利技术提出的方法能够帮助项目管理者全面地了解PR过程中的异常行为,为管理者改进内部的PR协作过程提供支持,从而促进开源项目健康稳定地发展。

【技术实现步骤摘要】

本专利技术属于过程挖掘和异常检测领域,具体为一种开源社区pr过程中的异常行为检测方法。


技术介绍

1、在开源社区中,拉取请求(pull request,pr)是一种典型的软件开发过程,它可以促进团队成员之间的合作和交流,提高代码库的质量和可维护性,同时也可以提高软件开发的效率和透明度。通过pr,团队成员可以检查和讨论代码更改,确保更改符合代码质量标准,并在代码合并到主分支之前对更改进行审查和测试,从而最大程度地减少错误和漏洞。然而,持续增长的pr数量对pr协作过程的规范性提出了挑战。面对每天持续增长的pr合入请求,项目成员审查的压力剧增,因此可能会做出一些不规范的行为,比如评审者长时间未响应贡献者发起的评审请求、维护者跳过评审环节直接合入pr等。这些不规范的行为一方面可能会降低开发者持续为开源项目贡献的热情,另一方面也可能造成恶意代码被合入到仓库。

2、由于开源社区的开放性,pr过程呈现出高度的复杂性,导致开发者的异常行为很难被发现。为了检测pr过程中的异常行为,现有研究大多采用问卷调查、访谈等耗时耗力的非自动化形式,具有较高的实施成本。其次,虽然有相关研究利用深度学习技术来检测异常的业务执行流程,但是深度学习是一个黑盒模型,对异常的可解释性较差。具体来说,深度学习模型虽然能够提供异常的检测结果,但由于缺乏透明性,深度学习模型无法提供异常的具体位置。相较于深度学习,使用过程挖掘技术能够全面地分析异常的根源,并提供更好的可解释性。然而,现有研究在使用过程挖掘技术检测业务流程中的异常行为时存在两点不足。一方面使用过程挖掘技术需要一份正常案例集用来构建参考模型,现有研究在构建参考模型时均没有讨论如何获取正常案例集,而是假设事先存在一份正常案例集。然而,在绝大多数业务场景中正常案例集的获取较为困难,因此过程挖掘技术在实际实施过程中具有较大的局限性。另一方面,现有研究大多忽略了业务流程的语义信息,无法检测违反业务流程安全约束的异常行为,会导致漏报问题。


技术实现思路

1、为克服现有技术中的不足,本专利技术提供一种开源社区pr过程中的异常行为检测方法,从控制流和语义两个视角对pr过程进行挖掘,检测pr过程中开发者的异常行为,为开源项目团队改进内部的pr协作过程提供帮助。

2、本专利技术的技术方案是提供一种开源社区pr过程中的异常行为检测方法,所述方法包括以下步骤:

3、s1:获取pr过程的原始事件日志;

4、s2:对原始事件日志进行数据清洗、活动类型划分和关键活动抽取,得到标准事件日志;

5、s3:基于过程挖掘技术识别标准事件日志中的控制流异常;

6、s4:基于语义异常识别规则识别标准事件日志中的语义异常。

7、优选的,所述s1或s2中的事件日志是一组案例集合,每个案例是一次业务流程的执行过程,所述案例包含一组事件,每个事件包含多个属性,即事件id、活动、时间戳、执行者。

8、优选的,所述s2包含如下步骤:

9、剔除原始事件日志中所有不完整的案例,所述不完整的案例是未执行结束的业务流程;

10、根据原始事件日志中活动的执行状态或活动的执行阶段,将活动划分为不同类型,评审活动有三种状态,即commented、changes_requested和approved,根据这三种状态将评审活动划分为三种不同类型的活动,即reviewcomment、reviewrejected和reviewapproved,reviewcomment是状态为commented的代码评审活动,reviewrejected是状态为changes_requested的代码评审活动,reviewapproved是状态为approved的代码评审活动;代码提交活动会在两个阶段中被执行,即pr创建前和pr创建后,根据这两种不同的执行阶段将代码提交活动划分为两种类型的活动,即submitcommit和revise,submitcommit是在pr创建前执行的代码提交活动,revise是在pr创建后执行的代码提交活动;

11、根据关键活动集合,从原始事件日志中抽取所有的关键活动,关键活动是那些会对项目代码质量、代码评审和pr决策产生影响的活动,包括代码提交活动、创建pr活动、评审请求活动、移除评审请求活动、代码评审活动、pr决策活动、删除分支活动和引用活动。

12、优选的,所述s3包含如下步骤:

13、使用基于最小整体覆盖率的日志划分算法,将标准事件日志划分为准正常案例集和候选异常案例集;

14、在准正常案例集上挖掘业务流程的参考模型,所述参考模型是符合业务流程规范的过程模型,过程模型包含业务事件之间的逻辑结构信息,即顺序结构、并行结构、选择结构或循环结构;

15、在候选异常案例集上应用一致性检验算法,计算每个候选异常案例与参考模型之间的拟合度,拟合度低于阈值的案例视作控制流异常,所述拟合度量化了案例中实际执行的业务流程与参考模型中规范的业务执行流程之间的拟合程度,所述阈值为准正常案例集中的最小拟合度。

16、优选的,所述基于最小整体覆盖率的日志划分算法包括如下步骤:

17、计算事件日志中所有的过程变体及其出现的频率,将事件日志中的过程变体集合记作vorigin,过程变体代表了一种轨迹类型,轨迹是案例中的所有活动按照执行时间顺序排序后的活动序列,过程变体出现的频率是事件日志中具有相同轨迹的案例数量;

18、每次从vorigin选择出现频率最高的过程变体v添加到集合vhigh中,同时将过程变体v从vorigin中移除,然后更新vhigh对事件日志的整体覆盖率cover_rate,这一步循环执行,直到cover_rate超过阈值,cover_rate是vhigh中所有过程变体包含的案例数量与事件日志中的案例总数的比值;

19、从事件日志中筛选vhigh中所有过程变体对应的案例集,构成准正常案例集,vorigin中剩余过程变体对应的案例集则构成候选异常案例集。

20、优选的,所述一致性算法用来计算案例与参考模型之间的拟合度,本专利技术使用对齐算法执行一致性检验,当案例中实际的业务执行流程不符合参考模型中理想的业务执行流程时,案例需要经过移动才能匹配参考模型中理想的业务执行流程,这个过程称为对齐,基于对齐算法的拟合度计算公式如下:

21、

22、上式中的t表示案例,l表示事件日志,m表示过程模型,表示案例与参考模型的最佳对齐,表示案例与参考模型的最差对齐,δ表示成本函数记作,所述最佳对齐是案例完全匹配参考模型所需的最小移动成本,所述最差对齐是案例完全匹配参考模型所需的最大移动成本,所述成本函数用来定义每次移动所需的成本。

23、优选的,所述s4包含如下步骤:

24、将pr过程中的安全约束与特定的活动变迁建立映射关系,得到一组语义异常识别规则,每条规则对应一种异常活动变迁,用来识别一种特定类型的语义异常,所本文档来自技高网...

【技术保护点】

1.一种开源社区PR过程中的异常行为检测方法,其特征在于,所述方法包括:

2.如权利要求1所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述S1或S2中的事件日志是一组案例集合,每个案例是一次业务流程的执行过程,所述案例包含一组事件,每个事件包含多个属性,即事件id、活动、时间戳、执行者。

3.如权利要求1所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述S2包含如下步骤:

4.如权利要求1所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述S3包含如下步骤:

5.如权利要求4所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述基于最小整体覆盖率的日志划分算法包括如下步骤:

6.如权利要求4所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述一致性算法用来计算案例与参考模型之间的拟合度,使用对齐算法执行一致性检验,当案例中实际的业务执行流程不符合参考模型中理想的业务执行流程时,案例需要经过移动才能匹配参考模型中理想的业务执行流程,这个过程称为对齐,基于对齐算法的拟合度计算公式如下:

7.如权利要求1所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述S4包含如下步骤:

8.如权利要求7所述的开源社区PR过程中的异常行为检测方法,其特征在于,所述PR过程中的安全约束是开源社区PR协作过程中的规范准则,违反安全约束的PR过程会对项目造成风险。

...

【技术特征摘要】

1.一种开源社区pr过程中的异常行为检测方法,其特征在于,所述方法包括:

2.如权利要求1所述的开源社区pr过程中的异常行为检测方法,其特征在于,所述s1或s2中的事件日志是一组案例集合,每个案例是一次业务流程的执行过程,所述案例包含一组事件,每个事件包含多个属性,即事件id、活动、时间戳、执行者。

3.如权利要求1所述的开源社区pr过程中的异常行为检测方法,其特征在于,所述s2包含如下步骤:

4.如权利要求1所述的开源社区pr过程中的异常行为检测方法,其特征在于,所述s3包含如下步骤:

5.如权利要求4所述的开源社区pr过程中的异常行为检测方法,其特征在于,所述基于最小整体覆盖率的日志划分...

【专利技术属性】
技术研发人员:张贺马维刚刘博涵周鑫荣国平邵栋
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1