我正在尝试比较来自多个 github 项目的源代码,特别是我正在寻找包含来自其他存储库的大块代码或带有小修改的大块(例如,变量或函数名称更改,或从一个值到另一个值的常数)。
有没有特别适合源代码分析的距离度量?
我正在尝试比较来自多个 github 项目的源代码,特别是我正在寻找包含来自其他存储库的大块代码或带有小修改的大块(例如,变量或函数名称更改,或从一个值到另一个值的常数)。
有没有特别适合源代码分析的距离度量?
您可以查看以下两个链接:
在下面的第三个链接中,提出了一种相似性度量,该度量考虑了两个序列之间共享信息的数量。该指标基于 Kolmogorov 复杂性,已应用于测量两个计算机程序之间的共享信息量,以实现剽窃检测。
一种使用潜在语义分析的源代码抄袭检测和调查方法报告了在这种类型的任务中的成功,其一般过程如下:
也许与使用自然语言处理所做的没有太大区别,但他们确实使用这种方法报告了相当令人信服的结果。