LOGO LOGO
实验室4篇论文被软件工程领域顶会ICSE 2023录用
时间:2022-12-15 16:36:04

近日,2023年国际软件工程会议(International Conference on Software Engineering,ICSE 2023)录用结果揭晓,实验室硕士生吴与伦(导师文明副教授)、贾浩翔(导师文明副教授)、孙茂林(导师文明副教授)、陆弈帆(导师邹德清教授)的4篇论文均被录用。

吴与伦的论文题目为“Understanding the Threats of Upstream Vulnerabilities to Downstream Projects in the Maven Ecosystem”。开源组件随着逐渐成熟的生态体系被广泛使用,在不同语言生态系统(PHP, Java, JavaScript, Python, .NET, Ruby)中,平均有84.7%的仓库使用到了至少一个开源组件,故其中包含的漏洞所带来的影响面也随之更广。吴与伦在论文中选择Java生态系统(通过Maven进行包管理)中的开源漏洞,首次开展了一个大规模函数级别的实证研究。首先收集了目前为止最大的跨项目开源漏洞库,包括837个CVE以及对应的1,141个补丁,615个上游软件和对应的29,960个下游软件。其次分析了生态系统中漏洞对下游软件所造成的安全威胁,包括漏洞代码的可达性,可达路径的复杂度以及下游软件开发者所采取的应对措施。实验结果发现大多数漏洞函数(86%)实际上对于下游开发者而言是不可达的,即使可达部分也存在难易程度(ICFG路径,路径约束,下游调用点上下文)的区别。而下游开发者对于自身软件中所用到的开源中的漏洞采取的行为往往基于简单包层级的漏洞告警,导致了很多不必要的升级(可能带来兼容性等问题)。对于细粒度检测开源漏洞以及优化现有检测方案,降低假阳性比率具有很强的指导性意义。

贾浩翔的论文题目为“Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces”。Java虚拟机(Java Virtual Machine, JVM)是支持Java字节码解释和执行的基础软件系统,广泛应用于安卓手机和服务器等设备。为了提高JVM的运行效率,开发者引入了JIT (Just-In-Time)编译器,旨在通过在运行时执行复杂的优化来提高Java应用程序的性能。然而,JIT编译器不可避免地包含各种执行和优化错误,这些错误在过去几十年里变得越来越多。贾浩翔在论文中第一次提出通过分析JVM的优化信息来构建代码结构和JIT优化选项之间的联系。针对这两种输入维度,设计变异和搜索算法,针对性地测试JIT优化选项的代码空间。这种方法相较于目前最先进的工具,行覆盖率提高了6.5%,方法覆盖率提高了5.2%。该方法已经在OpenJDK中检测到41个缺陷,其中25个已经被相应的开发人员确认或修复。

孙茂林的论文题目为“Validating SMT Solvers via Skeleton Enumeration Empowered by Historical Bug-Triggering Inputs”。SMT求解器可以检查一阶逻辑公式的可满足性,现已被用于许多关键应用中,如软件验证、测试用例生成和程序合成。隐藏在求解器中的缺陷会对其下游应用软件产生误导,并进一步造成严重后果,因此保障求解器的质量是至关重要的。尽管已有不少研究者提出了针对SMT求解器的测试技术,但是关于如何有效检测求解器中的缺陷仍是一个挑战。为了应对这样的挑战,孙茂林在论文中首先对求解器的历史缺陷及其触发公式进行了实证研究,通过观察发现触发缺陷的公式中包含着重要的骨架(即公式的核心结构)以及相互关联的原子公式,它们对公式触发缺陷的能力有很大影响。据此,论文提出从曾触发过缺陷的公式中挖掘骨架和原子公式的关联规则,以关联规则为指导将骨架实例化为测试输入,利用这种方法在最先进的SMT求解器Z3和CVC5上发现了111个已被确认的新缺陷,其中108个已被开发者修复,大大改善了SMT求解器的可靠性和正确性。

陆弈帆论文题目为“Enhancing Deep Learning-based Vulnerability Detection by Building Behavior Graph Model”。近年来安全漏洞事件频发,对网络安全造成巨大威胁,对自动化漏洞检测系统的需求也更为迫切。基于深度学习的漏洞检测系统因其能够自动提取代码特征的特性而受到重视,但目前已有的基于深度学习的漏洞检测方案往往只考虑了单个函数含有的特征,但是忽略了函数之间的联系。实验表明函数之间存在的联系能够帮助识别漏洞,陆弈帆在论文中提出了可以利用这种联系来辅助进行漏洞检测。为了准确地提取和表达这种联系关系,提出了行为图的概念并实现了一个使用行为图提升漏洞检测系统性能的框架VulBG。VulBG针对API调用与内存访问这两类易与漏洞相关的操作进行切片,并将切片视为函数拥有的行为,通过代码嵌入与聚类提取中心行为,再根据函数拥有的中心构造行为图,最终通过模型融合将行为特征用于漏洞检测。在平衡与非平衡数据集上的实验结果表明,VulBG能够有效提升基于文本、基于AST树、基于预训练模型与基于图的深度学习漏洞检测系统的性能。

ICSE是软件工程领域的顶级国际会议,是中国计算机学会(CCF)推荐的A类会议。本届会议共收到796篇投稿,共录用209篇论文,录用率约为26%。


(通讯员:吴与伦、贾浩翔、孙茂林、陆弈帆)