一种基于图的端到端程序修复方法

    公开(公告)号:CN112463424B

    公开(公告)日:2023-06-02

    申请号:CN202011265976.3

    申请日:2020-11-13

    Applicant: 扬州大学

    Abstract: 本发明公开了一种基于图的端到端程序修复方法,属于软件调试领域,该方法包括:缺陷数据集构建;缺陷程序切片;缺陷代码图嵌入;构建和训练Graph2Seq模型;利用训练好的Graph2Seq模型生成修复补丁并验证补丁的正确性。本发明提出的方法使用图表征代码,可以充分挖掘代码缺陷语句及其上下文之间的语法、语义关联,更好地学习缺陷的特征,从而生成质量更高、可读性更强的修复补丁,达到自动修复程序缺陷的目的,能极大提升自动程序修复的效率。

    一种基于Bert模型的方法层次缺陷定位方法

    公开(公告)号:CN111427775A

    公开(公告)日:2020-07-17

    申请号:CN202010169037.2

    申请日:2020-03-12

    Applicant: 扬州大学

    Abstract: 本发明公开了一种基于Bert模型的方法层次缺陷定位方法,该方法包括:构建并训练Bert模型;获取与待定位缺陷相关的历史已修复缺陷;基于Bert模型构建缺陷定位模型;训练缺陷定位模型;利用训练后的缺陷定位模型预测待定位缺陷对应的缺陷方法。本发明提出的方法采用历史数据和深度学习技术相结合训练缺陷定位模型,同时利用Bert模型分别训练缺陷报告编码器和源代码编码器,并利用其确定缺陷定位模型中源代码编码器的参数,增强了定位模型中源代码编码器的特征提取能力。此外,通过提炼相关的历史已修复缺陷,缩小了缺陷定位的搜索范围,提高了定位的准确度,很好地达到了在方法级别上定位软件缺陷的目的,进而提升软件缺陷修复的效率。

    一种基于Bert模型的方法层次缺陷定位方法

    公开(公告)号:CN111427775B

    公开(公告)日:2023-05-02

    申请号:CN202010169037.2

    申请日:2020-03-12

    Applicant: 扬州大学

    Abstract: 本发明公开了一种基于Bert模型的方法层次缺陷定位方法,该方法包括:构建并训练Bert模型;获取与待定位缺陷相关的历史已修复缺陷;基于Bert模型构建缺陷定位模型;训练缺陷定位模型;利用训练后的缺陷定位模型预测待定位缺陷对应的缺陷方法。本发明提出的方法采用历史数据和深度学习技术相结合训练缺陷定位模型,同时利用Bert模型分别训练缺陷报告编码器和源代码编码器,并利用其确定缺陷定位模型中源代码编码器的参数,增强了定位模型中源代码编码器的特征提取能力。此外,通过提炼相关的历史已修复缺陷,缩小了缺陷定位的搜索范围,提高了定位的准确度,很好地达到了在方法级别上定位软件缺陷的目的,进而提升软件缺陷修复的效率。

    一种基于图的端到端程序修复方法

    公开(公告)号:CN112463424A

    公开(公告)日:2021-03-09

    申请号:CN202011265976.3

    申请日:2020-11-13

    Applicant: 扬州大学

    Abstract: 本发明公开了一种基于图的端到端程序修复方法,属于软件调试领域,该方法包括:缺陷数据集构建;缺陷程序切片;缺陷代码图嵌入;构建和训练Graph2Seq模型;利用训练好的Graph2Seq模型生成修复补丁并验证补丁的正确性。本发明提出的方法使用图表征代码,可以充分挖掘代码缺陷语句及其上下文之间的语法、语义关联,更好地学习缺陷的特征,从而生成质量更高、可读性更强的修复补丁,达到自动修复程序缺陷的目的,能极大提升自动程序修复的效率。

    一种代码方法级别的软件缺陷定位方法

    公开(公告)号:CN111309607A

    公开(公告)日:2020-06-19

    申请号:CN202010087773.3

    申请日:2020-02-12

    Applicant: 扬州大学

    Abstract: 本发明公开了一种代码方法级别的软件缺陷定位方法,属于软件维护领域,该方法包括:构建并训练seq2seq模型;基于seq2seq模型构建缺陷定位模型;构建缺陷定位模型的训练样本;利用训练样本训练缺陷定位模型;利用训练后的缺陷定位模型预测缺陷报告中的缺陷方法。本发明提出的方法采用历史数据和深度学习技术相结合训练一个缺陷定位模型,并利用seq2seq模型确定该缺陷定位模型中代码编码器的参数,将代码方法注释作为监督信息,信息量丰富,很好地达到了在方法级别上定位软件缺陷的目的,能极大提升软件缺陷修复的效率。

    一种面向缺陷补丁代码的软件缺陷原因自动分析方法

    公开(公告)号:CN109376092A

    公开(公告)日:2019-02-22

    申请号:CN201811412560.2

    申请日:2018-11-26

    Applicant: 扬州大学

    Inventor: 李斌 倪珍 孙小兵

    Abstract: 本发明公开了一种面向缺陷补丁代码的软件缺陷原因自动分析方法,包括以下步骤:首先从缺陷库中抽取已修复缺陷的缺陷报告和修复代码文件,获得缺陷数据集;之后根据缺陷产生原因类别对缺陷数据集进行分类标记;再利用代码区分工具从修复代码文件中划分出与修复相关的代码块;接着从代码块中提取代码元素术语、修复模式;之后构建缺陷修复代码的修复树;然后将修复树转化为向量形式;最后通过卷积神经网络模型自动学习获取缺陷的原因分类模型。本发明的方法从多个角度表示缺陷的修复代码,充分利用了修复代码中包含的概念知识,并且将这种表示与缺陷原因分类联系在一起,得到缺陷原因自动分类模型,能够更有效地辅助开发者定位和修复缺陷。

    一种代码方法级别的软件缺陷定位方法

    公开(公告)号:CN111309607B

    公开(公告)日:2023-06-02

    申请号:CN202010087773.3

    申请日:2020-02-12

    Applicant: 扬州大学

    Abstract: 本发明公开了一种代码方法级别的软件缺陷定位方法,属于软件维护领域,该方法包括:构建并训练seq2seq模型;基于seq2seq模型构建缺陷定位模型;构建缺陷定位模型的训练样本;利用训练样本训练缺陷定位模型;利用训练后的缺陷定位模型预测缺陷报告中的缺陷方法。本发明提出的方法采用历史数据和深度学习技术相结合训练一个缺陷定位模型,并利用seq2seq模型确定该缺陷定位模型中代码编码器的参数,将代码方法注释作为监督信息,信息量丰富,很好地达到了在方法级别上定位软件缺陷的目的,能极大提升软件缺陷修复的效率。

    一种面向缺陷补丁代码的软件缺陷原因自动分析方法

    公开(公告)号:CN109376092B

    公开(公告)日:2021-07-13

    申请号:CN201811412560.2

    申请日:2018-11-26

    Applicant: 扬州大学

    Inventor: 李斌 倪珍 孙小兵

    Abstract: 本发明公开了一种面向缺陷补丁代码的软件缺陷原因自动分析方法,包括以下步骤:首先从缺陷库中抽取已修复缺陷的缺陷报告和修复代码文件,获得缺陷数据集;之后根据缺陷产生原因类别对缺陷数据集进行分类标记;再利用代码区分工具从修复代码文件中划分出与修复相关的代码块;接着从代码块中提取代码元素术语、修复模式;之后构建缺陷修复代码的修复树;然后将修复树转化为向量形式;最后通过卷积神经网络模型自动学习获取缺陷的原因分类模型。本发明的方法从多个角度表示缺陷的修复代码,充分利用了修复代码中包含的概念知识,并且将这种表示与缺陷原因分类联系在一起,得到缺陷原因自动分类模型,能够更有效地辅助开发者定位和修复缺陷。

Patent Agency Ranking