API文档分析ppt课件

上传人:钟*** 文档编号:1541758 上传时间:2019-10-24 格式:PPTX 页数:25 大小:2.94MB
返回 下载 相关 举报
API文档分析ppt课件_第1页
第1页 / 共25页
API文档分析ppt课件_第2页
第2页 / 共25页
API文档分析ppt课件_第3页
第3页 / 共25页
点击查看更多>>
资源描述
API文档分析,1,汇报内容,2,3,1,5,4,背景介绍,API文档内容分析,API文档信息增强,API文档参考推荐,总结,2,API文档-帮助开发者学习API的正确使用,API和API文档,挑战,3,API文档的分类,Maalej W, Robillard M P. Patterns of knowledge in API reference documentation, IEEE Transactions on Software Engineering, 2013, 39(9): 1264-1282.,4,既包含有自然语言的描述,又包含少量代码样例。同时自然语言的描述有可能也包含代码元素。,Zhong H, Su Z. Detecting API documentation errors, International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA). ACM, 2013:803-816.,API文档的内容,5,API文档的质量,研究者对API文档的质量做了问卷调查。他们邀请在IBM和微软的开发者参与调研API学习的障碍和API文档失效的原因。,知识不明确 信息(代码)缺失 冗长且碎片化 内容错误,Uddin G, Robillard M P. How API Documentation FailsJ. IEEE Software, 2015, 32(4):68-75. Robillard M P. What Makes APIs Hard to Learn? Answers from DevelopersJ. IEEE Software, 2009, 26(6):27-34.,尝试自动发现并理解文档的关键知识 尝试自动填充缺失的关键信息(代码) 尝试自动切分文档并推荐相关片段 尝试自动发现文档的错误并推荐修改,6,目标,知识不明确,信息(代码)缺失,冗长且碎片化,7,汇报内容,2,3,1,5,4,背景介绍,API文档内容分析,API文档信息增强,API文档参考推荐,总结,8,API文档的知识,Maalej W, Robillard M P. Patterns of knowledge in API reference documentation, IEEE Transactions on Software Engineering, 2013, 39(9): 1264-1282.,已有研究者对API文档包含的知识进行了人工分析,发现了12中知识类型以及他们的出现模式。,9,API directive自动发现,定义:API directive是正确调用API所必须遵守的约束和限制 目标:自动的识别和高亮API文档中的directive,提醒开发者,挑战: API directive对不同粒度API(比如类,接口,函数,字段等)的约束的描述很不一样。很难构建统一的模型来很好的度量他们的属性和特征。 API directive在API文档中所占的比例极少(小于5%),导致API directive不容易被自动的发现。,10,API directive自动发现,11,API directive自动发现,我们的方法平均超过对比方法20%。 我们的方法是一个更好的方法。,12,API directive自动发现,自动识别和高亮directive对开发者有利。,13,汇报内容,2,3,1,5,4,背景介绍,API文档内容分析,API文档信息增强,API文档参考推荐,总结,14,API文档信息增强,问题: 开发者很大程度上依赖于代码样例学习API,而非自然语言的解释。 构建大量的API代码样例是一件困难的工作。 只有11%的Java API规范和6%的Android API规范包含代码样例,远远不能满足开发者的需要。 API规范的代码样例没有与之对应的使用场景,无法快速理解该代码样例的功能。 研究目标:自动的为API文档(API规范)添加高质量的代码样例及其使用场景。 代码来源:Stack Overflow问答对,Kim J, Lee S, Hwang S W, et al. Enriching Documents with Examples: A Corpus Mining Approach, ACM Transactions on Information Systems, 2013, 31(1):157-160.,15,API文档信息增强,16,API文档信息增强,方法步骤: 邀请21个参与者,设计问卷调查调研他们的编程背景。根据他们的学习编程的时间和经验,将他们分成技能相等的3组。 给每个参与者提供一个实验教程,介绍整个实验的相关概念,实验流程和注意事项等。确保实验前每个参与者都了解了整个流程。 使用屏幕录像工具来全程记录参与者的编程行为。对于三组参与者,第三组是实验组,前两组是控制组。实验组提供使用我们的方法得到的增强后的API文档。控制组分别提供原始API文档和对比方法得到的增强后的文档。 我们设计了一系列实际的Java编程任务,根据Java教程设计了一系列编程任务,让每组参与者根据手头分配的文档完成编程任务。 每个参与者根据手头分配的文档顺序完成上述编程任务。 通过分析每个参与者的录像,得到结果进行对比。 度量指标: 完成编程任务的数量 完成编程任务的时间,17,API文档信息增强,我们的人员分组策略有效。 利用我们方法增强的API文档,可以提高开发者的编程效率。,18,汇报内容,2,3,1,5,4,背景介绍,API文档内容分析,API文档信息增强,API文档参考推荐,总结,19,API文档参考推荐,问题: 单个API文档冗长,不能快速定位想要的内容。 解释某个API的文档片段分布在文档的各个部分。 并不是某个API出现,该文档就一定是解释这个API的。,研究目标:自动的发现并推荐解释某个API的文档片段。,20,API文档参考推荐,相关性识别阶段: 发现API与文档片段的相关性。,片段推荐阶段: 为用户输入的不熟悉的API推荐文档解释片段。,现有工作的不足:监督模型需要大量人工标注构建训练集,同时预测效果依赖于提取的特征,在应用中并不准确。 目标:提出一种无监督模型。,21,API文档参考推荐,作为一种无监督方法,我们提出的方法超过现有监督方法。 考虑到无监督方法的优点,用我们提出的方法来发现解释API的文档片段是个很好的选择。,22,汇报内容,2,3,1,5,4,背景介绍,API文档内容分析,API文档信息增强,API文档参考推荐,总结,23,总结,作为学习API的最重要的资源,API文档的质量并不理想。 对API文档进行分析,进而提高API文档的质量是当前研究热点问题。 我们分别介绍了API文档内容分析,信息增强和参考推荐方面的工作。 但这些研究还无法完全消除API文档的全部问题,还有很多研究问题。,24,Thank you!,25,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!