近日,我院软件与安全团队博士生曹思聪,硕士生纪王杰、高兴安在孙小兵教授与薄莉莉副教授等老师的指导下,在软件工程领域顶级会议 ASE 2024(International Conference on Automated Software Engineering)发表了多篇研究工作。
研究工作一:Snopy: Bridging Sample Denoising with Causal Graph Learning for Effective Vulnerability Detection
基于深度学习的软件漏洞智能化检测方法从海量的历史漏洞数据中自动学习漏洞模式,将人类专家从繁琐主观的特征工程中解放出来,为突破传统方法的性能瓶颈带来了新的契机。尽管取得了一定进展,现有方法大多从漏洞函数或切片中学习漏洞特征,前者包含大量漏洞无关语句导致模型极易受到噪声信息的影响,而后者依赖于专家经验设计切片标准且存在样本标记不准确的问题。此外,一些最新工作指出,现有深度代码模型在学习真实漏洞模式方面仍存在不足。为了解决上述问题,创新性地提出了一种结合样本去噪和因果感知图注意力网络的漏洞检测方法Snopy。Snopy采用一种基于代码变更的去噪策略,在不牺牲函数级样本标签准确性的同时,自动剔除漏洞函数中无关的代码语句。此外,Snopy构建了一个因果感知图注意力网络CA-GAT来近似地解耦样本中的漏洞相关特征和无关特征,并且通过最大化漏洞相关特征与预测标签的因果效应来引导模型学习真正导致漏洞产生的因果模式。
研究工作二:ChatBR: Automated assessment and improvement of bug report quality using ChatGPT
Bug报告通常包含观察行为、预期行为和重现步骤等可以帮助开发人员有效地重现和修复bug的关键信息。然而,开发人员收到的bug报告却经常缺失这些关键信息。虽然已经提出了一些方法来自动的评估和改进bug报告质量,但这些方法的性能在很大程度上取决于数据集的大小和质量,改进后的bug报告仍然存在语义不连贯,阅读困难等问题。为此,提出了一个包含检测器和生成器的两阶段自动评估和改进bug报告质量的方法框架。检测器旨在评估报告者提交的bug报告中是否缺失关键信息以评估bug报告质量,并将低质量的bug报告输入到生成器。生成器旨在利用 ChatGPT 生成bug报告中缺失的关键信息以改进报告质量。
研究工作三:1+1>2: Integrating Deep Code Behaviors with Metadata Features for Malicious PyPI Package Detection
开源软件供应链(OSS)作为现代软件开发的重要一环,其安全已被越来越多的从业者所关注。而Python作为最流行的编程语言,维护其开源社区PyPI的安全是重中之重。现有基于静态分析的检测工具大多依赖人工定义的恶意特征集进行特征抽取,而这种人工定义的特征集总存在一定的滞后性。基于动态分析的检测工具部署成本高昂,需要分析人员具备一定的专业知识,门槛较高,且易被攻击者逃避。为此,提出一种新颖的基于深度代码行为特征与元数据特征的集成检测工具,通过静态分析工具自动化捕获恶意软件包中的可疑代码行为序列及元数据中的可疑信息,并应用集成分类模型加以分析,在不依赖预定义专家知识的基础上实现对恶意PyPI软件包的检测。
ASE是软件工程领域的公认的顶级会议之一,也是中国计算机学会推荐的A类会议。