通过代码数据学习来解决软件任务的编程工具在提升开发人员生产力方面展现了早期的潜力。然而,这些工具在鲁棒性方面以及它们对软件安全性和可靠性的最终影响上仍然存在显著差距——这些问题甚至对经验丰富的开发人员来说仍是挑战。本论文旨在从安全性和可靠性的角度推动代码机器学习领域的发展。我们提出了训练机器学习模型的新技术,以使其具备强大的推理能力,能够处理与安全性和可靠性相关的问题。 我们首先介绍了利用监督学习信号来增强程序分析的方法。作为这一方法的实例,我们提出使用模仿学习框架,从符号执行中学习一个有效且快速的模糊测试器。首先,符号执行专家为大量程序生成高质量输入数据集。然后,利用该数据集训练一个神经网络模糊测试器,使其模仿专家的行为。训练好的模糊测试器随后被部署以测试新程序。

此外,我们研究了分布漂移问题,这是阻碍深度学习模型在现实场景中有效检测漏洞的关键问题。分布漂移发生在训练和评估所用的数据集与实际遇到的漏洞分布不一致时。为了解决这个问题,我们提出了一种两阶段的训练方法。首先,模型在大量的合成漏洞上进行训练,然后进一步在一个更接近实际漏洞分布的数据集上进行训练。 最后,我们从两个互补的角度探讨了代码生成中的安全性问题。我们不仅寻求改进生成安全代码的能力,还研究了从对抗角度降低安全级别的可能性。为实现这些目标,我们提出了一个统一的微调框架,采用专门的优化目标,既优化安全性又保持模型生成功能性正确代码的能力。

成为VIP会员查看完整内容
17

相关内容

“机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让 可以自动“ 学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多 推论问题属于 无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。” ——中文维基百科

知识荟萃

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

更多

查看相关VIP内容、论文、资讯等
【CMU博士论文】经典方法对现代机器学习的改进
专知会员服务
24+阅读 · 8月16日
【伯克利博士论文】解耦视觉生成模型
专知会员服务
26+阅读 · 5月9日
论文浅尝 | GraphIE:基于图的信息抽取框架
开放知识图谱
17+阅读 · 2019年6月2日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
12+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
7+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Arxiv
158+阅读 · 2023年4月20日
A Survey of Large Language Models
Arxiv
408+阅读 · 2023年3月31日
Arxiv
68+阅读 · 2023年3月26日
Arxiv
147+阅读 · 2023年3月24日
Arxiv
21+阅读 · 2023年3月17日
VIP会员
相关基金
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
12+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
7+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
微信扫码咨询专知VIP会员