LOGO LOGO
实验室方一霖、谢子凡的论文分别被软件工程顶会ISSTA 2023录用
时间:2023-04-14 10:40:32

近日,硕士生方一霖(导师袁斌副教授)和博士生谢子凡(导师文明副教授)的论文分别被软件工程顶会 ACM SIGSOFT International Symposium on Software Testing and AnalysisISSTA 2023录用。

方一霖的论文题目为“Fine-grained Code Clone Detection with Block-based Splitting of Abstract Syntax Tree”。论文发现目前的源代码克隆检测系统存在以下问题:(1)基于文本和基于Token的检测系统检测效率较高,可以支持大规模的代码克隆检测,但是其检测准确率较低;(2)基于抽象语法树的检测系统检测准确率高,但是时间和内存开销非常大,不适用于大规模的克隆检测,且无法实现细粒度的克隆检测;(3)上述系统都难以检测到语法克隆,且源代码中语句顺序的变化容易引起对克隆行为的漏报。针对以上问题,论文提出一种高效的细粒度代码克隆检测方法。具体而言,首先将代码的抽象语法树按照语句块进行切割,将原本复杂且信息量较大的抽象语法树切割成多个能完整反应语句块特征的子树和能够代表完整代码结构的结构子树;然后计算代码对之间子树的相似性,从而使检测系统能够灵敏地检测到语句顺序变化的克隆对,且能够进行细粒度的代码分析,大大降低了时间开销。实验显示,所提出的方法能提升约30%的代码克隆检测效率,检测准确率则与现有最优方法相当。

谢子凡的论文题目为“Precise and Efficient Patch Presence Test for Android Applications against Code Obfuscation”。在安卓应用的开发过程中,第三方库被广泛使用,以简化开发流程。现有研究指出,第三方库的代码在安卓应用的体积中平均占到60%以上。然而,第三方库往往存在各种漏洞,这些漏洞可能被攻击者利用,这将给使用安卓应用的用户带来安全隐患。因此,检测目标应用中的漏洞是否已经被修补至关重要。然而,现有的技术无法在被混淆的安卓应用中有效地检测漏洞补丁的存在,而代码混淆在安卓应用中则普遍存在。为了应对代码混淆带来的新挑战,论文提出了补丁存在性测试工具——PHunter,它可以捕捉到补丁相关函数的抗混淆语义特征,以识别目标应用中补丁的存在性。具体来说,PHunter首先利用粗粒度的特征来定位补丁所在的函数,并通过比较补丁的细粒度语义来确定代码是否应用了补丁。论文在包含94个直接漏洞和200个安卓应用的数据集上对PHunter进行评估,结果表明,PHunter的表现可以超过最先进的工具,取得了97.1%的平均准确率和2.1%的平均误报率。此外,PHunter能够抵抗多种不同的混淆策略。更重要的是,PHunter在消除现有第三方库版本检测工具产生的误报方面非常有用,它可以帮助减少高达25.2%的误报,并且准确率高达95.3%。

ISSTA是软件测试与分析领域的CCF A类国际会议,近年来录用率约为23%左右。


(通讯员:方一霖、谢子凡)