一句话:提出 Graphia,用图神经网络融合结构与语义信息,提升动态语言调用图准确率。
调用图生成对程序理解与分析至关重要,但现有方法难以兼顾准确率与精度,在 JavaScript 等动态语言中尤为突出。本文提出 Graphia,利用图神经网络(GNN)融合代码的结构信息与语义信息来提升调用图准确性。其两步流程以初始调用图作为 GNN 训练数据,再在新程序中识别真实调用边。实验表明,Graphia 在漏洞检测中显著提高真阳性率,最高可达 95%,说明结合代码结构与上下文能有效应对复杂动态语言场景下的调用图构建难题。
Call graph generation is critical for program understanding and analysis, but achieving both accuracy and precision is challenging. Existing methods trade off one for the other, particularly in dy- namic languages like JavaScript. This paper introduces "Graphia," an approach that combines structural and semantic information using a Graph Neural Network (GNN) to enhance call graph accu- racy. Graphia’s two-step process employs an initial call graph as training data for the GNN, which then uncovers true call edges in new programs. Experimental results show Graphia significantly improves true positive rates in vulnerability detection, achieving up to 95%. This approach advances call graph accuracy by effectively incorporating code structure and context, particularly in complex dynamic language scenarios.