软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2019年第5期:基于深度学习的API误用缺陷检测

发布日期:

作者:汪昕,陈驰,赵逸凡,彭鑫,赵文耘

单位:汪昕,复旦大学 软件学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120311,陈驰,复旦大学 软件学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120302,赵逸凡,复旦大学 软件学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120303,彭鑫,复旦大学 软件学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120304,赵文耘,复旦大学 软件学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120305

关键词:API误用;使用规约;缺陷检测;深度学习

基金:国家重点研发计划(2016YFB1000801)

开发人员经常需要使用各种应用程序编程接口(application programming interface,简称API)来复用已有的软件框架、类库等.由于API自身的复杂性、文档资料的缺失等原因,开发人员经常会误用API,从而导致代码缺陷.为了自动检测API误用缺陷,需要获得API使用规约,并根据规约对API使用代码进行检测.然而,可用于自动检测的API规约难以获得,而人工编写并维护的代价又很高.针对以上问题,将深度学习中的循环神经网络模型应用于API使用规约的学习及API误用缺陷的检测.在大量的开源Java代码基础上,通过静态分析构造API使用规约训练样本,同时利用这些训练样本搭建循环神经网络学习API使用规约.在此基础上,针对API使用代码进行基于上下文的语句预测,并通过预测结果与实际代码的比较发现潜在的API误用缺陷.对所提出的方法进行实现并针对Java加密相关的API及其使用代码进行了实验评估,结果表明,该方法能够在一定程度上实现API误用缺陷的自动发现.

来源:2019年第5期

《软件学报》期刊编辑部

查看软件学报杂志2019年第5期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员