国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:贾昂,范铭,徐茜,晋武侠,王海军,刘烃
单位:贾昂,西安交通大学 电子与信息学部, 陕西 西安 71004911,范铭,西安交通大学 电子与信息学部, 陕西 西安 71004902,徐茜,西安交通大学 电子与信息学部, 陕西 西安 71004903,晋武侠,西安交通大学 电子与信息学部, 陕西 西安 71004904,王海军,西安交通大学 电子与信息学部, 陕西 西安 71004905,刘烃,西安交通大学 电子与信息学部, 陕西 西安 71004906
关键词:二进制到源代码函数相似性检测;函数内联;源代码函数集合
基金:国家自然科学基金(62232014, 62272377, 62372368, 62372367); 陕西省科学技术协会青年人才托举计划
二进制到源代码函数相似性检测是软件组成成分分析的基础性工作之一. 现有方法主要采用一对一的匹配策略, 即使用单一的二进制函数和单一的源代码函数进行比对. 然而, 由于函数内联的存在, 函数之间的映射关系实际上表现为一对多——单一的二进制函数能够关联至多个源代码函数. 这一差异导致现有方法在函数内联场景下遭受了30%的性能损失. 针对函数内联场景下的二进制到源代码函数匹配需求, 提出了一种面向一对多匹配的二进制到源代码函数相似性检测方法, 旨在生成源代码函数集合作为内联二进制函数的匹配对象, 以弥补源代码函数库的缺失. 通过一系列实验评估了方法的有效性. 实验数据表明, 方法不仅能够提升现有二进制到源代码函数相似性检测的能力, 而且还能够找到内联的源代码函数, 帮助现有工具更好地应对内联挑战.
来源:2025年第7期
《软件学报》期刊编辑部