API误用缺陷检测与误用修复推荐研究

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:wangxiaoyuzhang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
通过应用程序编程接口(API)复用已有的软件框架或类库,极大地缩短了软件的开发周期,提高了相关从业人员的开发效率。但是由于软件经常会出现API误用的情况,API误用缺陷是软件bug的主要来源,API误用缺陷检测是保证软件质量重要的一环。与此同时,在真实工业场景下由于API调用的错综复杂,修复一个缺陷bug成本极高,API误用缺陷修复推荐能够帮助开发人员减轻工作负担,提升软件质量。正确的使用API需遵守很多使用规约,如调用顺序、异常处理等。若违反了这些规约就会造成API误用,进而可能导致软件产生崩溃、错误或漏洞。尽管很多API误用检测技术已经被提出,但是这些技术仍面临以下挑战:(1)难以获取API使用规约;(2)难以同时检测多种不同类型的API误用;(3)人工修复API误用要求开发人员具有丰富的经验且修复代价较大。为了解决上述挑战,本文提出了一种基于决策树算法的API误用缺陷检测方法。首先,将API使用源代码转换为API使用图,从图中挖掘API使用规约有效地解决了第一个挑战。其次,在获取的API规约信息的基础上构建API使用决策树,并通过融入剪枝策略来提高API使用决策树的泛化能力。最后,在检测阶段提出了粗粒度和细粒度相结合的检测方式,提高API使用决策树的检测能力,有效地解决了第二个挑战。实验结果表明,该方法能够在一定程度上实现API误用缺陷的自动发现,并且能有效地检测多类型的API误用。由于API误用缺陷复杂程度不一,手工修复API误用代价极高,需要开发人员具备丰富的领域知识和解决问题的经验。为了解决以上API误用修复问题,提出了一个API误用修复推荐框架。通过利用已有修复案例配合人工修复模板丰富修复规则库,训练图神经网络模型学习图嵌入,通过图的相似性检索查询API误用修复规则库,最后针对具体的API误用案例给出对应的修复规则列表,从而有效解决了第三个挑战。对于即使没有丰富经验的开发人员提供一些解决误用修复的示例,一定程度上能够降低开发人员的工作量以及提高开发人员的效率。
其他文献
社区挖掘是数据挖掘和网络科学中最重要的问题之一。由于目前对于社区没有一个统一的定义,在过去的几十年里,研究人员从不同的角度提出了很多的社区挖掘算法。然而,这些算法均不能直接评估带权网络中单个社区的统计显著性。本文从假设检验的角度提出了两个方法:一个是基于Logrank检验的带权网络中单个社区真实性的评估算法;另一个是带权网络中单个社区解析p值的计算方法以及相应的社区挖掘算法。鉴于实际网络中的边权重
学位
决策树由于其简单、准确和较强的可解释性而被广泛应用于不同领域。与其他现有的分类器类似,这些基于树的分类算法是为定长的向量数据开发的,并且在处理复杂数据(如序列)方面存在一定的局限性。为了解决离散序列的分类问题,目前主要采用的策略是基于两步过程的序列分类算法,然而这种方法高度依赖于特征生成过程,并且可能会遗漏一些对构建树至关重要的特征。为了解决这些问题,本文完成了如下两项工作:(1)提出了一种新的面
学位
近些年来,视频获取设备迅速普及,互联网技术迅速壮大,视频信息量按几何级数增长,为人工对这些数据进行分析带来了很大的挑战。即使投入大量的人力和物力对海量视频信息进行分析,但由于人们自身的弱点,漏检错检的情况也时而可见。因此,研究一个智能模型实现自动分析和识别人体行为至关重要。本文针对深度学习存在的不足,分别提出基于骨架关节点和LSTM的双层双向Seq2Seq行为识别算法(SB2_Seq2Seq),以
学位
近年来,随着物联网飞速发展和各种传感设备广泛普及,移动众包(Mobile Crowdsourcing,MCS)已经成为收集感知数据和提供服务的新兴范例。与传统众包的区别在于,MCS要求众包工人实际移动到特定地点来收集和上传感知数据。在移动众包系统中,需要制定高效的工人招募机制,激励用户积极主动地参与感知,提供高质量服务。本文主要针对移动众包中多目标工人招募机制进行研究。多目标优化问题在移动众包中具
学位
如今,网络数据信息量的日益增多以及大数据技术的发展,给推荐系统带来了发展机遇与挑战,基于模型的协同过滤算法成为推荐系统中主流算法之一。基于模型的协同过滤算法主要通过机器学习和数据挖掘的思想来建模解决,其中,矩阵分解FunkSVD算法原理简单,效果好,将基于模型的协同过滤算法推到一个新高度。然而,面对大数据计算时,数据稀疏和迭代振荡往往会影响FunkSVD算法的准确率。并且,在数据量以GB以上为单位
学位
车载自组网是实现智能交通系统,提高道路安全和提升交通效率的重要手段之一。目前车辆通信的两种关键技术包括DSRC(Dedicated Short-Range Communication)和LTE(Long Term Evolution),基于IEEE 802.11p的DSRC经过了20年的深入研究,已经达到了足够的技术成熟度,但其性能的提升空间较为有限。LTE是相对较新的基于第三代合作伙伴计划(3G
学位
在技术中介化的日常生活中,“人-机混合的赛博格”已经成为新的社会现实。人与技术的界限很难区分,自然/人工、精神/身体、物质/非物质等许多过去适用于人/机器的区别变得极其不清晰;家庭、工作场所、公共场所和身体本身彼此之间分散和交互,公共/私人生活的边界日渐模糊;具有等级关系的传统二分法在意识形态上受到质疑。这种介于二者之间的、非此非彼的流动状态或过程,可称为“阈限现象”。在网络城市空间中,“阈限性”
学位
高桩码头因为构造简单、可承受较大荷载、对波浪的减弱效果好,并且适用于沿海地区分布较广的软土地基,在我国港口工程中已应用相当广泛。然而,在历次破坏性地震中,沿海港口地区由于工程地质条件原因,容易出现液化侧扩流现象,造成大量的高桩码头破坏。因此,针对液化侧扩流场地桩基的抗震研究已成为岩土抗震领域的一项关键问题,为了提高我国建筑物的抗震能力和减轻地震损失,有必要对该问题进行深入研究。本文以液化侧扩流场地
学位
混凝土耐久性研究在混凝土结构领域一直热点不断,硫酸盐侵蚀是影响混凝土的主要耐久性能因素之一,而荷载和碳化作用的影响也不容忽视。本课题组于2019年11月受邀加入国际材料与结构研究实验联合会RILEM TC 281-CCC WG4技术委员会,参与一项由中国建筑材料科学研究总院CBMA负责的研究荷载与碳化耦合作用下混凝土耐久性能的试验。该试验由国内和国际多个院校与组织同时进行,并定期召开国际会议,交流
学位
随着生活中的信息数据量不断增长,获取完整有效的数据变得至关重要。但是由于现实世界中的网络存在各种各样的权限设置以及网络中个体的隐私保护需求,大多数从现实世界中收集到的静态网络数据是信息缺失的。然而,在不完整的静态网络中,仅仅基于部分已知的节点和边来恢复缺失的节点和边是非常具有挑战性的。针对现有的工作中存在推理精度差,适用性差,对网络拓扑结构利用不足,以及计算复杂度大等局限性,本文提出了循环注意力机
学位