持续学习漏洞位置

《ACM Transactions on Software Engineering and Methodology》:Continuously Learning Bug Locations

【字体: 时间:2025年11月08日 来源:ACM Transactions on Software Engineering and Methodology

编辑推荐:

  软件工程缺陷定位中持续学习技术的应用研究。通过对比BERT模型、A2C算法和传统深度学习方法,在七大数据集验证持续学习技术有效缓解概念漂移问题,MRR提升61%,计算效率提高5倍且减少灾难性遗忘。

  

摘要

在软件开发过程中,自动定位与漏洞报告相关的有问题的变更集至关重要。基于深度学习(DL)的技术通过利用代码中的结构信息并学习变更集与漏洞报告之间的关联,展现出了良好的效果。然而,由于与变更集相关的源代码会不断演变,这些模型的性能会随着时间的推移而下降,这是由于概念漂移(concept drift)所致。为了解决这一挑战,本文评估了在多个子任务环境中使用持续学习(Continual Learning, CL)技术的潜力(这些子任务分别处理静态或非静态数据),并将其与一种基于BERT模型的漏洞定位技术、一种基于A2C算法的深度强化学习技术以及一种用于语义漏洞定位的基于DL的函数级交互模型进行了比较。此外,我们还通过使用逻辑回归来识别和整合最重要的导致漏洞的因素,从而增强了CL技术的效果。我们在七个广泛使用的软件项目中的实证评估表明,在非静态环境下,CL技术在平均互惠排名(Mean Reciprocal Rank, MRR)方面比基于DL的技术表现更好,提升了高达61%;在平均精度(Mean Average Precision, MAP)方面提升了44%;在top@1指标上提升了83%,在top@5指标上提升了56%,在top@10指标上提升了66%。进一步的研究表明,我们研究的CL技术在定位与漏洞报告相关的变更集方面非常有效,同时能够减轻灾难性遗忘现象,并且在训练过程中所需的计算资源最多减少了5倍。我们的发现展示了在非静态环境中采用CL技术进行漏洞定位的潜力,我们希望这有助于利用CL技术改进软件工程中的漏洞定位工作。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号