用于漏洞预测的自动特征学习
软件工程
2017-08-09 v1
摘要
代码缺陷或漏洞在软件系统中普遍存在,可能引发包括死锁、信息丢失或系统故障在内的各种问题。目前已开发出多种方法,试图检测大型代码库中此类代码漏洞最可能的位置。其中大多数依赖于手动设计特征(如复杂度指标或代码标记的频率)来表示代码的特征。然而,所有方法都面临难以充分捕获源代码的语义和语法表示的挑战,而这是构建准确预测模型的重要能力。在本文中,我们描述了一种新方法,该方法基于强大的深度学习长短期记忆模型,自动学习代码中的语义和语法特征。我们在 18 个 Android 应用上的评估表明,从我们学习的特征中获得的预测能力等于甚至优于最先进的漏洞预测模型所达到的水平:项目内预测提升 3%--58%,跨项目预测提升 85%。
引用
@article{arxiv.1708.02368,
title = {Automatic feature learning for vulnerability prediction},
author = {Hoa Khanh Dam and Truyen Tran and Trang Pham and Shien Wee Ng and John Grundy and Aditya Ghose},
journal= {arXiv preprint arXiv:1708.02368},
year = {2017}
}