Abstract
Learning based clone detection
优点: 某种程度上解决了传统dynamic search approach和static search approach存在的高time overhead的问题
缺点:精度受限,在工业使用中往往需要人工检查TopM search results
本文工作:
提出工具VulSeeker-Pro
- 特点:在语义学习后端集成了function semantic emulation(函数语义模拟)
- 优点:解决了需要人工检查的问题
- 步骤:
1. 使用基于predictor的semantic learning来快速预测top-M candidate function,这些function是最可能使得target binary产生bug的
2. 将这些topM candidates放入emulation engine,再获取topN candidate functions
这里,semantic learning起到了快速筛选作用,而emulation则实现了dynamic trace generation。
效果:搜索精度提升,time overhead少
实验:
对象:6个工业软件,15个已知CVE
结果:精度明显更高
具体结果: - 在45次搜索中,top1中有40次真bug,top5则是43次
- 比Gemini的精度高出12.33倍和2.58倍
- 只需要多花大概0.22秒