Many ML-based approaches have been proposed to automatically detect, localize, and repair software vulnerabilities. While ML-based methods are more effective than program analysis-based vulnerability analysis tools, few have been integrated into modern IDEs, hindering practical adoption. To bridge this critical gap, we propose AIBugHunter, a novel ML-based software vulnerability analysis tool for C/C++ languages that is integrated into Visual Studio Code. AIBugHunter helps software developers to achieve real-time vulnerability detection, explanation, and repairs during programming. In particular, AIBugHunter scans through developers' source code to (1) locate vulnerabilities, (2) identify vulnerability types, (3) estimate vulnerability severity, and (4) suggest vulnerability repairs. In this article, we propose a novel multi-objective optimization (MOO)-based vulnerability classification approach and a transformer-based estimation approach to help AIBugHunter accurately identify vulnerability types and estimate severity. Our empirical experiments on a large dataset consisting of 188K+ C/C++ functions confirm that our proposed approaches are more accurate than other state-of-the-art baseline methods for vulnerability classification and estimation. Furthermore, we conduct qualitative evaluations including a survey study and a user study to obtain software practitioners' perceptions of our AIBugHunter tool and assess the impact that AIBugHunter may have on developers' productivity in security aspects. Our survey study shows that our AIBugHunter is perceived as useful where 90% of the participants consider adopting our AIBugHunter. Last but not least, our user study shows that our AIBugHunter could possibly enhance developers' productivity in combating cybersecurity issues during software development.


翻译:许多基于机器学习的方法已被提出,用于自动检测、定位和修复软件漏洞。尽管基于ML的方法比基于程序分析的漏洞分析工具更有效,但很少有方法被集成到现代集成开发环境中,这阻碍了其实际应用。为弥合这一关键差距,我们提出了AIBugHunter,一种新型的基于ML的C/C++语言软件漏洞分析工具,该工具已集成到Visual Studio Code中。AIBugHunter帮助软件开发人员在编程过程中实现实时的漏洞检测、解释和修复。具体而言,AIBugHunter扫描开发人员的源代码,以(1)定位漏洞,(2)识别漏洞类型,(3)评估漏洞严重性,以及(4)建议漏洞修复方案。本文提出了一种基于多目标优化(MOO)的新型漏洞分类方法和一种基于Transformer的评估方法,以帮助AIBugHunter准确识别漏洞类型并评估严重性。我们在一个包含188K+个C/C++函数的大型数据集上进行的实证实验证实,所提出的方法在漏洞分类和严重性评估方面比其他最先进的基线方法更准确。此外,我们开展了定性评估,包括一项调查研究和一项用户研究,以获取软件从业者对AIBugHunter工具的看法,并评估AIBugHunter在安全方面可能对开发人员生产力产生的影响。调查研究显示,参与者认为AIBugHunter具有实用性,其中90%的参与者考虑采用我们的AIBugHunter。最后,用户研究表明,AIBugHunter可能有助于提升开发人员在软件开发过程中应对网络安全问题的生产力。

0
下载
关闭预览

相关内容

不可错过!《机器学习100讲》课程,UBC Mark Schmidt讲授
专知会员服务
76+阅读 · 2022年6月28日
专知会员服务
45+阅读 · 2020年12月18日
专知会员服务
55+阅读 · 2020年9月7日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
105+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
LibRec 精选:推荐系统的常用数据集
LibRec智能推荐
17+阅读 · 2019年2月15日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
可解释的CNN
CreateAMind
18+阅读 · 2017年10月5日
国家自然科学基金
0+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Arxiv
0+阅读 · 2023年7月13日
Arxiv
13+阅读 · 2019年11月14日
VIP会员
最新内容
马赛克战:俄乌战场透析
专知会员服务
11+阅读 · 今天4:12
《利用人工智能增强军事决策》
专知会员服务
2+阅读 · 今天4:09
《自动机器学习在军事数据耕耘法中的应用》
专知会员服务
4+阅读 · 今天4:02
为何指挥所生存能力要求范式转变
专知会员服务
2+阅读 · 今天3:54
打造“新蛛网”模式与高科技动员
专知会员服务
2+阅读 · 今天3:33
“蛛网”行动一周年:远程无人机战争
专知会员服务
2+阅读 · 今天3:23
【剑桥博士论文】智能体-环境协同优化
专知会员服务
6+阅读 · 6月9日
为初级军官战术训练设计生成式人工智能平台
专知会员服务
8+阅读 · 6月9日
《美军条令:作战伤员后送保障》
专知会员服务
6+阅读 · 6月9日
相关VIP内容
不可错过!《机器学习100讲》课程,UBC Mark Schmidt讲授
专知会员服务
76+阅读 · 2022年6月28日
专知会员服务
45+阅读 · 2020年12月18日
专知会员服务
55+阅读 · 2020年9月7日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
105+阅读 · 2019年10月9日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
LibRec 精选:推荐系统的常用数据集
LibRec智能推荐
17+阅读 · 2019年2月15日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
可解释的CNN
CreateAMind
18+阅读 · 2017年10月5日
相关基金
国家自然科学基金
0+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员