基于深度学习的API误用缺陷检测

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

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

分类:
  • 期刊
  • >
  • 自然科学与工程技术
  • >
  • 信息科技
  • >
  • 计算机软件及计算机应用
收录:
  • 上海图书馆馆藏
  • CSCD 中国科学引文数据库来源期刊(含扩展版)
  • 知网收录(中)
  • 北大期刊(中国人文社会科学期刊)
  • 维普收录(中)
  • 国家图书馆馆藏
  • 万方收录(中)
  • SA 科学文摘(英)
  • Pж(AJ) 文摘杂志(俄)
  • EI 工程索引(美)
  • JST 日本科学技术振兴机构数据库(日)
  • 统计源期刊(中国科技论文优秀期刊)
关键词:
  • api误用
  • 使用规约
  • 缺陷检测
  • 深度学习

注:因版权方要求,不能公开全文,如需全文,请咨询杂志社

期刊名称:软件学报

期刊级别:北大期刊

期刊人气:4841

杂志介绍:
主管单位:中国科学院
主办单位:中国科学院软件研究所;中国计算机学会
出版地方:北京
快捷分类:计算机
国际刊号:1000-9825
国内刊号:11-2560/TP
邮发代号:82-367
创刊时间:1990
发行周期:月刊
期刊开本:B5
下单时间:1-3个月
复合影响因子:2.86
综合影响因子:2.83