期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
TPLADD:高鲁棒性与高精度的C/C++第三方库检测方法
1
作者 贾昀峰 王俊峰 吴鹏 《计算机科学与探索》 北大核心 2025年第7期1969-1980,共12页
第三方库(TPL)作为现代C/C++软件开发的重要组成部分,其精确检测与管理对于保障软件质量与安全性至关重要。然而现有方法主要依赖代码语法特征,对TypeⅡ和TypeⅢ克隆重用场景的适应性不足,易导致检测失效。提出一种基于函数抽象语法树(A... 第三方库(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高鲁棒性、高精确性的特点,且具备良好的性能表现。 展开更多
关键词 开源软件 软件组件分析 第三方库检测 代码克隆 修改重用 静态分析
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部