论文标题

使用多个代码表示优先级静态分析警告

Using Multiple Code Representations to Prioritize Static Analysis Warnings

论文作者

Vu, Thanh Trong, Vo, Hieu Dinh

论文摘要

为了确保软件的质量并防止黑客对关键系统的攻击,经常利用静态分析工具来检测早期开发阶段的脆弱性。但是,这些工具通常会报告大量的虚假阳性率的警告,这给开发人员带来了许多困难。在本文中,我们介绍了Vulrg,这是一种解决这个问题的新方法。具体而言,Vulrg根据其可能性预测并对警告进行排名为真正的积极。为了预测可能性,Vulrg结合了两个深度学习模型CNN和Bigru,以根据程序语法,控制流和程序依赖性来捕获每个警告的上下文。我们对6,620条警告的现实数据集的实验结果表明,Fulrg的召回率为前50%为90.9%。这意味着使用vulrg,只能检查50%的警告,可以找到90%的漏洞。此外,在前5%的情况下,Vulrg可以精确和召回率将最新方法提高 +30%。

In order to ensure the quality of software and prevent attacks from hackers on critical systems, static analysis tools are frequently utilized to detect vulnerabilities in the early development phase. However, these tools often report a large number of warnings with a high false-positive rate, which causes many difficulties for developers. In this paper, we introduce VulRG, a novel approach to address this problem. Specifically, VulRG predicts and ranks the warnings based on their likelihoods to be true positive. To predict that likelihood, VulRG combines two deep learning models CNN and BiGRU to capture the context of each warning in terms of program syntax, control flow, and program dependence. Our experimental results on a real-world dataset of 6,620 warnings show that VulRG's Recall at Top-50% is 90.9%. This means that using VulRG, 90% of the vulnerabilities can be found by examining only 50% of the warnings. Moreover, at Top-5%, VulRG can improve the state-of-the-art approach by +30% in both Precision and Recall.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源