Skip to main content
QUICK REVIEW

[论文解读] Testing Neural Program Analyzers

Rafiqul Islam Rabin, Ke Wang|arXiv (Cornell University)|Aug 25, 2019
Software Engineering Research参考文献 16被引用 11
一句话总结

本文提出了一种基于转换的测试框架,通过循环交换、变量重命名和switch-to-if转换等技术,生成语义等价但语法不同的程序,以评估神经程序分析器的鲁棒性。主要发现是,即使语法变化微小,最先进的模型(如code2vec)也可能错误预测标签,揭示了神经程序分析模型存在显著的脆弱性。

ABSTRACT

Deep neural networks have been increasingly used in software engineering and program analysis tasks. They usually take a program and make some predictions about it, e.g., bug prediction. We call these models neural program analyzers. The reliability of neural programs can impact the reliability of the encompassing analyses. In this paper, we describe our ongoing efforts to develop effective techniques for testing neural programs. We discuss the challenges involved in developing such tools and our future plans. In our preliminary experiment on a neural model recently proposed in the literature, we found that the model is very brittle, and simple perturbations in the input can cause the model to make mistakes in its prediction.

研究动机与目标

  • 解决软件工程中神经程序分析器缺乏系统化测试方法的问题。
  • 研究保持语义的代码转换是否能暴露模型的脆弱性和预测不一致性。
  • 开发一种生成合成测试程序的框架,保持语义等价但改变语法结构。
  • 通过比较原始程序与转换后程序的预测结果,评估模型的鲁棒性。
  • 识别最能触发神经模型预测失败的转换类型。

提出的方法

  • 应用保持语义的代码转换,如循环交换(for ↔ while)、变量重命名、布尔值交换、switch-to-if转换和语句重排。
  • 通过在训练数据集中的原始程序上应用转换,生成保持程序语义的合成测试程序。
  • 使用神经模型对原始程序和转换后程序进行标签预测,并比较输出结果。
  • 定义基于转换的元关系:在语义等价的变体中,预测结果应保持一致。
  • 设定预测结果的相似性阈值,以检测表明模型不稳定的偏差。
  • 在Java数据集上评估code2vec模型,在C#数据集上评估GGNN模型。

实验结果

研究问题

  • RQ1保持语义的代码转换能否有效暴露神经程序分析器的预测不一致性?
  • RQ2哪些类型的代码转换最可能导致神经模型错误预测?
  • RQ3在语义等价程序的不同语法变体中,模型的鲁棒性如何变化?
  • RQ4常见的神经程序嵌入模型(如code2vec和GGNN)在语法扰动下失败的程度如何?
  • RQ5如何系统性地应用基于转换的测试来评估神经程序分析模型的可靠性?

主要发现

  • code2vec模型将isPrime函数的while循环实现错误预测为'跳过'方法,尽管其语义与for循环版本完全等价。
  • 对于while循环版本,模型未在前5名预测中包含'isPrime',表明预测准确率显著下降。
  • 保持语义的转换(如循环交换和switch转换)导致在语义等价程序形式间出现不一致的预测结果。
  • 没有单一转换类型始终比其他类型更有效,表明需要多样化的转换以实现全面测试。
  • 初步结果证实,神经程序分析器极为脆弱,微小的语法变化即可引发巨大的预测偏差。
  • 该框架成功揭示了模型的不稳定性,凸显了在神经程序分析中进行鲁棒性测试的必要性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。