基于simhash与倒排索引的复用代码快速溯源方法
TP393.08; 提出了一种新颖的复用代码精确快速溯源方法。该方法以函数为单位,基于simhash与倒排索引技术,能在海量代码中快速溯源相似函数。首先基于simhash利用海量样本构建具有三级倒排索引结构的代码库。对于待溯源函数,依据函数中代码块的simhash值快速发现相似代码块,继而倒排索引潜在相似函数,依据代码块跳转关系精确判定是否相似,并溯源至所在样本。实验结果表明,该方法在保证高准确率与召回率的前提下,基于代码库能快速识别样本中的编译器插入函数与复用函数。...
Saved in:
Published in | 通信学报 Vol. 37; no. 11; pp. 104 - 113 |
---|---|
Main Authors | , , , |
Format | Journal Article |
Language | Chinese |
Published |
中国科学院研究生院,北京 100039
2016
中国科学院信息工程研究所,北京 100093%中国科学院研究生院,北京 100039 中国科学院计算技术研究所,北京 100080 中国科学院信息工程研究所,北京 100093 |
Subjects | |
Online Access | Get full text |
ISSN | 1000-436X |
DOI | 10.11959/j.issn.1000-436x.2016225 |
Cover
Summary: | TP393.08; 提出了一种新颖的复用代码精确快速溯源方法。该方法以函数为单位,基于simhash与倒排索引技术,能在海量代码中快速溯源相似函数。首先基于simhash利用海量样本构建具有三级倒排索引结构的代码库。对于待溯源函数,依据函数中代码块的simhash值快速发现相似代码块,继而倒排索引潜在相似函数,依据代码块跳转关系精确判定是否相似,并溯源至所在样本。实验结果表明,该方法在保证高准确率与召回率的前提下,基于代码库能快速识别样本中的编译器插入函数与复用函数。 |
---|---|
ISSN: | 1000-436X |
DOI: | 10.11959/j.issn.1000-436x.2016225 |