CloneIRD:面向代码溯源的克隆代码继承关系判定方法 |
| |
引用本文: | 姜智文,任怡,杨立明,管剑波,李宝,谭郁松.CloneIRD:面向代码溯源的克隆代码继承关系判定方法[J].郑州大学学报(理学版),2024(2):18-25. |
| |
作者姓名: | 姜智文 任怡 杨立明 管剑波 李宝 谭郁松 |
| |
作者单位: | 国防科技大学计算机学院 |
| |
基金项目: | 国家自然科学基金项目(U19A2060,61872444); |
| |
摘 要: | 随着开源软件的广泛使用,代码溯源成为管理软件源代码、降低潜在风险的重要技术手段。基于代码克隆检测的大规模代码溯源分析,从其检测结果中鉴别代码克隆对之间的继承关系,对代码来源追踪、组件依赖关系分析、软件脆弱性分析以及代码缺陷修复等具有重要意义。目前,已有方法在原始代码片段存在微小修改的情况下,会产生许多误判,并且检测克隆对的效率也有待提高。针对上述问题,提出了代码溯源中克隆代码继承关系的判定方法CloneIRD,包括一个基于自研快速分布式克隆检测工具FastDCF的代码溯源分析框架,以及该框架的核心算法——基于代码演化信息的克隆代码继承关系判定算法EIHR。为验证框架和算法的有效性,首先设计并实现了CloneIRD方法,并在Linux内核V4.9和V4.12的开源代码上进行了实验。实验结果表明,CloneIRD方法能够有效判定代码溯源结果中克隆对的继承关系,且基于FastDCF的溯源分析框架能够胜任大规模代码的溯源分析任务。
|
关 键 词: | 代码溯源 克隆代码 克隆检测 代码继承关系 |
|
|