基于路径语义表示的静态警报自动确认方法
Automated Static Warning Identification via Path-based Semantic Representation作者机构:北京大学计算机学院北京100871 高可信软件技术教育部重点实验室(北京大学)北京100871 北京邮电大学人工智能学院北京100876
出 版 物:《软件学报》 (Journal of Software)
年 卷 期:2024年第35卷第10期
页 面:4662-4680页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家自然科学基金(62072007 62192733 61832009 62192731 62192730)
摘 要:尽管静态分析工具能够在软件开发生命周期的早期阶段帮助开发人员检测软件中的潜在缺陷,但该类工具往往存在警报假阳性率高的问题.为了提高该类工具的可用性,研究人员提出许多警报确认技术来对假阳性警报进行自动分类.然而,已有方法集中于利用手工设计的特征或语句级的抽象语法树标记序列来表示缺陷代码,难以从报告的警报中捕获语义.为了克服传统方法的局限性,利用深度神经网络强大的特征抽取和表示能力从控制流图路径中学习代码语义表征用于警报确认.控制流图是程序的执行过程抽象表示,因此控制流图路径序列能够引导模型更精确地学习与潜在缺陷相关的语义信息.通过微调预训练语言模型对路径序列进行编码并从中捕捉语义特征用于模型构建.最后在8个开源项目上与最先进的基线方法进行大量对比实验验证所提方法的有效性.