程序分析的一些概念总结

写在前面的话

写给我自己看的,有的地方有的人可能看不懂吧,学到的东西的快速记忆而已。

基本概念总结

1.代码克隆和代码剽窃的区别

a. 代码克隆(code clone)代码克隆主要指的是一个程序内(intra-app)某段代码被重复用了几次这种。 你可以设想一种应用scenario, 就是一个人写代码的本事很拙劣了,有些事情可能写个函数,然后重复调用几次就可以的,但是他大哥偏偏写了重复的几大段。这个就叫做代码克隆


b. 代码剽窃(plagiarism) 一般指的是两个程序之间(inter-app)相似代码的检测。一般就是一货抄袭了别人的代码,然后我们要把这货绳之于法,就是这个样子。

CFG
CFG 的每一个节点就是一个基本块(basic block),一个基本块就是包含一堆顺序语句的东东了啦。
构建CFG的关键
一个CFG就是一个方法或者说函数的图。

PDG
PDG的每一个节点都是一条语句




程序分析的一些概念总结_第1张图片

你可能感兴趣的:(【代码克隆检测】)