计算机科学与探索

北大核心,INSPEC,JST,CSCD,WJCI

国内刊号:11-5602/TP

国际刊号:1673-9418

计算机科学与探索杂志2025年第7期:TPLADD:高鲁棒性与高精度的C/C++第三方库检测方法

发布日期:

作者:贾昀峰, 王俊峰, 吴鹏

单位:1. 四川大学 计算机学院(软件学院、智能科学与技术学院),成都 6100652. 四川旅游学院 信息与工程学院,成都 610100

关键词:开源软件,软件组件分析,第三方库检测,代码克隆,修改重用,静态分析

基金:国家自然科学基金(U2133208);中央在川高校院所“聚源兴川”项目(24JYXC0043);四川大学-泸州市人民政府战略合作项目(2022CDLZ-5)。

第三方库(TPL)作为现代C/C++软件开发的重要组成部分,其精确检测与管理对于保障软件质量与安全性至关重要。然而现有方法主要依赖代码语法特征,对Type Ⅱ和Type Ⅲ克隆重用场景的适应性不足,易导致检测失效。提出一种基于函数抽象语法树(AST)特征的TPL检测方法TPLADD。该方法利用AST节点度数与次序的度量信息快速实现函数语法向量嵌入,并结合向量数据库与近似最近邻检索技术,显著提升了修改重用场景下的检测鲁棒性。基于异常检测的过滤技术可以有效减少干扰函数对检测的影响,提高结果精确性。基于GitHub搜集的29?782个开源软件(OSS)共计726?074个版本,构建了特征向量索引库,并在100个知名项目上验证有效性。实验结果表明,在精度上,TPLADD相较于CENTRIS,精确率和召回率分别提升了3.88和2.76个百分点;在鲁棒性上,TPLADD即使出现较大程度代码修改时,仍能保持74%的F1值;在性能上,TPLADD平均每个TPL检测耗时仅0.42?s,索引库存储占用率仅为总体函数特征的0.41%。这些充分体现了TPLADD高鲁棒性、高精确性的特点,且具备良好的性能表现。

来源:2025年第7期

《计算机科学与探索》期刊编辑部

查看计算机科学与探索杂志2025年第7期

联系我们

  • 地址:北京市海淀区北四环中路211号
  • 电话:(010)89056056
  • E-mail:fcst@vip.163.com

咨询工作人员