中文

从训练于源代码嵌入的神经网络中挖掘程序属性

软件工程 2021-03-10 v1 神经与进化计算

摘要

在本文中,我们提出一种通过分析训练于源代码上的深度神经网络的内部行为来挖掘不同程序特征的新方法。使用一个无标签的 Java 程序数据集以及该数据集中方法的三种不同嵌入策略,我们为每个程序嵌入训练一个自编码器,然后测试内部神经元在自主构建不同程序特征的内部表示方面涌现的能力。我们定义了三种受实际编程问题启发的二分类标注策略,以测试每个神经元依据这些分类规则对程序进行分类的性能,表明某些神经元确实可以检测不同的程序属性。我们还分析了选作输入的程序的表示如何影响上述任务的性能。另一方面,我们感兴趣的是找到网络中与给定任务无关的总体信息量最大的神经元。为此,我们提出并评估了两种独立于任何属性对神经元排序的方法。最后,我们讨论了这些思想如何应用于不同环境以简化程序员的工作,例如若将其纳入软件仓库或代码编辑器等环境中。

关键词

引用

@article{arxiv.2103.05442,
  title  = {Mining Program Properties From Neural Networks Trained on Source Code Embeddings},
  author = {Martina Saletta and Claudio Ferretti},
  journal= {arXiv preprint arXiv:2103.05442},
  year   = {2021}
}

备注

10 pages, 13 figures