当前位置:主页 > 科技论文 > 软件论文 >

API文档挖掘研究

发布时间:2020-04-18 02:33
【摘要】:随着软件复用技术的不断发展,软件开发者越来越依赖于使用第三方类库来实现特定的服务和功能。通过调用第三方类库中的应用程序编程接口(API),开发者可以节省大量的开发时间,有效地提高软件的开发效率。然而,API通常比较难以学习和使用。面对一个不熟悉的API,开发者倾向于寻找各种各样的API文档来学习API的正确使用。因此,API文档的质量对于API的学习和使用效率,乃至软件的开发效率都至关重要。近些年来,如何有效地解决API文档的各种问题,进而提高API的学习和使用效率是研究人员研究的热点问题。虽然研究人员已经提出了一些算法来解决API文档的问题,但是这些算法没有充分利用API文档的领域特定知识,算法结果有待进一步提升。本文围绕在API的学习和使用过程中产生的三种典型的API文档,即API教程,API技术问答对和API相关的缺陷报告开展分析与挖掘研究。针对API教程冗长且难理解的问题,本文分别提出了一种更精确的监督算法和一种无监督算法,为开发者推荐API教程解释片段。针对API技术问题难回答,本文提出了一种基于API规范和历史信息的API推荐算法,帮助开发者定位正确的API。针对API相关的缺陷难修复的问题,本文提出了基于贡献者写作风格的缺陷报告摘要构建算法,帮助开发者快速理解API相关的缺陷的修复过程。具体来说,本文主要研究工作包括:(1)监督与无监督API教程片段推荐算法设计。API教程的信息冗长延长了开发者学习API的时间。为了有效地解决API教程冗长问题,本文提出了一种监督的API教程片段推荐算法。该方法将API教程切分成片段,为开发者推荐期望的API教程片段。该方法充分挖掘API教程的内在联系,提出了两类重要的分类特征,即共现API特征和基于扩展的API特征,提高了 API教程片段推荐的准确率。同时,为了提高算法的实用性,本文进一步提出了一种无监督API教程片段推荐算法。经过对大量的API教程片段数据进行观察发现,并不是所有的API教程片段都是在解释API。本文提出了识别非解释性API教程片段的启发式规则,并且创新地利用PageRank算法和主题模型算法,分别从词法结构和语义的角度进行分析和推荐。本文提出的无监督算法不仅获得了最好结果,而且具有很好的实用性。(2)基于API规范和历史信息的API推荐算法设计。API类库中通常封装了成百上千的API,开发者面对众多的API难以选择。Stack Overflow等流行的技术问答网站上积累了海量的API相关问题,它们的解决时长显著超过其他问题。为了减少开发者的等待时间,加快API相关问题的解决,本文创新地利用API规范和历史信息来为API相关问题推荐正确的API。本文提出的API推荐算法显著提高了推荐准确率,节省了开发者选择API的时间。(3)基于贡献者写作风格的API相关的缺陷报告摘要构建算法设计。由于API错误使用导致的缺陷通常难以修复。在修复API错误使用导致的缺陷时,开发者通常需要参考以前已经修复好的缺陷的修复方法。因此,对缺陷报告构建精确的摘要可以减少开发者阅读和理解缺陷报告的时间,加快API相关缺陷的修复过程。现有的缺陷报告摘要构建算法仅仅考虑缺陷报告本身的内容,并没有考虑人的因素。本文创新地对贡献者的写作风格进行建模,并对典型的贡献者写作风格进行了实证研究。以贡献者写作风格相似的缺陷报告作为约简训练集构建算法,不仅可以有效减少训练时间,而且可以提高缺陷报告摘要构建的准确率。本文针对围绕API学习和使用过程中产生的典型的API文档开展分析与挖掘研究。在分析了已有工作及其存在的问题的基础上,充分考虑领域特定知识,提出了相应的解决方案。本论文的研究方法可以进一步用于软件工程其他领域的分析研究工作。
【图文】:

教程,片段


个元素的行为规范,,比如参数类型和返回值类型等。调用API的开发者如果不遵循这样逡逑的规范非常容易导致软件缺陷。逡逑以Java邋API为例,一个典型的Java邋API教程片段如图1.2所示。从图1.2中可以看逡逑至lj,API教程通常会用标题来显示对应的编程任务,每一个编程任务会有相应的描述和逡逑代码样例。开发者通过阅读自然语言的描述和代码样例可以快速实现该功能。一个典型逡逑的API规范片段如图1.3所示。Java邋API规范由一系列HTML网页构成,每个网页介绍逡逑特定的API。如图1.3所示,API规范通常介绍API的继承关系和功能描述。除此之外,逡逑针对每个类和接口,API规范还介绍对应的构造函数,内置函数和字段。逡逑Java邋API教程页面平均包含超过500个单词。在参考API教程学习和使用API的时逡逑候,^u发者无法快速定位到他们需要的内容。而且,开发者并不能按照简单的词法匹配逡逑来查找,因为并不是某个API出现,相应的教程页面就是在解释这个API。这个API有逡逑可能被列举出来作为对比或者举例等。面对如此冗长的API教程及其复杂的内容,一个逡逑简单可行的办法就是将A:PI教程切分成多个片段。以片段为单位

片段,开发者


网站上通过提问或者浏览己有的问题等方式寻求帮助。一个典型的问答网站Stack逡逑Overflow提供了邋一个开发者之间以问答的方式交流AP丨使用经验的平台。Stack邋Overflow逡逑中一个典型的问答对如图1.4所示。Stack邋Overflow中不仅记录着问题及其对应的多个逡逑回答,而且包括其他条目,比如标签,用户得分,查看量,收藏量等。这些条目是对问逡逑题和回答的很好的补充,比如可以通过标签知道问题所属的主题范围有哪些,通过用户逡逑得分来了解对应问题或者回答的质量如何。逡逑Stack邋Overflow中积累了超过500万个问题及其对应的多个回答。面对如此海量的逡逑问答对,开发者无法快速找到他们想要的信息【16]。虽然Stack邋Overflow己经提供了相应逡逑的搜索机制,但是搜索方式仅依靠词法匹配,搜索结果并不理想。这样,开发者只能针逡逑对自己的情况提出相应的API使用问题。当开发者提出问题后,他们只能寄希望于其他逡逑开发者尽快回答,进而解决自己的API使用问题。生成最佳的回答通常比较困难,因此,逡逑提问者需要等待较长的时间
【学位授予单位】:大连理工大学
【学位级别】:博士
【学位授予年份】:2018
【分类号】:TP391.1;TP311.5

【相似文献】

相关期刊论文 前10条

1 赵叶红;;API开放平台高性能技术探索与实践[J];中国金融电脑;2016年02期

2 张毅;李欣;;基于API技术的学位论文开放获取研究与实践[J];情报杂志;2015年04期

3 邓瑶;;无资料地区水文预报方法探索之API模型概化研究[J];科技创新与应用;2015年32期

4 王旭;;基于高德地图API实现四川省PM2.5实时信息显示[J];城市地理;2016年22期

5 宋倩;;基于网络地图API的位置共享地图服务技术[J];环球人文地理;2017年09期

6 马驰;;API系列抽油机的研制[J];内蒙古石油化工;2014年19期

7 李昱坤;易晓明;李京川;卫栋;杨力能;;国内非API油套管质量现状浅谈[J];石油工业技术监督;2012年06期

8 邵铁军;;API抽油机模块化设计及应用[J];科技资讯;2010年10期

9 方伟;许晓锋;徐婷;;油井管标准化及非API油井管标准体系[J];石油工业技术监督;2010年06期

10 姚科;;开放API:新浪微博必经之路?[J];互联网天地;2010年08期

相关会议论文 前10条

1 陈怡;魏红明;;武汉市创建环保模范城市环境质量指标空气污染指数(API)达标的可行性分析[A];2010中国环境科学学会学术年会论文集(第一卷)[C];2010年

2 刘贤进;余向阳;张存政;王冬兰;董健;束春娥;;API转基因抗虫棉对棉铃虫中肠蛋白酶的抑制作用[A];走向21世纪的中国昆虫学——中国昆虫学会2000年学术年会论文集[C];2000年

3 赵允文;;由API规范看抽油机用电动机选择[A];2005年石油装备技术发展学术交流年会论文集[C];2005年

4 刘国富;周涛;楼其禄;;连续API水文模型在紧水滩水库的应用[A];2008南方十三省水电学会联络会暨学术交流会论文集[C];2008年

5 王才林;赵凌;朱镇;张亚东;林静;张所兵;陈涛;刘贤金;王冬兰;黄骏麒;龚蓁蓁;;用花粉管通道法将慈姑蛋白酶抑制剂(API)基因导入水稻获得转基因植株[A];提高全民科学素质、建设创新型国家——2006中国科协年会论文集[C];2006年

6 鲁颖;荣石中;;API商城的开发者使用心理模型探究[A];User Friendly 2014暨UXPA中国第十一届用户体验行业年会论文集[C];2014年

7 王才林;赵凌;朱镇;张亚东;林静;张所兵;陈涛;刘贤金;王冬兰;黄骏麒;龚蓁蓁;;用花粉管通道法将慈姑蛋白酶抑制剂(API)基因导入水稻获得转基因植株[A];植物分子育种——第四届全国植物分子育种学术研讨会论文集[C];2004年

8 黄骏麒;龚蓁蓁;吴敬音;陈松;束春娥;谢伟军;周宝良;沈新莲;;慈姑蛋白酶抑制剂(API)基因导入棉花获得转基因植株[A];植物分子育种——第四届全国植物分子育种学术研讨会论文集[C];2004年

9 程瑞香;顾继友;崔永志;;水性高分子异氰酸酯(API)胶粘剂在木材中的渗透对木材弦径面胶接强度的影响[A];北京粘接学会第十届学术年会-北京粘接学会成立二十周年暨技术交流报告会论文集[C];2002年

10 王宾;宋丹青;胡昌勤;;以QbD理念(质量源于设计)研究替加环素API杂质分析方法[A];第十二届全国青年药学工作者最新科研成果交流会论文集[C];2014年

相关重要报纸文章 前10条

1 本报记者 余若晰;让客户喝咖啡不计“成本” 瑞幸开放企业API平台[N];证券日报;2018年

2 本报记者 王婉;API经济创造数据开放共享新模式[N];贵阳日报;2017年

3 ;开放API时的三种NGN业务模式[N];人民邮电;2004年

4 特约撰稿 朱丽娜;香港开放API“四步走” 追赶金融科技潮[N];21世纪经济报道;2018年

5 Laxmi Yadav 编译 朱军生;API进口成本上升 印下游药企压力大[N];医药经济报;2018年

6 ;图形API发展史[N];电子报;2018年

7 本报记者 杨光;面向OpenStack集成5大API[N];中国信息化周报;2018年

8 郭展;API China汇聚中国制药产业“源动力”[N];医药经济报;2018年

9 本报记者 李咊明 实习生 张少莹;API关联审评“风口”来了?[N];医药经济报;2018年

10 广文;API China 汇中国制药产业“源动力”[N];医药经济报;2017年

相关博士学位论文 前5条

1 张静宣;API文档挖掘研究[D];大连理工大学;2018年

2 郭国强;油井管非API螺纹量规成形磨削加工质量控制基础试验与应用研究[D];上海交通大学;2014年

3 王淑敏;淀粉基API木材胶黏剂抗湿热老化研究[D];东北林业大学;2016年

4 戚晓利;拟南芥花异常株系AFDL的花发育及基因表达分析[D];东北林业大学;2010年

5 代子营;面向资源的规约挖掘与强制技术研究[D];国防科学技术大学;2013年

相关硕士学位论文 前10条

1 孔令波;基于API关联性的恶意代码动态分析平台的设计与实现[D];战略支援部队信息工程大学;2018年

2 李欢;基于API天气数据抓取的特定网络爬虫的研究与实现[D];燕山大学;2014年

3 罗勇;粒子系统的API设计及其在模糊对象模拟中的应用[D];湖南大学;2008年

4 任辉;API石油钻杆接头应力分析及结构改进研究[D];华东理工大学;2011年

5 张江;某种软件API自动化测试工具的设计与实现[D];华中科技大学;2009年

6 张俊;API胶黏剂固化反应机制的研究[D];东北林业大学;2009年

7 樊秀江;不同条件下API套管螺纹接头密封性能的实验研究[D];西安石油大学;2011年

8 韩旭芳;基于开放API的电子商务个性化服务推荐研究[D];石家庄铁道大学;2011年

9 杨佑平;面向激光标刻应用的运动控制卡驱动程序及API函数库的开发[D];华中科技大学;2014年

10 门星宇;基于地图API技术的闪电定位信息管理系统的设计与实现[D];吉林大学;2015年



本文编号:2631607

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2631607.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户76243***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com