中文

Robin:一种为基于深度学习的代码分类器生成鲁棒解释器的新方法

软件工程 2023-09-20 v1

摘要

深度学习已广泛用于源代码分类任务,例如依据功能进行代码分类、代码作者归属和漏洞检测。遗憾的是,深度的黑盒特性使得难以解释和理解分类器(即分类模型)为何对给定样本做出特定预测。这种可解释性(或可说明性)的缺失可能阻碍了从业者采用它们,因为不清楚何时应当或不应信任分类器的预测。可解释性的缺失促使近年来出现若干研究。然而,现有方法既不鲁棒,也无法应对分布外样本。本文中,我们提出一种新方法,为给定基于深度学习的代码分类器生成鲁棒(Robust)解释器(interpreter);该方法称为 Robin。Robin 背后的关键思想是一种结合解释器与两个近似器的新型混合结构,同时利用对抗训练与数据增强的思想。实验结果表明,平均而言,Robin 生成的解释器相比我们所评估的三种现有解释器,在分类器上评估的保真度高出 6.11%、在近似器上评估的保真度高出 67.22%、鲁棒性高出 15.87 倍。此外,该解释器受分布外样本的影响比 LEMNA 低 47.31%。

关键词

引用

@article{arxiv.2309.10644,
  title  = {Robin: A Novel Method to Produce Robust Interpreters for Deep Learning-Based Code Classifiers},
  author = {Zhen Li and Ruqian Zhang and Deqing Zou and Ning Wang and Yating Li and Shouhuai Xu and Chen Chen and Hai Jin},
  journal= {arXiv preprint arXiv:2309.10644},
  year   = {2023}
}

备注

To be published in the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023)