【摘 要】
:
在软件生命周期的每个阶段都不可避免的引入bug。开发人员,测试人员和最终的系统用户都可以使用错误跟踪系统来提交bug,对于开发人员来说,查找和修复bug是软件生命周期中的重要过程。为了更好地做到自动定位和修复bug,我们需要去总结归纳不同类型的缺陷,现有的分类法大多数是原因驱动的,比如根据导致错误的原因进行分类。修复模式指在修复补丁中重复出现的抽象结构,错误修复模式是由语法驱动的,它与程序文本紧密
论文部分内容阅读
在软件生命周期的每个阶段都不可避免的引入bug。开发人员,测试人员和最终的系统用户都可以使用错误跟踪系统来提交bug,对于开发人员来说,查找和修复bug是软件生命周期中的重要过程。为了更好地做到自动定位和修复bug,我们需要去总结归纳不同类型的缺陷,现有的分类法大多数是原因驱动的,比如根据导致错误的原因进行分类。修复模式指在修复补丁中重复出现的抽象结构,错误修复模式是由语法驱动的,它与程序文本紧密相关,因此与根据原因驱动分类的缺陷类别相比,这些模式更加具体。定义合理的bug修复模式并识别bug存储库中的修复模式,可以帮助开发人员主动避免可能导致错误的编码模式。Sobreira等人分析了Defects4j数据集的补丁提出了了包含9组25个模式的修复模式分类,在此基础上Madeiral等人手动分析了Defects4j数据集的补丁,提出了一种自动检测bug修复模式的算法。本人在此基础上观察学习了9种修复模式的定义和大量相关实例,对每一种修复模式的流程仔细研究并给出了检测流程,创新性的将这些技术融合在一起设计实现了完备可用的基于抽象语法树的Bug修复模式检测系统,为高效的解决bug修复模式检测问题提供了新的思路和系统工具。系统可以检测bug的修复模式,用户提供bug源文件和修复补丁,系统会自动计算修复后的正确代码,从bug代码和补丁代码之间的差异中提取抽象语法树级别的编辑脚本来分析给定的代码。系统使用Spoon工具分析差异的抽象语法树节点来搜索模式实例。系统帮助用户自动识别bug修复模式,有助于用户对bug对缺陷类型和修复模式进行归类。通过系统检测,我们发现在Defects4J数据集中条件块模式是修补程序中最常见的修复模式,其次是包装模式和表达式修复模式。单行模式也非常普遍,目前有很多针对只修改了一行代码缺陷的自动修复方法,它们应该能比较好的ii解决单行模式的bug。另一方面,代码移动模式和常量修改模式在修复模式中不那么普遍,出现的次数很少。
其他文献
太赫兹技术作为最为瞩目的前沿技术之一,在国防、航天、医学、通信、食品、环境等领域具有广阔的应用前景。作为太赫兹系统的核心器件之一,太赫兹探测器的发展也面临着更多挑战和机遇。室温太赫兹探测器具有体积小,结构紧凑,成本低,可在室温下工作等优势,是目前太赫兹探测器的主要研究方向。微测辐射热计通过热敏材料的热效应将太赫兹辐射转化为热量来探测太赫兹波,是目前主流的室温太赫兹探测器,具有室温工作、宽频探测、实
新生儿黄疸在新生儿中是最常见的一种疾病,病情严重时会导致患儿脑部神经系统受损,受损后死亡率高达65%,即便治愈也会对患儿的神经系统造成永久性损伤。蓝光治疗是目前最常见也是最有效的治疗新生儿黄疸的医疗手段,但是过度照射会给患儿带来一定的副作用。现有蓝光治疗设备无法自动控制光照,增加了患儿受到蓝光损伤的风险。同时,治疗过程缺乏远程操控手段,不但增加了医护人员的工作量,而且使得医护人员更加频繁地暴露于蓝
随着电子商务的迅猛发展,国民对物流运输的需求飞速上升,物流相关企业如雨后春笋般涌现,如何降低物流运输成本成为物流行业发展的关键问题。近年来,一部分学者将前沿技术与物流规划问题相结合,衍生出了智慧物流这一研究领域。装箱和车辆路径规划问题是经典的NP-Hard问题,一直是物流运输领域研究的重点。在很多场景中,物流运输中需同时考虑装箱和车辆路径规划,并且通常有多种备选车型。因此带装箱约束的多车型车辆路径
随着深度神经网络技术的发展,基于领域文本数据集训练得到的深度神经网络模型逐渐应用到社会各个领域,用来解决各个领域中的实际问题。深度学习模型的构建需要大规模、高质量领域文本数据作为训练集。在实践中,领域文本获取成本高等原因会造成缺乏训练数据、样本分布不均衡等问题,并会导致深度学习模型的泛化能力较差。数据扩增是一种可以提高训练集大小的技术。目前,常用文本数据扩增技术处理文本数据时易影响体现文本领域特征
随着智能物联技术的快速发展,如何利用该技术消除人与空间、数据与决策之间的间隔,以及建立智慧、高效、安全、易用的空间预定与提升会议全流程体验成了企业人员的关注目标。本文致力于为全球企业打造会议生态系统,建立基于写字楼的房间设备控制系统,旨在让会议室更加智能,让写字楼办公人员使用更加高效便捷,同时也让系统管理员实时掌控会议室智能设备的运行情况,最终让整个公司团队可以真正专注于公司业务本身,提升办公效率
机器学习已成为信息技术的基石,许多机器学习算法已经进入具有严格要求的移动设备。机器学习算法硬件实现需要提高处理能力,从而来提高加速效果。本文研究对象为K最近邻算法,由于计算处理器的快速发展已使其逐渐接近功耗极限,但是需求却依然快速增长,芯片设计和制造的成本越来越高,在此背景下本文采用可重构架构对K最近邻算法进行硬件加速。本文围绕K最近邻算法的硬件加速,主要完成两方面工作:第一,利用可重构计算技术实
花生是我国重要的油料作物,年产量为全球第一,是我国“油料安全”的重要保障。花生收获的机械化、智能化能够有效提高花生的收获效率和收获品质。针对我国花生现有联合收获装备智能化水平低,从而导致的收获效率低、损失大和收获品质低等问题,本课题开展了其智能化监控系统的研制,以提高花生联合收获的收获效率和收获品质。本文的研究内容如下:1.根据花生联合收获装备的结构分析和智能化检测与控制需求,进行了监控系统的总体
随着当代信息科技的发展,各种人工智能的方法被应用于包括运营管理与医疗等各种领域的研究中。同时随着大数据技术与存储技术的发展,各类活动产生了大量相关数据,因此,对这些海量数据进行挖掘与分析的方法是个值得研究的方向。在实际中,很多病症的临床治疗需要同时用到大量的药物,但多数情况下多种药物共同作用或不良反应未知。以创伤性脑损伤为主要研究病症,梳理了国内外有关创伤性脑损伤病症的研究情况,采用了某医院创伤性
银行信用卡业务的办理中,对信用卡客户的身份识别认证保障了账户数据的安全。身份证识别和人脸比对是身份识别的关键步骤。旷视科技为招商银行信用卡中心提供的多个身份证识别和人脸比对算法的企业级解决方案,以API接口形式提供服务。需要对新版本新引入的算法和不同类型的算法进行验证和比较。对图片样本进行分类测试,对身份证识别和人脸比对算法通过多个指标进行验证和比较,帮助企业选择更好的算法产品为业务部门服务,为节