【摘 要】
:
将软件复用运用到软件自动演化中,可以达到节约开发、维护成本的目的。随着开源社区的快速发展,互联网中出现了海量的可复用的资源。学术界针对普遍存在的克隆代码,进行了一系列的实证分析。然而,学术界对跨项目克隆代码的演化情况,研究尚不充分。针对开源社区中已有的跨项目克隆代码展开实证研究,可以帮助研究人员理解开发人员在维护复用代码的现实需求和困难等,进而展开研究、开发工具以减轻开发人员的维护负担。此外,相关
论文部分内容阅读
将软件复用运用到软件自动演化中,可以达到节约开发、维护成本的目的。随着开源社区的快速发展,互联网中出现了海量的可复用的资源。学术界针对普遍存在的克隆代码,进行了一系列的实证分析。然而,学术界对跨项目克隆代码的演化情况,研究尚不充分。针对开源社区中已有的跨项目克隆代码展开实证研究,可以帮助研究人员理解开发人员在维护复用代码的现实需求和困难等,进而展开研究、开发工具以减轻开发人员的维护负担。此外,相关实证研究还可推动基于复用的软件自动演化的发展。因此,本文首先从软件托管平台Git Hub中收集了共4,413个Java软件项目,研究了其中所包含的跨项目克隆代码文件的演化情况,指出了维护这些拷贝的困难,并且讨论了可行的技术方案。本文发现,在自动更新拷贝的过程中,如果拷贝中已发生的适配修改与拟复用的修改之间存在文本、语义或者其它形式的冲突,开发人员的负担将会增加,而开发人员更新拷贝的积极性也会随之降低。因此,本文研究软件演化后的质量保证问题,从而达到促进软件自动演化的目的。分析拷贝的更新过程,我们可视其为现实开发活动中常见的软件分支合并过程,虽然学术界针对软件分支合并中的冲突及其消除,已经展开了广泛而深入的研究,但是研究成果却仍未被应用到现实开发活动中。为了保证演化后的质量以及促进软件的自动演化,本文进而研究软件演化过程中的冲突检测。根据针对跨项目克隆代码的演化情况的实证分析结果,本文以软件演化的质量为切入点,深入研究了以Git为代表的分布式版本控制系统,探索保证演化质量的最佳实践。除了显式地合并软件分支,对当前软件分支进行变基操作,也是引入其它修改到当前工作分支中的主要手段。然而此过程因为修改软件演化历史的特征,目前,研究人员尚未对真实的分支变基案例进行提取和分析。需要注意的是,直接提交修改到当前版本中,是最常见的演化方式,但也因为引入回归错误或者其它软件错误,而受到学术界和工业界的广泛重视。根据上述软件演化中的不同方式,为保证演化后的软件质量,本文进而:(1)提出了面向Git中所有的合并场景的测试预言和基于测试用例生成的合并冲突检测技术,构建了基准测试集并展开了有效性评估实验;(2)实证分析了Git中的分支变基中发生的冲突和冲突消除方法,发现了检测分支变基中的冲突所面临的新挑战,并根据实证分析结果,提出了确定错误修复提交的补充提交的方法;(3)提出了面向线性演化过程的演化冲突检测方法,能够自动地根据测试用例集的运行情况,将线性演化过程转变为分支合并的过程,另外提出了弱演化冲突检测算法和强演化冲突检测算法,以促进演化冲突检测在实际开发活动中的运用。概括地说,本文受跨项目克隆代码的演化所面临的困境的启发,研究了贯穿于整个演化过程(即分支合并、分支变基和线性演化)中可能发生的冲突,提出了更加实用的冲突检测技术以自动地保证软件演化后的质量,补充了现有只关注分支合并中的冲突的相关研究。在本文的研究过程中,已经收集的超过40万个跨项目演化克隆代码文件对、5万多个分支变基案例和构建的基准测试集MCon4J,可以助力其它研究人员展开更多的相关研究。另外,本文提出的补充提交识别工具Sup BCFinder,分支合并冲突检测工具TOM和演化历史重写工具j ECC,能够推动软件演化的相关研究继续发展,并在现实开发活动中发挥作用。
其他文献
光学测量是航天发射和试验场试验鉴定重要的外测手段,可为武器性能评估和特征事件分析提供外弹道、目标特性等重要数据。随着试验场试验任务种类的增加、新型武器对测试要求的提高、试验场光学测量设备能力的提升,试验场光测图像判读处理亟需提升处理效率和精细化水平,需要高效、高精度和高适用性的目标检测和判读算法以及高精度的解算方法支撑,构建高效率的分布式实时判读系统。本文主要针对试验场光测图像处理中的难点问题进行
非定常流动是流体力学研究及工程实际问题中常见的流动现象。高保真数值模拟非定常流动,分析其产生的空气动力是飞行器设计者主要关注的问题之一。传统的时域计算方法在复杂非定常流动问题数值模拟中存在计算效率低、时空离散精度不匹配等问题。因此,发展一种能够快速准确模拟非定常流场的高效、高精度算法,在非定常流动理论研究及工程应用上具有重要的意义和迫切的需求。谐波平衡法是近年来发展的一种高效频域计算方法,国内外研
边界层抽吸是一种传统而有效的流动控制方式,在超声速进气道中已经得到了广泛的应用,随着近年来高超声速飞行器技术的快速发展,对抽吸系统设计水平、工艺要求不断提高。本文针对边界层抽吸在高超声速进气道应用中涉及到的关键问题开展理论与数值模拟研究。高超声速进气道中存在复杂的激波/边界层、激波/激波干扰以及非稳态流动造成的喘振,这些现象极易诱导高超声速进气道不起动。通过在进气道不同位置,设计多孔组合抽吸布局溢
随着无线通信技术的飞速发展,新型通信网络和智能移动终端不断涌现,用户的通信服务需求迅猛增长。在现行静态僵化的频谱资源分配模式下,授权频段几乎被分配殆尽,频谱资源已经成为了一种稀缺资源,此外,较低的频谱资源利用率进一步加剧了匮乏的频谱资源与用户日益增长的用频需求之间的矛盾。认知无线电是一种建立在认知智能基础上的动态频谱资源配置技术,其Underlay模式具有频谱利用率高、共享方式灵活等优势,是高效利
超燃冲压发动机的研制面临诸多困难,液体燃料的喷注雾化和混合是关键难题之一。高质量的雾化和快速的掺混能够为点火提供良好的燃烧室环境,而目前的研究还处于相对基础的阶段,未能完全掌握液体燃料的喷雾特性。本文针对超声速来流中液体射流喷雾特性开展机理研究,在此基础上向凹腔燃烧室和高总温气流条件的喷雾特性研究进行拓展,同时依据高精度的数值模拟技术和综合的理论分析方法,对喷雾空间分布和雾化特性中的物理问题进行分
在超燃冲压发动机中,由于燃料和氧化剂都是高速流过燃烧室,因而在燃烧室内驻留时间极短。燃料和氧化剂的快速掺混可以减小燃烧室的长度,提高燃烧效率。在超声速中实现快速掺混的难度远大于在亚声速中,相对于不可压混合层,可压缩混合层厚度增长率随着压缩性的增大而被抑制。因此探寻有效的混合增强方法具有重要的实际意义。本文以超燃冲压发动机燃烧室中超声速空气与高速燃气的快速掺混为应用背景,运用纹影、基于纳米示踪粒子的
整体壳体类零件是航天产品的核心零件,其特征结构复杂,加工精度要求高。随着航天产品高强密度研制需求,航天产品壳体任务逐渐呈现出型号多、状态多、更改频繁、研制周期短、任务重、质量与可靠性要求高、研制和批产并存等特点,急需通过数字化、智能化制造手段改变制造模式。本文面向航天产品壳体生产线智能管控的需求,针对传统数字化生产线模式在应对航天产品壳体生产任务变动时的柔性和快速转换能力不足、无法实现生产线的精确
本文以碳氢燃料再生冷却式超燃冲压发动机工作过程为研究背景,以实验为主要研究手段,结合数值仿真方法,对气化RP-3航空煤油在超声速气流中的横向射流过程、凹腔内点火以及燃烧组织特性开展了系统研究。同时对比研究了气化煤油和常温液态煤油的差异,掌握了喷注温度、流动控制因素和非定常喷注影响下气化煤油在发动机内的详细工作特性。气化煤油横向射流伴随剧烈的相变过程,采用高速纹影和脉冲激光片光技术,获得了不同喷注温
雷达成像系统向待探测场景主动辐射电磁波,分析并记录场景中各区域反射雷达波强弱,形成能够反映探测场景物体分布情况的散射强度分布图。雷达波对环境依赖低,能够穿透烟雾、沙尘等介质,低频雷达波甚至能穿透墙体等建筑材料,实现对场景的穿透成像探测。因此,雷达成像系统在军民领域广泛应用。但受到阵列尺寸、阵元间距、系统复杂度等因素影响,雷达成像设备难以避免受到栅旁瓣等虚假目标影响。本文致力于增强雷达图像,抑制超宽
医学成像技术为现代医学提供了非侵入式的体内成像手段,稀土掺杂无机纳米颗粒优良的化学和光学性质使其有望成为一种全新的医学成像造影剂。稀土掺杂纳米颗粒优异的性质与其独特的核外电子排布和丰富的能级结构是分不开的。外侧5s~25p~6壳层中的电子对内侧4fn壳层中电子的保护使得稀土离子荧光具有较窄的光谱线宽,能够更好实现多色成像。4fn组态中较低的跃迁概率使得稀土离子具有较长的荧光寿命。通过设置适当的成像