arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2106.03353cs.SEcs.LGcs.PL
收藏

通过程序简化理解神经代码智能

Understanding Neural Code Intelligence Through Program Simplification

University of Houston(休斯顿大学);Carnegie Mellon University(卡内基梅隆大学)

Md Rafiqul Islam Rabin, Vincent J. Hellendoorn, Mohammad Amin Alipour

摘要:

最近开发了一系列由深度神经网络提供支持的代码智能(CI)工具,以提高编程效率并执行程序分析。为了可靠地使用这些工具,开发人员通常需要推理底层模型的行为以及影响它们的因素。这对于由深度神经网络支持的工具来说尤其具有挑战性。各种方法都试图以“透明/可解释AI”的方式减少这种不透明性。然而,这些方法通常特定于一组特定的网络架构,甚至需要访问网络的参数。这使得它们很难被普通程序员使用,这阻碍了神经CI系统的可靠采用。在本文中,我们提出了一种简单的、与模型无关的方法,通过借鉴软件调试研究,特别是Delta调试,来识别CI系统中模型的关键输入特征。我们的方法,SIVAND,使用简化技术,减少输入程序的CI模型的大小,同时保留模型的预测。我们表明,这种方法产生非常小的输出,并广泛适用于许多模型架构和问题域。我们发现,在我们的实验中的模型往往严重依赖于输入程序中的几个句法特征。我们相信,SIVAND提取的特征可能有助于理解神经CI系统的预测和学习行为。

英文摘要:

A wide range of code intelligence (CI) tools, powered by deep neural networks, have been developed recently to improve programming productivity and perform program analysis. To reliably use such tools, developers often need to reason about the behavior of the underlying models and the factors that affect them. This is especially challenging for tools backed by deep neural networks. Various methods have tried to reduce this opacity in the vein of "transparent/interpretable-AI". However, these approaches are often specific to a particular set of network architectures, even requiring access to the network's parameters. This makes them difficult to use for the average programmer, which hinders the reliable adoption of neural CI systems. In this paper, we propose a simple, model-agnostic approach to identify critical input features for models in CI systems, by drawing on software debugging research, specifically delta debugging. Our approach, SIVAND, uses simplification techniques that reduce the size of input programs of a CI model while preserving the predictions of the model. We show that this approach yields remarkably small outputs and is broadly applicable across many model architectures and problem domains. We find that the models in our experiments often rely heavily on just a few syntactic features in input programs. We believe that SIVAND's extracted features may help understand neural CI systems' predictions and learned behavior.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑