Skip to content

Latest commit

 

History

History
7 lines (4 loc) · 590 Bytes

design.md

File metadata and controls

7 lines (4 loc) · 590 Bytes

算法

每个程序通过 winnow 算法提取出一系列的 fingerprint,建立倒排索引,可以从 fingerprint 查到在该程序中出现了几次,分别在什么地方。

筛掉出现在过多代码中的 fingerprint(设置一个阈值,比如 10)和出现在模板中的 fingerprint。

找到 fingerprint 匹配比较多的代码对,然后运行 RKR-GST 算法得出匹配结果。分别和模板进行匹配,然后把两者匹配的结果减去和模板匹配的结果,最后的结果再按照开始和结尾的 token 的行号转换为可以看到的结果。