使用CPD(复制粘贴检测器)

时间:2016-10-04 10:47:57

标签: cpd

test.c的

void fun(){
    printf("int main char");
}

int main()
{
    printf("int main int");
}

- >我给出了像run.sh cpd --minimum-tokens 5 --files /opt/test.c --language c这样的命令,输出如下:

  

在以下文件中找到2行(5个令牌)重复:   从/opt/test.c的第1行开始   从/opt/test.c的第5行开始

void fun(){
    printf("int main char ");

即使没有重复,它也会告诉代码因为最小的令牌而重复。 有没有办法在没有最小标记标志的情况下指定命令。

void fun(){
    printf("int main int");
}

int main(){
    printf("int main int");
}

我指定了这样的命令" run.sh cpd --minimum-tokens 9 --files /opt/test.c --language c"输出如下:

Added /opt/test.c <--- (No line duplication reported by tool)

这是因为我指定的令牌值大于所需的令牌值8.在上述情况下,即使存在重复的代码,该工具也不会返回任何重复的代码。

那么如何在这种情况下总结最小令牌大小以获得正确的代码重复

0 个答案:

没有答案