- 简介本文首次对专业软件开发者在他们自己的实际项目中使用漏洞检测和修复工具进行了实证研究。我们开发了DeepVulGuard,这是一种基于最新检测和修复模型的集成开发环境(IDE)工具,并展示了它在历史漏洞数据基准测试中的良好性能。DeepVulGuard可以扫描代码中的漏洞(包括识别漏洞类型和易受攻击的代码区域),建议修复方案,并通过聊天界面提供自然语言解释。 我们招募了17位微软的专业软件开发者,观察他们在自己代码中使用该工具的情况,并通过访谈评估该工具的实用性、速度、可信度、相关性和工作流程集成。我们还收集了用户对其感知和所需功能的详细定性反馈。研究参与者总共扫描了24个项目、6,900个文件和超过170万行源代码,生成了170个警报和50个修复建议。 我们发现,尽管最先进的AI驱动的检测和修复工具显示出了潜力,但由于高误报率和不适用的修复建议,它们尚未适用于实际应用。用户反馈揭示了多个可操作的痛点,从上下文不完整到缺乏针对用户代码库的定制化。此外,我们探讨了如何将AI特性(包括置信度评分、解释和聊天交互)应用于漏洞检测和修复。 基于这些见解,我们提出了评估和部署AI检测和修复模型的实际建议。我们的代码和数据可在https://doi.org/10.6084/m9.figshare.26367139获取。
-
- 图表
- 解决问题该论文试图解决使用AI工具在实际项目中检测和修复软件漏洞的问题。具体来说,它验证了AI驱动的漏洞检测和修复工具(如DeepVulGuard)在真实世界中的有效性和实用性。这是一个具有挑战性的问题,因为尽管实验室环境中这些工具有很好的表现,但在实际开发环境中,它们的表现和接受度尚未得到充分验证。
- 关键思路关键思路是开发并评估一个名为DeepVulGuard的IDE集成工具,该工具基于最新的AI模型来扫描代码中的漏洞、建议修复方案,并通过自然语言解释其警报和修复建议。与现有研究相比,这篇论文的独特之处在于它是首次将此类工具应用于专业软件开发者的真实项目中,从而提供了宝贵的实证数据。
- 其它亮点论文值得关注的地方包括:1) 研究对象为微软的17名专业开发者,他们使用DeepVulGuard对24个项目进行了测试;2) 提供了详细的用户反馈分析,揭示了当前AI工具存在的痛点,如高误报率和不适用的修复建议;3) 探讨了如何利用AI特性(如置信度评分、解释和聊天交互)改进漏洞检测和修复过程;4) 论文不仅报告了实验结果,还提出了对未来工作的实用建议。此外,作者已公开了代码和数据集,便于后续研究。
- 近年来,在这个领域内有许多相关研究,例如《Using Deep Learning for Code Vulnerability Detection》探讨了深度学习在代码漏洞检测中的应用,《Automated Repair of Security Vulnerabilities Using Machine Learning Techniques》则关注于自动化修复安全漏洞的方法。其他相关研究还包括《Evaluating the Effectiveness of AI-based Tools in Software Security》以及《Enhancing Developer Trust in AI-assisted Coding Tools》等。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流