This work explores the signal awareness of AI models for source code understanding. Using a software vulnerability detection use case, we evaluate the models' ability to capture the correct vulnerability signals to produce their predictions. Our prediction-preserving input minimization (P2IM) approach systematically reduces the original source code to a minimal snippet which a model needs to maintain its prediction. The model's reliance on incorrect signals is then uncovered when the vulnerability in the original code is missing in the minimal snippet, both of which the model however predicts as being vulnerable. We measure the signal awareness of models using a new metric we propose- Signal-aware Recall (SAR). We apply P2IM on three different neural network architectures across multiple datasets. The results show a sharp drop in the model's Recall from the high 90s to sub-60s with the new metric, highlighting that the models are presumably picking up a lot of noise or dataset nuances while learning their vulnerability detection logic. Although the drop in model performance may be perceived as an adversarial attack, but this isn't P2IM's objective. The idea is rather to uncover the signal-awareness of a black-box model in a data-driven manner via controlled queries. SAR's purpose is to measure the impact of task-agnostic model training, and not to suggest a shortcoming in the Recall metric. The expectation, in fact, is for SAR to match Recall in the ideal scenario where the model truly captures task-specific signals.
翻译:这项工作探索 AI 模型的信号意识, 以便了解源代码理解 。 使用软件脆弱性检测使用案例, 我们评估模型捕捉正确脆弱性信号的能力, 以得出预测。 我们的预测- 保存输入最小化(P2IM) 方法系统地将原始源代码降低到一个最小的片段, 模型需要保持预测。 当原始代码中的弱点在最小片段缺失时, 模型对错误信号的依赖就会暴露出来, 而模型预测的这两个片段都是脆弱的 。 我们使用新指标来衡量模型的信号意识, 我们提议Signa-aware recall (SAR) 。 我们将P2IM 应用于多个数据集的三个不同的神经网络结构。 结果显示, 模型的原始源代码从90年代到60年代的高端点, 需要保持其预测。 模型大概正在收集大量噪音或数据集的细微之处, 同时学习其脆弱性检测逻辑。 尽管模型的恢复性表现可能被视为一种对抗性攻击, 但这不是P2IM 的目标。 我们的想法是, 快速的信号, 而不是要通过新的标准模型, 来揭示信号意识意识意识,,, 控制性任务模型 的模型, 将 目标 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向 方向