In this paper, we address the problem of automatic repair of software vulnerabilities with deep learning. The major problemwith data-driven vulnerability repair is that the few existing datasets of known confirmed vulnerabilities consist of only a few thousandexamples. However, training a deep learning model often requires hundreds of thousands of examples. In this work, we leverage theintuition that the bug fixing task and the vulnerability fixing task are related, and that the knowledge learned from bug fixes can betransferred to fixing vulnerabilities. In the machine learning community, this technique is called transfer learning. In this paper, wepropose an approach for repairing security vulnerabilities named VRepair which is based on transfer learning. VRepair is first trainedon a large bug fix corpus and is then tuned on a vulnerability fix dataset, which is an order of magnitude smaller. In our experiments,we show that a model trained only on a bug fix corpus can already fix some vulnerabilities. Then, we demonstrate that transfer learningimproves the ability to repair vulnerable C functions. We also show that the transfer learning model performs better than a modeltrained with a denoising task and fine-tuned on the vulnerability fixing task. To sum up, this paper shows that transfer learning workswell for repairing security vulnerabilities in C compared to learning on a small dataset.


翻译:在本文中,我们用深层学习解决自动修理软件脆弱性的问题。 数据驱动的脆弱性修复的主要问题是, 现有的为数不多的已知确认的脆弱性数据集仅包括几千个实例。 然而, 培训深学习模型往往需要数十万个实例。 在这项工作中, 我们利用错误修复任务和脆弱性修复任务之间的关联, 从错误修复工作中学到的知识可以转移到修复脆弱性。 在机器学习界, 这个技术被称为转移学习。 在本文中, 我们提出一种方法来修复安全脆弱性, 名为Vrepair, 其基础是转移学习。 Vrepair 最初在大型错误修复程序上受过训练, 之后又对一个脆弱性修复数据集进行了调整, 其规模小于10万个。 在我们的实验中, 我们显示, 仅仅训练于错误修复系统的模型可以修复某些脆弱性。 然后, 我们证明, 转移学习会简化脆弱的 C 功能的能力。 我们还表明, 转移学习模型比通过解析任务和微调校正的脆弱性修复工作要好一些模型。 学习关于脆弱性修复数据的转换工作, 学习小的文档。

0
下载
关闭预览

相关内容

迁移学习(Transfer Learning)是一种机器学习方法,是把一个领域(即源领域)的知识,迁移到另外一个领域(即目标领域),使得目标领域能够取得更好的学习效果。迁移学习(TL)是机器学习(ML)中的一个研究问题,着重于存储在解决一个问题时获得的知识并将其应用于另一个但相关的问题。例如,在学习识别汽车时获得的知识可以在尝试识别卡车时应用。尽管这两个领域之间的正式联系是有限的,但这一领域的研究与心理学文献关于学习转移的悠久历史有关。从实践的角度来看,为学习新任务而重用或转移先前学习的任务中的信息可能会显着提高强化学习代理的样本效率。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
161+阅读 · 2020年3月18日
MATLAB玩转深度学习?新书「MATLAB Deep Learning」162页pdf
专知会员服务
98+阅读 · 2020年1月13日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
93+阅读 · 2019年12月23日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
57+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
GAN新书《生成式深度学习》,Generative Deep Learning,379页pdf
专知会员服务
196+阅读 · 2019年9月30日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
25+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年12月28日
Arxiv
13+阅读 · 2021年7月20日
Arxiv
7+阅读 · 2021年5月25日
Slimmable Generative Adversarial Networks
Arxiv
3+阅读 · 2020年12月10日
Arxiv
4+阅读 · 2018年9月11日
Arxiv
7+阅读 · 2018年6月8日
VIP会员
相关VIP内容
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
161+阅读 · 2020年3月18日
MATLAB玩转深度学习?新书「MATLAB Deep Learning」162页pdf
专知会员服务
98+阅读 · 2020年1月13日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
93+阅读 · 2019年12月23日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
57+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
GAN新书《生成式深度学习》,Generative Deep Learning,379页pdf
专知会员服务
196+阅读 · 2019年9月30日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
25+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
相关论文
Arxiv
0+阅读 · 2021年12月28日
Arxiv
13+阅读 · 2021年7月20日
Arxiv
7+阅读 · 2021年5月25日
Slimmable Generative Adversarial Networks
Arxiv
3+阅读 · 2020年12月10日
Arxiv
4+阅读 · 2018年9月11日
Arxiv
7+阅读 · 2018年6月8日
Top
微信扫码咨询专知VIP会员