[发明专利]API指令检测方法、装置有效
申请号: | 202010356444.4 | 申请日: | 2020-04-29 |
公开(公告)号: | CN111651163B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 张静宣;邹卫琴;陶传奇;黄志球 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F40/216;G06F40/211;G06F40/30;G06F16/35 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | api 指令 检测 方法 装置 | ||
本发明公开了一种API指令检测方法、装置,所述方法包括:对API文档中的语句进行划分,得到API指令语句和普通语句;将API指令语句分别和普通语句组成多个类平衡训练子集;其中类平衡训练子集中API指令语句所占比例至少达到预设的平衡数值;API指令检测模型基于API特征标准,以类平衡训练子集作为训练集进行训练;使用训练完成的API指令检测模型进行API指令检测。采用上述技术方案,可以有效、准确且高效率地从API文档中检测识别API指令。
技术领域
本发明涉及数据处理领域,尤其涉及一种API指令检测方法、装置。
背景技术
应用程序编程接口(API)类库被现代软件行业的开发人员广泛使用。开发人员必须特别注意API指令才能正确调用API编程并避免致命错误。API指令是指在API文档中描述调用API时必须满足的约束和限制的语句。但是,由于API指令在API文档中的数量非常少,而且形态各异,开发人员人工识别所有相关的API指令非常耗时且容易出错。
由于从API文档中识别API指令的任务面临两个挑战,其一是多形态挑战,针对不同的API粒度(例如,类,接口,方法和字段),API指令从不同方面描述了API约束的不同特征和模式;其二是类不平衡挑战,API指令和非指令之间存在极不平衡的分布,API指令在API文档中占比极低,且并非所有解释单元都包含API指令。因此,现有技术中采用的技术方案难以准确地从API文档中检测识别API指令。
发明内容
发明目的:本发明旨在提供一种API指令检测方法、装置。
技术方案:本发明实施例中提供一种API指令检测方法,包括:对API文档中的语句进行划分,得到API指令语句和普通语句;将API指令语句分别和普通语句组成多个类平衡训练子集;其中类平衡训练子集中API指令语句所占比例至少达到预设的平衡数值;API指令检测模型基于API特征标准,以类平衡训练子集作为训练集进行训练;使用训练完成的API指令检测模型进行API指令检测。
具体的,类平衡训练子集的数量是,普通语句的数量除以API指令语句的数量得到的商。
具体的,普通语句按照类平衡训练子集的数量划分为不相交的多个部分,每个部分和API指令语句组成类平衡训练子集。
具体的,所述预设的平衡数值为50%。
具体的,所述API特征标准包括以下至少一种:句法、结构和语义。
具体的,所述句法包括以下至少一种标准:情态动词、否定词、以at开头、数字、被动语态、条件句、错误句、鼓励句、比较词、复合词和继承句。
具体的,所述结构包括以下至少一种标准:粒度、位置、长度、长度比例、重要性、信息熵、前信息熵、后信息熵和相似度。
具体的,所述语义标准为语句的主题概率分布。
具体的,若待检测语句被超过预设比例的API指令检测模型认定为API指令,则所述待检测语句确认是API指令。
本发明实施例中提供一种API指令检测装置,包括:标记单元、训练集组成单元、训练单元和检测单元,其中:
所述标记单元,用于对API文档中的语句进行划分,得到API指令语句和普通语句;
所述训练集组成单元,用于将API指令语句分别和普通语句组成多个类平衡训练子集;其中类平衡训练子集中API指令语句所占比例至少达到预设的平衡数值;
所述训练单元,用于API指令检测模型基于API特征标准,以类平衡训练子集作为训练集进行训练;
所述检测单元,用于使用训练完成的API指令检测模型进行API指令检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010356444.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大丽花外植体表面灭菌方法
- 下一篇:代码标识符的归一化方法、装置