摘要
为了在语料库中找出源代码的真实作者,提出了一种代码耦合度与程序依赖图特征结合的神经网络模型CPNN来识别源代码作者。首先,使用从源代码中提取的参数、扇入和扇出等特征计算代码的耦合度。其次,从转换的程序依赖图中提取控制和数据依赖项,应用预处理技术将PDG特征转换为具有频率细节的小实例,并且利用逆文档频率技术放大源代码中每个PDG特性的重要性。最后,利用CPNN模型预测程序员的编码风格特征,并对编码风格的真正作者进行属性划分。在1 000名程序员的源代码数据集上进行作者归属预测,得到了95%的准确率。
- 单位